Home > @cerbos/core > Client > addOrUpdatePolicies
Add policies, or update existing policies.
Signature:
addOrUpdatePolicies(request: AddOrUpdatePoliciesRequest, options?: RequestOptions): Promise<void>;
Parameter |
Type |
Description |
---|---|---|
request | ||
options |
(Optional) |
Returns:
Promise<void>
Requires
-
the client to be configured with Options.adminCredentials,
-
the Cerbos policy decision point server to be configured with the admin API enabled, and
-
a dynamic storage backend.
Create a policy in code:
await cerbos.addOrUpdatePolicies({
policies: [{
resourcePolicy: {
resource: "document",
version: "1",
rules: [{
actions: ["*"],
effect: Effect.ALLOW,
roles: ["ADMIN"],
}],
},
}],
});
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")],
});
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 });