UNPKG

@cerbos/grpc

Version:

Client library for interacting with the Cerbos policy decision point service over gRPC from server-side Node.js applications

908 lines (826 loc) 23.3 kB
// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // source: cerbos/audit/v1/audit.proto /* eslint-disable */ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Timestamp } from "../../../google/protobuf/timestamp"; import { CheckInput, CheckOutput, PlanResourcesInput, PlanResourcesOutput, } from "../../engine/v1/engine"; import { SourceAttributes } from "../../policy/v1/policy"; export 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; } 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; } 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; } function createBaseAccessLogEntry(): AccessLogEntry { return { callId: "", timestamp: undefined, peer: undefined, metadata: {}, method: "", statusCode: 0, oversized: false, }; } export const AccessLogEntry: MessageFns<AccessLogEntry> = { encode( message: AccessLogEntry, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.callId !== "") { writer.uint32(10).string(message.callId); } if (message.timestamp !== undefined) { Timestamp.encode( toTimestamp(message.timestamp), writer.uint32(18).fork(), ).join(); } if (message.peer !== undefined) { Peer.encode(message.peer, writer.uint32(26).fork()).join(); } Object.entries(message.metadata).forEach(([key, value]) => { AccessLogEntry_MetadataEntry.encode( { key: key as any, value }, writer.uint32(34).fork(), ).join(); }); if (message.method !== "") { writer.uint32(42).string(message.method); } if (message.statusCode !== 0) { writer.uint32(48).uint32(message.statusCode); } if (message.oversized !== false) { writer.uint32(56).bool(message.oversized); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): AccessLogEntry { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAccessLogEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.callId = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.timestamp = fromTimestamp( Timestamp.decode(reader, reader.uint32()), ); continue; } case 3: { if (tag !== 26) { break; } message.peer = Peer.decode(reader, reader.uint32()); continue; } case 4: { if (tag !== 34) { break; } const entry4 = AccessLogEntry_MetadataEntry.decode( reader, reader.uint32(), ); if (entry4.value !== undefined) { message.metadata[entry4.key] = entry4.value; } continue; } case 5: { if (tag !== 42) { break; } message.method = reader.string(); continue; } case 6: { if (tag !== 48) { break; } message.statusCode = reader.uint32(); continue; } case 7: { if (tag !== 56) { break; } message.oversized = reader.bool(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseAccessLogEntry_MetadataEntry(): AccessLogEntry_MetadataEntry { return { key: "", value: undefined }; } export const AccessLogEntry_MetadataEntry: MessageFns<AccessLogEntry_MetadataEntry> = { encode( message: AccessLogEntry_MetadataEntry, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.value !== undefined) { MetaValues.encode(message.value, writer.uint32(18).fork()).join(); } return writer; }, decode( input: BinaryReader | Uint8Array, length?: number, ): AccessLogEntry_MetadataEntry { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAccessLogEntry_MetadataEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.key = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.value = MetaValues.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseDecisionLogEntry(): DecisionLogEntry { return { callId: "", timestamp: undefined, peer: undefined, inputs: [], outputs: [], error: "", method: undefined, metadata: {}, auditTrail: undefined, oversized: false, }; } export const DecisionLogEntry: MessageFns<DecisionLogEntry> = { encode( message: DecisionLogEntry, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.callId !== "") { writer.uint32(10).string(message.callId); } if (message.timestamp !== undefined) { Timestamp.encode( toTimestamp(message.timestamp), writer.uint32(18).fork(), ).join(); } if (message.peer !== undefined) { Peer.encode(message.peer, writer.uint32(26).fork()).join(); } for (const v of message.inputs) { CheckInput.encode(v!, writer.uint32(34).fork()).join(); } for (const v of message.outputs) { CheckOutput.encode(v!, writer.uint32(42).fork()).join(); } if (message.error !== "") { writer.uint32(50).string(message.error); } switch (message.method?.$case) { case "checkResources": DecisionLogEntry_CheckResources.encode( message.method.checkResources, writer.uint32(58).fork(), ).join(); break; case "planResources": DecisionLogEntry_PlanResources.encode( message.method.planResources, writer.uint32(66).fork(), ).join(); break; } Object.entries(message.metadata).forEach(([key, value]) => { DecisionLogEntry_MetadataEntry.encode( { key: key as any, value }, writer.uint32(122).fork(), ).join(); }); if (message.auditTrail !== undefined) { AuditTrail.encode(message.auditTrail, writer.uint32(130).fork()).join(); } if (message.oversized !== false) { writer.uint32(136).bool(message.oversized); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): DecisionLogEntry { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDecisionLogEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.callId = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.timestamp = fromTimestamp( Timestamp.decode(reader, reader.uint32()), ); continue; } case 3: { if (tag !== 26) { break; } message.peer = Peer.decode(reader, reader.uint32()); continue; } case 4: { if (tag !== 34) { break; } message.inputs.push(CheckInput.decode(reader, reader.uint32())); continue; } case 5: { if (tag !== 42) { break; } message.outputs.push(CheckOutput.decode(reader, reader.uint32())); continue; } case 6: { if (tag !== 50) { break; } message.error = reader.string(); continue; } case 7: { if (tag !== 58) { break; } message.method = { $case: "checkResources", checkResources: DecisionLogEntry_CheckResources.decode( reader, reader.uint32(), ), }; continue; } case 8: { if (tag !== 66) { break; } message.method = { $case: "planResources", planResources: DecisionLogEntry_PlanResources.decode( reader, reader.uint32(), ), }; continue; } case 15: { if (tag !== 122) { break; } const entry15 = DecisionLogEntry_MetadataEntry.decode( reader, reader.uint32(), ); if (entry15.value !== undefined) { message.metadata[entry15.key] = entry15.value; } continue; } case 16: { if (tag !== 130) { break; } message.auditTrail = AuditTrail.decode(reader, reader.uint32()); continue; } case 17: { if (tag !== 136) { break; } message.oversized = reader.bool(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseDecisionLogEntry_CheckResources(): DecisionLogEntry_CheckResources { return { inputs: [], outputs: [], error: "" }; } export const DecisionLogEntry_CheckResources: MessageFns<DecisionLogEntry_CheckResources> = { encode( message: DecisionLogEntry_CheckResources, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { for (const v of message.inputs) { CheckInput.encode(v!, writer.uint32(10).fork()).join(); } for (const v of message.outputs) { CheckOutput.encode(v!, writer.uint32(18).fork()).join(); } if (message.error !== "") { writer.uint32(26).string(message.error); } return writer; }, decode( input: BinaryReader | Uint8Array, length?: number, ): DecisionLogEntry_CheckResources { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDecisionLogEntry_CheckResources(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.inputs.push(CheckInput.decode(reader, reader.uint32())); continue; } case 2: { if (tag !== 18) { break; } message.outputs.push(CheckOutput.decode(reader, reader.uint32())); continue; } case 3: { if (tag !== 26) { break; } message.error = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseDecisionLogEntry_PlanResources(): DecisionLogEntry_PlanResources { return { input: undefined, output: undefined, error: "" }; } export const DecisionLogEntry_PlanResources: MessageFns<DecisionLogEntry_PlanResources> = { encode( message: DecisionLogEntry_PlanResources, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.input !== undefined) { PlanResourcesInput.encode( message.input, writer.uint32(10).fork(), ).join(); } if (message.output !== undefined) { PlanResourcesOutput.encode( message.output, writer.uint32(18).fork(), ).join(); } if (message.error !== "") { writer.uint32(26).string(message.error); } return writer; }, decode( input: BinaryReader | Uint8Array, length?: number, ): DecisionLogEntry_PlanResources { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDecisionLogEntry_PlanResources(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.input = PlanResourcesInput.decode(reader, reader.uint32()); continue; } case 2: { if (tag !== 18) { break; } message.output = PlanResourcesOutput.decode( reader, reader.uint32(), ); continue; } case 3: { if (tag !== 26) { break; } message.error = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseDecisionLogEntry_MetadataEntry(): DecisionLogEntry_MetadataEntry { return { key: "", value: undefined }; } export const DecisionLogEntry_MetadataEntry: MessageFns<DecisionLogEntry_MetadataEntry> = { encode( message: DecisionLogEntry_MetadataEntry, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.value !== undefined) { MetaValues.encode(message.value, writer.uint32(18).fork()).join(); } return writer; }, decode( input: BinaryReader | Uint8Array, length?: number, ): DecisionLogEntry_MetadataEntry { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDecisionLogEntry_MetadataEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.key = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.value = MetaValues.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseMetaValues(): MetaValues { return { values: [] }; } export const MetaValues: MessageFns<MetaValues> = { encode( message: MetaValues, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { for (const v of message.values) { writer.uint32(10).string(v!); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): MetaValues { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMetaValues(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.values.push(reader.string()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBasePeer(): Peer { return { address: "", authInfo: "", userAgent: "", forwardedFor: "" }; } export const Peer: MessageFns<Peer> = { encode( message: Peer, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.address !== "") { writer.uint32(10).string(message.address); } if (message.authInfo !== "") { writer.uint32(18).string(message.authInfo); } if (message.userAgent !== "") { writer.uint32(26).string(message.userAgent); } if (message.forwardedFor !== "") { writer.uint32(34).string(message.forwardedFor); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): Peer { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBasePeer(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.address = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.authInfo = reader.string(); continue; } case 3: { if (tag !== 26) { break; } message.userAgent = reader.string(); continue; } case 4: { if (tag !== 34) { break; } message.forwardedFor = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseAuditTrail(): AuditTrail { return { effectivePolicies: {} }; } export const AuditTrail: MessageFns<AuditTrail> = { encode( message: AuditTrail, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { Object.entries(message.effectivePolicies).forEach(([key, value]) => { AuditTrail_EffectivePoliciesEntry.encode( { key: key as any, value }, writer.uint32(10).fork(), ).join(); }); return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): AuditTrail { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAuditTrail(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } const entry1 = AuditTrail_EffectivePoliciesEntry.decode( reader, reader.uint32(), ); if (entry1.value !== undefined) { message.effectivePolicies[entry1.key] = entry1.value; } continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function createBaseAuditTrail_EffectivePoliciesEntry(): AuditTrail_EffectivePoliciesEntry { return { key: "", value: undefined }; } export const AuditTrail_EffectivePoliciesEntry: MessageFns<AuditTrail_EffectivePoliciesEntry> = { encode( message: AuditTrail_EffectivePoliciesEntry, writer: BinaryWriter = new BinaryWriter(), ): BinaryWriter { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.value !== undefined) { SourceAttributes.encode(message.value, writer.uint32(18).fork()).join(); } return writer; }, decode( input: BinaryReader | Uint8Array, length?: number, ): AuditTrail_EffectivePoliciesEntry { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAuditTrail_EffectivePoliciesEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.key = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.value = SourceAttributes.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, }; function toTimestamp(date: Date): Timestamp { const seconds = Math.trunc(date.getTime() / 1_000).toString(); const nanos = (date.getTime() % 1_000) * 1_000_000; return { seconds, nanos }; } function fromTimestamp(t: Timestamp): Date { let millis = (globalThis.Number(t.seconds) || 0) * 1_000; millis += (t.nanos || 0) / 1_000_000; return new globalThis.Date(millis); } export interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; }