Skip to content

Latest commit

 

History

History
123 lines (70 loc) · 2.1 KB

core.client.addorupdatepolicies.md

File metadata and controls

123 lines (70 loc) · 2.1 KB

Home > @cerbos/core > Client > addOrUpdatePolicies

Client.addOrUpdatePolicies() method

Add policies, or update existing policies.

Signature:

addOrUpdatePolicies(request: AddOrUpdatePoliciesRequest, options?: RequestOptions): Promise<void>;

Parameters

Parameter

Type

Description

request

AddOrUpdatePoliciesRequest

options

RequestOptions

(Optional)

Returns:

Promise<void>

Remarks

Requires

Example 1

Create a policy in code:

await cerbos.addOrUpdatePolicies({
  policies: [{
    resourcePolicy: {
      resource: "document",
      version: "1",
      rules: [{
        actions: ["*"],
        effect: Effect.ALLOW,
        roles: ["ADMIN"],
      }],
    },
  }],
});

Example 2

Load a policy from a YAML or JSON file with readPolicy():

import { readPolicy } from "@cerbos/files";

await cerbos.addOrUpdatePolicies({
  policies: [await readPolicy("path/to/policy.yaml")],
});

Example 3

Load policies and schemas from a directory with readDirectory():

import { readDirectory } from "@cerbos/files";

const { policies, schemas } = await readDirectory("path/to/directory");

await cerbos.addOrUpdateSchemas({ schemas });
await cerbos.addOrUpdatePolicies({ policies });