@cerbos/grpc
Version:
Client library for interacting with the Cerbos policy decision point service over gRPC from server-side Node.js applications
161 lines • 5.13 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { CheckInput, CheckOutput, PlanResourcesInput, PlanResourcesOutput } from "../../engine/v1/engine";
import { SourceAttributes } from "../../policy/v1/policy";
export declare const protobufPackage = "cerbos.audit.v1";
export interface AccessLogEntry {
callId: string;
timestamp: Date | undefined;
peer: Peer | undefined;
metadata: {
[key: string]: MetaValues;
};
method: string;
statusCode: number;
oversized: boolean;
policySource: PolicySource | undefined;
}
export interface AccessLogEntry_MetadataEntry {
key: string;
value: MetaValues | undefined;
}
export interface DecisionLogEntry {
callId: string;
timestamp: Date | undefined;
peer: Peer | undefined;
inputs: CheckInput[];
outputs: CheckOutput[];
error: string;
method?: {
$case: "checkResources";
checkResources: DecisionLogEntry_CheckResources;
} | {
$case: "planResources";
planResources: DecisionLogEntry_PlanResources;
} | undefined;
metadata: {
[key: string]: MetaValues;
};
auditTrail: AuditTrail | undefined;
oversized: boolean;
policySource: PolicySource | undefined;
}
export interface DecisionLogEntry_CheckResources {
inputs: CheckInput[];
outputs: CheckOutput[];
error: string;
}
export interface DecisionLogEntry_PlanResources {
input: PlanResourcesInput | undefined;
output: PlanResourcesOutput | undefined;
error: string;
}
export interface DecisionLogEntry_MetadataEntry {
key: string;
value: MetaValues | undefined;
}
export interface MetaValues {
values: string[];
}
export interface Peer {
address: string;
authInfo: string;
userAgent: string;
forwardedFor: string;
}
export interface AuditTrail {
effectivePolicies: {
[key: string]: SourceAttributes;
};
}
export interface AuditTrail_EffectivePoliciesEntry {
key: string;
value: SourceAttributes | undefined;
}
export interface PolicySource {
source?: {
$case: "blob";
blob: PolicySource_Blob;
} | {
$case: "database";
database: PolicySource_Database;
} | {
$case: "disk";
disk: PolicySource_Disk;
} | {
$case: "git";
git: PolicySource_Git;
} | {
$case: "hub";
hub: PolicySource_Hub;
} | {
$case: "embeddedPdp";
embeddedPdp: PolicySource_EmbeddedPDP;
} | undefined;
}
export interface PolicySource_Blob {
bucketUrl: string;
prefix: string;
}
export interface PolicySource_Database {
driver: PolicySource_Database_Driver;
}
export declare enum PolicySource_Database_Driver {
DRIVER_UNSPECIFIED = 0,
DRIVER_MYSQL = 1,
DRIVER_POSTGRES = 2,
DRIVER_SQLITE3 = 3
}
export interface PolicySource_Disk {
directory: string;
}
export interface PolicySource_EmbeddedPDP {
url: string;
commitHash: string;
builtAt: Date | undefined;
}
export interface PolicySource_Git {
repositoryUrl: string;
branch: string;
subdirectory: string;
}
export interface PolicySource_Hub {
source?: {
$case: "label";
label: string;
} | {
$case: "deploymentId";
deploymentId: string;
} | {
$case: "playgroundId";
playgroundId: string;
} | {
$case: "localBundle";
localBundle: PolicySource_Hub_LocalBundle;
} | undefined;
}
export interface PolicySource_Hub_LocalBundle {
path: string;
}
export declare const AccessLogEntry: MessageFns<AccessLogEntry>;
export declare const AccessLogEntry_MetadataEntry: MessageFns<AccessLogEntry_MetadataEntry>;
export declare const DecisionLogEntry: MessageFns<DecisionLogEntry>;
export declare const DecisionLogEntry_CheckResources: MessageFns<DecisionLogEntry_CheckResources>;
export declare const DecisionLogEntry_PlanResources: MessageFns<DecisionLogEntry_PlanResources>;
export declare const DecisionLogEntry_MetadataEntry: MessageFns<DecisionLogEntry_MetadataEntry>;
export declare const MetaValues: MessageFns<MetaValues>;
export declare const Peer: MessageFns<Peer>;
export declare const AuditTrail: MessageFns<AuditTrail>;
export declare const AuditTrail_EffectivePoliciesEntry: MessageFns<AuditTrail_EffectivePoliciesEntry>;
export declare const PolicySource: MessageFns<PolicySource>;
export declare const PolicySource_Blob: MessageFns<PolicySource_Blob>;
export declare const PolicySource_Database: MessageFns<PolicySource_Database>;
export declare const PolicySource_Disk: MessageFns<PolicySource_Disk>;
export declare const PolicySource_EmbeddedPDP: MessageFns<PolicySource_EmbeddedPDP>;
export declare const PolicySource_Git: MessageFns<PolicySource_Git>;
export declare const PolicySource_Hub: MessageFns<PolicySource_Hub>;
export declare const PolicySource_Hub_LocalBundle: MessageFns<PolicySource_Hub_LocalBundle>;
export interface MessageFns<T> {
encode(message: T, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): T;
}
//# sourceMappingURL=audit.d.ts.map