@cerbos/core
Version:
Common types used by the Cerbos client libraries
134 lines • 3.34 kB
TypeScript
import type { Effect } from "../../effect/v1/effect";
import type { ValidationError } from "../../schema/v1/schema";
export declare const protobufPackage = "cerbos.engine.v1";
export interface PlanResourcesInput {
requestId: string;
action: string;
actions: string[];
principal: Principal | undefined;
resource: PlanResourcesInput_Resource | undefined;
auxData: AuxData | undefined;
includeMeta: boolean;
}
export interface PlanResourcesInput_Resource {
kind: string;
attr: {
[key: string]: any | undefined;
};
policyVersion: string;
scope: string;
}
export interface PlanResourcesInput_Resource_AttrEntry {
key: string;
value: any | undefined;
}
export interface PlanResourcesFilter {
kind: PlanResourcesFilter_Kind;
condition: PlanResourcesFilter_Expression_Operand | undefined;
}
export declare enum PlanResourcesFilter_Kind {
KIND_UNSPECIFIED = 0,
KIND_ALWAYS_ALLOWED = 1,
KIND_ALWAYS_DENIED = 2,
KIND_CONDITIONAL = 3
}
export interface PlanResourcesFilter_Expression {
operator: string;
operands: PlanResourcesFilter_Expression_Operand[];
}
export interface PlanResourcesFilter_Expression_Operand {
node?: {
$case: "value";
value: any | undefined;
} | {
$case: "expression";
expression: PlanResourcesFilter_Expression;
} | {
$case: "variable";
variable: string;
} | undefined;
}
export interface PlanResourcesOutput {
requestId: string;
action: string;
kind: string;
policyVersion: string;
scope: string;
filter: PlanResourcesFilter | undefined;
filterDebug: string;
validationErrors: ValidationError[];
actions: string[];
matchedScopes: {
[key: string]: string;
};
}
export interface PlanResourcesOutput_MatchedScopesEntry {
key: string;
value: string;
}
export interface CheckInput {
requestId: string;
resource: Resource | undefined;
principal: Principal | undefined;
actions: string[];
auxData: AuxData | undefined;
}
export interface CheckOutput {
requestId: string;
resourceId: string;
actions: {
[key: string]: CheckOutput_ActionEffect;
};
effectiveDerivedRoles: string[];
validationErrors: ValidationError[];
outputs: OutputEntry[];
}
export interface CheckOutput_ActionEffect {
effect: Effect;
policy: string;
scope: string;
}
export interface CheckOutput_ActionsEntry {
key: string;
value: CheckOutput_ActionEffect | undefined;
}
export interface OutputEntry {
src: string;
val: any | undefined;
}
export interface Resource {
kind: string;
policyVersion: string;
id: string;
attr: {
[key: string]: any | undefined;
};
scope: string;
}
export interface Resource_AttrEntry {
key: string;
value: any | undefined;
}
export interface Principal {
id: string;
policyVersion: string;
roles: string[];
attr: {
[key: string]: any | undefined;
};
scope: string;
}
export interface Principal_AttrEntry {
key: string;
value: any | undefined;
}
export interface AuxData {
jwt: {
[key: string]: any | undefined;
};
}
export interface AuxData_JwtEntry {
key: string;
value: any | undefined;
}
//# sourceMappingURL=engine.d.ts.map