diff --git a/docs/grpc/index.html b/docs/grpc/index.html
index 59d66dd0b4..6a6ca26557 100644
--- a/docs/grpc/index.html
+++ b/docs/grpc/index.html
@@ -261,6 +261,18 @@
Table of Contents
MNamespace
+
+ MObligation
+
+
+
+ MObligationTrigger
+
+
+
+ MObligationValue
+
+
MPrivateKeyCtx
@@ -1396,6 +1408,133 @@ Table of Contents
+
+ policy/obligations/obligations.proto
+
+
+
+
policy/registeredresources/registered_resources.proto
@@ -2711,6 +2850,155 @@ Namespace
+ Obligation
+
+
+
+
+
+
+
+
+
+ ObligationTrigger
+
+
+
+
+
+
+
+
+
+ ObligationValue
+
+
+
+
+
+
+
+
+
PrivateKeyCtx
@@ -11861,6 +12149,1007 @@ Methods with idempotency_level option
+
+
policy/obligations/obligations.proto
Top
+
+
+
+
+ AddObligationTriggerRequest
+ Triggers
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ obligation_value_id |
+ string |
+ |
+ Required |
+
+
+
+ action_id |
+ string |
+ |
+ |
+
+
+
+ attribute_value_id |
+ string |
+ |
+ |
+
+
+
+ metadata |
+ common.MetadataMutable |
+ |
+ Optional
+Common metadata |
+
+
+
+
+
+
+
+
+
+ AddObligationTriggerResponse
+
+
+
+
+
+
+
+
+
+ CreateObligationRequest
+
+
+
+
+
+
+
+
+
+ CreateObligationResponse
+
+
+
+
+
+
+
+
+
+ CreateObligationValueRequest
+
+
+
+
+
+
+
+
+
+ CreateObligationValueResponse
+
+
+
+
+
+
+
+
+
+ DeleteObligationRequest
+
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ id |
+ string |
+ |
+ |
+
+
+
+ fqn |
+ string |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ DeleteObligationResponse
+
+
+
+
+
+
+
+
+
+ DeleteObligationValueRequest
+
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ id |
+ string |
+ |
+ |
+
+
+
+ fqn |
+ string |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ DeleteObligationValueResponse
+
+
+
+
+
+
+
+
+
+ GetObligationRequest
+ Definitions
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ id |
+ string |
+ |
+ |
+
+
+
+ fqn |
+ string |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ GetObligationResponse
+
+
+
+
+
+
+
+
+
+ GetObligationValueRequest
+ Values
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ id |
+ string |
+ |
+ |
+
+
+
+ fqn |
+ string |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ GetObligationValueResponse
+
+
+
+
+
+
+
+
+
+ GetObligationValuesByFQNsRequest
+
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ fqns |
+ string |
+ repeated |
+ |
+
+
+
+
+
+
+
+
+
+ GetObligationValuesByFQNsResponse
+
+
+
+
+
+
+
+
+
+ GetObligationValuesByFQNsResponse.FqnValueMapEntry
+
+
+
+
+
+
+
+
+
+ GetObligationsByFQNsRequest
+
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ fqns |
+ string |
+ repeated |
+ |
+
+
+
+
+
+
+
+
+
+ GetObligationsByFQNsResponse
+
+
+
+
+
+
+
+
+
+ GetObligationsByFQNsResponse.FqnObligationMapEntry
+
+
+
+
+
+
+
+
+
+ ListObligationsRequest
+
+
+
+
+
+
+
+
+
+ ListObligationsResponse
+
+
+
+
+
+
+
+
+
+ RemoveObligationTriggerRequest
+
+
+
+
+
+ Field | Type | Label | Description |
+
+
+
+
+ id |
+ string |
+ |
+ |
+
+
+
+
+
+
+
+
+
+ RemoveObligationTriggerResponse
+
+
+
+
+
+
+
+
+
+ UpdateObligationRequest
+
+
+
+
+
+
+
+
+
+ UpdateObligationResponse
+
+
+
+
+
+
+
+
+
+ UpdateObligationValueRequest
+
+
+
+
+
+
+
+
+
+ UpdateObligationValueResponse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Service
+ Obligation Service
/
+
+
+
+
+
+ Methods with idempotency_level option
+
+
+
+ Method Name |
+ Option |
+
+
+
+
+
+ ListObligations |
+ NO_SIDE_EFFECTS |
+
+
+
+ GetObligation |
+ NO_SIDE_EFFECTS |
+
+
+
+ GetObligationsByFQNs |
+ NO_SIDE_EFFECTS |
+
+
+
+ GetObligationValue |
+ NO_SIDE_EFFECTS |
+
+
+
+ GetObligationValuesByFQNs |
+ NO_SIDE_EFFECTS |
+
+
+
+
+
+
+
+
policy/registeredresources/registered_resources.proto
Top
diff --git a/docs/openapi/policy/objects.openapi.yaml b/docs/openapi/policy/objects.openapi.yaml
index d45d5c5538..50421ac321 100644
--- a/docs/openapi/policy/objects.openapi.yaml
+++ b/docs/openapi/policy/objects.openapi.yaml
@@ -577,6 +577,65 @@ components:
description: Keys for the namespace
title: Namespace
additionalProperties: false
+ policy.Obligation:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ namespace:
+ title: namespace
+ $ref: '#/components/schemas/policy.Namespace'
+ name:
+ type: string
+ title: name
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: values
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: Obligation
+ additionalProperties: false
+ policy.ObligationTrigger:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ obligationValue:
+ title: obligation_value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ action:
+ title: action
+ $ref: '#/components/schemas/policy.Action'
+ attributeValue:
+ title: attribute_value
+ $ref: '#/components/schemas/policy.Value'
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: ObligationTrigger
+ additionalProperties: false
+ policy.ObligationValue:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ obligation:
+ title: obligation
+ $ref: '#/components/schemas/policy.Obligation'
+ value:
+ type: string
+ title: value
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: ObligationValue
+ additionalProperties: false
policy.PrivateKeyCtx:
type: object
properties:
diff --git a/docs/openapi/policy/obligations/obligations.openapi.yaml b/docs/openapi/policy/obligations/obligations.openapi.yaml
new file mode 100644
index 0000000000..f8eb4a0ba5
--- /dev/null
+++ b/docs/openapi/policy/obligations/obligations.openapi.yaml
@@ -0,0 +1,1720 @@
+openapi: 3.1.0
+info:
+ title: policy.obligations
+paths:
+ /policy.obligations.Service/ListObligations:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: ListObligations
+ operationId: policy.obligations.Service.ListObligations
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.ListObligationsRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.ListObligationsResponse'
+ /policy.obligations.Service/GetObligation:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: GetObligation
+ operationId: policy.obligations.Service.GetObligation
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationResponse'
+ /policy.obligations.Service/GetObligationsByFQNs:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: GetObligationsByFQNs
+ operationId: policy.obligations.Service.GetObligationsByFQNs
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationsByFQNsRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationsByFQNsResponse'
+ /policy.obligations.Service/CreateObligation:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: CreateObligation
+ operationId: policy.obligations.Service.CreateObligation
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.CreateObligationRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.CreateObligationResponse'
+ /policy.obligations.Service/UpdateObligation:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: UpdateObligation
+ operationId: policy.obligations.Service.UpdateObligation
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.UpdateObligationRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.UpdateObligationResponse'
+ /policy.obligations.Service/DeleteObligation:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: DeleteObligation
+ operationId: policy.obligations.Service.DeleteObligation
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.DeleteObligationRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.DeleteObligationResponse'
+ /policy.obligations.Service/GetObligationValue:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: GetObligationValue
+ operationId: policy.obligations.Service.GetObligationValue
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationValueRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationValueResponse'
+ /policy.obligations.Service/GetObligationValuesByFQNs:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: GetObligationValuesByFQNs
+ operationId: policy.obligations.Service.GetObligationValuesByFQNs
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationValuesByFQNsRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.GetObligationValuesByFQNsResponse'
+ /policy.obligations.Service/CreateObligationValue:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: CreateObligationValue
+ operationId: policy.obligations.Service.CreateObligationValue
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.CreateObligationValueRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.CreateObligationValueResponse'
+ /policy.obligations.Service/UpdateObligationValue:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: UpdateObligationValue
+ operationId: policy.obligations.Service.UpdateObligationValue
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.UpdateObligationValueRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.UpdateObligationValueResponse'
+ /policy.obligations.Service/DeleteObligationValue:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: DeleteObligationValue
+ operationId: policy.obligations.Service.DeleteObligationValue
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.DeleteObligationValueRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.DeleteObligationValueResponse'
+ /policy.obligations.Service/AddObligationTrigger:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: AddObligationTrigger
+ operationId: policy.obligations.Service.AddObligationTrigger
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.AddObligationTriggerRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.AddObligationTriggerResponse'
+ /policy.obligations.Service/RemoveObligationTrigger:
+ post:
+ tags:
+ - policy.obligations.Service
+ summary: RemoveObligationTrigger
+ operationId: policy.obligations.Service.RemoveObligationTrigger
+ parameters:
+ - name: Connect-Protocol-Version
+ in: header
+ required: true
+ schema:
+ $ref: '#/components/schemas/connect-protocol-version'
+ - name: Connect-Timeout-Ms
+ in: header
+ schema:
+ $ref: '#/components/schemas/connect-timeout-header'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.RemoveObligationTriggerRequest'
+ required: true
+ responses:
+ default:
+ description: Error
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/connect.error'
+ "200":
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/policy.obligations.RemoveObligationTriggerResponse'
+components:
+ schemas:
+ common.MetadataUpdateEnum:
+ type: string
+ title: MetadataUpdateEnum
+ enum:
+ - METADATA_UPDATE_ENUM_UNSPECIFIED
+ - METADATA_UPDATE_ENUM_EXTEND
+ - METADATA_UPDATE_ENUM_REPLACE
+ policy.Action.StandardAction:
+ type: string
+ title: StandardAction
+ enum:
+ - STANDARD_ACTION_UNSPECIFIED
+ - STANDARD_ACTION_DECRYPT
+ - STANDARD_ACTION_TRANSMIT
+ policy.Algorithm:
+ type: string
+ title: Algorithm
+ enum:
+ - ALGORITHM_UNSPECIFIED
+ - ALGORITHM_RSA_2048
+ - ALGORITHM_RSA_4096
+ - ALGORITHM_EC_P256
+ - ALGORITHM_EC_P384
+ - ALGORITHM_EC_P521
+ description: Supported key algorithms.
+ policy.AttributeRuleTypeEnum:
+ type: string
+ title: AttributeRuleTypeEnum
+ enum:
+ - ATTRIBUTE_RULE_TYPE_ENUM_UNSPECIFIED
+ - ATTRIBUTE_RULE_TYPE_ENUM_ALL_OF
+ - ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF
+ - ATTRIBUTE_RULE_TYPE_ENUM_HIERARCHY
+ policy.ConditionBooleanTypeEnum:
+ type: string
+ title: ConditionBooleanTypeEnum
+ enum:
+ - CONDITION_BOOLEAN_TYPE_ENUM_UNSPECIFIED
+ - CONDITION_BOOLEAN_TYPE_ENUM_AND
+ - CONDITION_BOOLEAN_TYPE_ENUM_OR
+ policy.KasPublicKeyAlgEnum:
+ type: string
+ title: KasPublicKeyAlgEnum
+ enum:
+ - KAS_PUBLIC_KEY_ALG_ENUM_UNSPECIFIED
+ - KAS_PUBLIC_KEY_ALG_ENUM_RSA_2048
+ - KAS_PUBLIC_KEY_ALG_ENUM_RSA_4096
+ - KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP256R1
+ - KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP384R1
+ - KAS_PUBLIC_KEY_ALG_ENUM_EC_SECP521R1
+ policy.SourceType:
+ type: string
+ title: SourceType
+ enum:
+ - SOURCE_TYPE_UNSPECIFIED
+ - SOURCE_TYPE_INTERNAL
+ - SOURCE_TYPE_EXTERNAL
+ description: |-
+ Describes whether this kas is managed by the organization or if they imported
+ the kas information from an external party. These two modes are necessary in order
+ to encrypt a tdf dek with an external parties kas public key.
+ policy.SubjectMappingOperatorEnum:
+ type: string
+ title: SubjectMappingOperatorEnum
+ enum:
+ - SUBJECT_MAPPING_OPERATOR_ENUM_UNSPECIFIED
+ - SUBJECT_MAPPING_OPERATOR_ENUM_IN
+ - SUBJECT_MAPPING_OPERATOR_ENUM_NOT_IN
+ - SUBJECT_MAPPING_OPERATOR_ENUM_IN_CONTAINS
+ common.Metadata:
+ type: object
+ properties:
+ createdAt:
+ title: created_at
+ description: created_at set by server (entity who created will recorded in an audit event)
+ $ref: '#/components/schemas/google.protobuf.Timestamp'
+ updatedAt:
+ title: updated_at
+ description: updated_at set by server (entity who updated will recorded in an audit event)
+ $ref: '#/components/schemas/google.protobuf.Timestamp'
+ labels:
+ type: object
+ title: labels
+ additionalProperties:
+ type: string
+ title: value
+ description: optional short description
+ title: Metadata
+ additionalProperties: false
+ description: Struct to uniquely identify a resource with optional additional metadata
+ common.Metadata.LabelsEntry:
+ type: object
+ properties:
+ key:
+ type: string
+ title: key
+ value:
+ type: string
+ title: value
+ title: LabelsEntry
+ additionalProperties: false
+ common.MetadataMutable:
+ type: object
+ properties:
+ labels:
+ type: object
+ title: labels
+ additionalProperties:
+ type: string
+ title: value
+ description: optional labels
+ title: MetadataMutable
+ additionalProperties: false
+ common.MetadataMutable.LabelsEntry:
+ type: object
+ properties:
+ key:
+ type: string
+ title: key
+ value:
+ type: string
+ title: value
+ title: LabelsEntry
+ additionalProperties: false
+ google.protobuf.BoolValue:
+ type: boolean
+ description: |-
+ Wrapper message for `bool`.
+
+ The JSON representation for `BoolValue` is JSON `true` and `false`.
+ google.protobuf.Timestamp:
+ type: string
+ examples:
+ - 1s
+ - 1.000340012s
+ format: date-time
+ description: |-
+ A Timestamp represents a point in time independent of any time zone or local
+ calendar, encoded as a count of seconds and fractions of seconds at
+ nanosecond resolution. The count is relative to an epoch at UTC midnight on
+ January 1, 1970, in the proleptic Gregorian calendar which extends the
+ Gregorian calendar backwards to year one.
+
+ All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+ second table is needed for interpretation, using a [24-hour linear
+ smear](https://developers.google.com/time/smear).
+
+ The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+ restricting to that range, we ensure that we can convert to and from [RFC
+ 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+
+ # Examples
+
+ Example 1: Compute Timestamp from POSIX `time()`.
+
+ Timestamp timestamp;
+ timestamp.set_seconds(time(NULL));
+ timestamp.set_nanos(0);
+
+ Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+
+ Timestamp timestamp;
+ timestamp.set_seconds(tv.tv_sec);
+ timestamp.set_nanos(tv.tv_usec * 1000);
+
+ Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+
+ FILETIME ft;
+ GetSystemTimeAsFileTime(&ft);
+ UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+
+ // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+ // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+ Timestamp timestamp;
+ timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+ timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+
+ Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+
+ long millis = System.currentTimeMillis();
+
+ Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+ .setNanos((int) ((millis % 1000) * 1000000)).build();
+
+ Example 5: Compute Timestamp from Java `Instant.now()`.
+
+ Instant now = Instant.now();
+
+ Timestamp timestamp =
+ Timestamp.newBuilder().setSeconds(now.getEpochSecond())
+ .setNanos(now.getNano()).build();
+
+ Example 6: Compute Timestamp from current time in Python.
+
+ timestamp = Timestamp()
+ timestamp.GetCurrentTime()
+
+ # JSON Mapping
+
+ In JSON format, the Timestamp type is encoded as a string in the
+ [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
+ format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
+ where {year} is always expressed using four digits while {month}, {day},
+ {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
+ seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
+ are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
+ is required. A proto3 JSON serializer should always use UTC (as indicated by
+ "Z") when printing the Timestamp type and a proto3 JSON parser should be
+ able to accept both UTC and other timezones (as indicated by an offset).
+
+ For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
+ 01:30 UTC on January 15, 2017.
+
+ In JavaScript, one can convert a Date object to this format using the
+ standard
+ [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
+ method. In Python, a standard `datetime.datetime` object can be converted
+ to this format using
+ [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
+ the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
+ the Joda Time's [`ISODateTimeFormat.dateTime()`](
+ http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
+ ) to obtain a formatter capable of generating timestamps in this format.
+ policy.Action:
+ type: object
+ oneOf:
+ - properties:
+ custom:
+ type: string
+ title: custom
+ description: Deprecated
+ title: custom
+ required:
+ - custom
+ - properties:
+ standard:
+ title: standard
+ description: Deprecated
+ $ref: '#/components/schemas/policy.Action.StandardAction'
+ title: standard
+ required:
+ - standard
+ properties:
+ id:
+ type: string
+ title: id
+ description: Generated uuid in database
+ name:
+ type: string
+ title: name
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: Action
+ additionalProperties: false
+ description: An action an entity can take
+ policy.Attribute:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ namespace:
+ title: namespace
+ description: namespace of the attribute
+ $ref: '#/components/schemas/policy.Namespace'
+ name:
+ type: string
+ title: name
+ description: attribute name
+ rule:
+ title: rule
+ description: attribute rule enum
+ $ref: '#/components/schemas/policy.AttributeRuleTypeEnum'
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.Value'
+ title: values
+ grants:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.KeyAccessServer'
+ title: grants
+ description: Deprecated KAS grants for the attribute. Use kas_keys instead.
+ fqn:
+ type: string
+ title: fqn
+ active:
+ title: active
+ description: active by default until explicitly deactivated
+ $ref: '#/components/schemas/google.protobuf.BoolValue'
+ kasKeys:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.SimpleKasKey'
+ title: kas_keys
+ description: Keys associated with the attribute
+ metadata:
+ title: metadata
+ description: Common metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: Attribute
+ required:
+ - rule
+ additionalProperties: false
+ policy.Condition:
+ type: object
+ properties:
+ subjectExternalSelectorValue:
+ type: string
+ title: subject_external_selector_value
+ description: |-
+ a selector for a field value on a flattened Entity Representation (such as
+ from idP/LDAP)
+ operator:
+ title: operator
+ description: the evaluation operator of relation
+ $ref: '#/components/schemas/policy.SubjectMappingOperatorEnum'
+ subjectExternalValues:
+ type: array
+ items:
+ type: string
+ minItems: 1
+ title: subject_external_values
+ minItems: 1
+ description: |-
+ list of comparison values for the result of applying the
+ subject_external_selector_value on a flattened Entity Representation
+ (Subject), evaluated by the operator
+ title: Condition
+ required:
+ - subjectExternalSelectorValue
+ - operator
+ additionalProperties: false
+ description: |-
+ *
+ A Condition defines a rule of
+ policy.ConditionGroup:
+ type: object
+ properties:
+ conditions:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.Condition'
+ title: conditions
+ minItems: 1
+ booleanOperator:
+ title: boolean_operator
+ description: the boolean evaluation type across the conditions
+ $ref: '#/components/schemas/policy.ConditionBooleanTypeEnum'
+ title: ConditionGroup
+ required:
+ - booleanOperator
+ additionalProperties: false
+ description: A collection of Conditions evaluated by the boolean_operator provided
+ policy.KasPublicKey:
+ type: object
+ properties:
+ pem:
+ type: string
+ title: pem
+ maxLength: 8192
+ minLength: 1
+ description: x509 ASN.1 content in PEM envelope, usually
+ kid:
+ type: string
+ title: kid
+ maxLength: 32
+ minLength: 1
+ description: A unique string identifier for this key
+ alg:
+ not:
+ enum:
+ - 0
+ title: alg
+ description: |-
+ A known algorithm type with any additional parameters encoded.
+ To start, these may be `rsa:2048` for encrypting ZTDF files and
+ `ec:secp256r1` for nanoTDF, but more formats may be added as needed.
+ $ref: '#/components/schemas/policy.KasPublicKeyAlgEnum'
+ title: KasPublicKey
+ additionalProperties: false
+ description: |-
+ Deprecated
+ A KAS public key and some associated metadata for further identifcation
+ policy.KasPublicKeySet:
+ type: object
+ properties:
+ keys:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.KasPublicKey'
+ title: keys
+ title: KasPublicKeySet
+ additionalProperties: false
+ description: |-
+ Deprecated
+ A list of known KAS public keys
+ policy.KeyAccessServer:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ uri:
+ type: string
+ title: uri
+ description: |+
+ Address of a KAS instance
+ URI must be a valid URL (e.g., 'https://demo.com/') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.:
+ ```
+ this.matches('^https?://[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*(:[0-9]+)?(/.*)?$')
+ ```
+
+ publicKey:
+ title: public_key
+ description: Deprecated
+ $ref: '#/components/schemas/policy.PublicKey'
+ sourceType:
+ title: source_type
+ description: 'The source of the KAS: (INTERNAL, EXTERNAL)'
+ $ref: '#/components/schemas/policy.SourceType'
+ kasKeys:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.SimpleKasKey'
+ title: kas_keys
+ description: Kas keys associated with this KAS
+ name:
+ type: string
+ title: name
+ description: |-
+ Optional
+ Unique name of the KAS instance
+ metadata:
+ title: metadata
+ description: Common metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: KeyAccessServer
+ additionalProperties: false
+ description: Key Access Server Registry
+ policy.Namespace:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ description: generated uuid in database
+ name:
+ type: string
+ title: name
+ description: |-
+ used to partition Attribute Definitions, support by namespace AuthN and
+ enable federation
+ fqn:
+ type: string
+ title: fqn
+ active:
+ title: active
+ description: active by default until explicitly deactivated
+ $ref: '#/components/schemas/google.protobuf.BoolValue'
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ grants:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.KeyAccessServer'
+ title: grants
+ description: Deprecated KAS grants for the namespace. Use kas_keys instead.
+ kasKeys:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.SimpleKasKey'
+ title: kas_keys
+ description: Keys for the namespace
+ title: Namespace
+ additionalProperties: false
+ policy.Obligation:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ namespace:
+ title: namespace
+ $ref: '#/components/schemas/policy.Namespace'
+ name:
+ type: string
+ title: name
+ values:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: values
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: Obligation
+ additionalProperties: false
+ policy.ObligationTrigger:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ obligationValue:
+ title: obligation_value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ action:
+ title: action
+ $ref: '#/components/schemas/policy.Action'
+ attributeValue:
+ title: attribute_value
+ $ref: '#/components/schemas/policy.Value'
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: ObligationTrigger
+ additionalProperties: false
+ policy.ObligationValue:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ obligation:
+ title: obligation
+ $ref: '#/components/schemas/policy.Obligation'
+ value:
+ type: string
+ title: value
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: ObligationValue
+ additionalProperties: false
+ policy.PageRequest:
+ type: object
+ properties:
+ limit:
+ type: integer
+ title: limit
+ format: int32
+ description: |-
+ Optional
+ Set to configured default limit if not provided
+ Maximum limit set in platform config and enforced by services
+ offset:
+ type: integer
+ title: offset
+ format: int32
+ description: |-
+ Optional
+ Defaulted if not provided
+ title: PageRequest
+ additionalProperties: false
+ policy.PageResponse:
+ type: object
+ properties:
+ currentOffset:
+ type: integer
+ title: current_offset
+ format: int32
+ description: Requested pagination offset
+ nextOffset:
+ type: integer
+ title: next_offset
+ format: int32
+ description: |-
+ Calculated with request limit + offset or defaults
+ Empty when none remain after current page
+ total:
+ type: integer
+ title: total
+ format: int32
+ description: Total count of entire list
+ title: PageResponse
+ additionalProperties: false
+ policy.PublicKey:
+ type: object
+ oneOf:
+ - properties:
+ cached:
+ title: cached
+ description: public key with additional information. Current preferred version
+ $ref: '#/components/schemas/policy.KasPublicKeySet'
+ title: cached
+ required:
+ - cached
+ - properties:
+ remote:
+ type: string
+ title: remote
+ description: |+
+ kas public key url - optional since can also be retrieved via public key
+ URI must be a valid URL (e.g., 'https://demo.com/') followed by additional segments. Each segment must start and end with an alphanumeric character, can contain hyphens, alphanumeric characters, and slashes.:
+ ```
+ this.matches('^https://[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*(/.*)?$')
+ ```
+
+ title: remote
+ required:
+ - remote
+ title: PublicKey
+ additionalProperties: false
+ description: Deprecated
+ policy.ResourceMapping:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ attributeValue:
+ title: attribute_value
+ $ref: '#/components/schemas/policy.Value'
+ terms:
+ type: array
+ items:
+ type: string
+ title: terms
+ group:
+ title: group
+ $ref: '#/components/schemas/policy.ResourceMappingGroup'
+ title: ResourceMapping
+ required:
+ - attributeValue
+ additionalProperties: false
+ description: |-
+ Resource Mappings (aka Access Control Resource Encodings aka ACRE) are
+ structures supporting the mapping of Resources and Attribute Values
+ policy.ResourceMappingGroup:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ namespaceId:
+ type: string
+ title: namespace_id
+ description: the namespace containing the group of resource mappings
+ name:
+ type: string
+ title: name
+ description: |-
+ the common name for the group of resource mappings, which must be unique
+ per namespace
+ metadata:
+ title: metadata
+ description: Common metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: ResourceMappingGroup
+ required:
+ - namespaceId
+ - name
+ additionalProperties: false
+ description: |-
+ Resource Mapping Groups are namespaced collections of Resource Mappings
+ associated under a common group name.
+ policy.SimpleKasKey:
+ type: object
+ properties:
+ kasUri:
+ type: string
+ title: kas_uri
+ description: The URL of the Key Access Server
+ publicKey:
+ title: public_key
+ description: The public key of the Key that belongs to the KAS
+ $ref: '#/components/schemas/policy.SimpleKasPublicKey'
+ kasId:
+ type: string
+ title: kas_id
+ description: The ID of the Key Access Server
+ title: SimpleKasKey
+ additionalProperties: false
+ policy.SimpleKasPublicKey:
+ type: object
+ properties:
+ algorithm:
+ title: algorithm
+ $ref: '#/components/schemas/policy.Algorithm'
+ kid:
+ type: string
+ title: kid
+ pem:
+ type: string
+ title: pem
+ title: SimpleKasPublicKey
+ additionalProperties: false
+ policy.SubjectConditionSet:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ subjectSets:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.SubjectSet'
+ title: subject_sets
+ minItems: 1
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: SubjectConditionSet
+ additionalProperties: false
+ description: |-
+ A container for multiple Subject Sets, each containing Condition Groups, each
+ containing Conditions. Multiple Subject Sets in a SubjectConditionSet are
+ evaluated with AND logic. As each Subject Mapping has only one Attribute
+ Value, the SubjectConditionSet is reusable across multiple Subject Mappings /
+ Attribute Values and is an independent unit.
+ policy.SubjectMapping:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ attributeValue:
+ title: attribute_value
+ description: 'the Attribute Value mapped to; aka: "The Entity Entitlement Attribute"'
+ $ref: '#/components/schemas/policy.Value'
+ subjectConditionSet:
+ title: subject_condition_set
+ description: the reusable SubjectConditionSet mapped to the given Attribute Value
+ $ref: '#/components/schemas/policy.SubjectConditionSet'
+ actions:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.Action'
+ title: actions
+ description: The actions permitted by subjects in this mapping
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: SubjectMapping
+ additionalProperties: false
+ description: |-
+ Subject Mapping: A Policy assigning Subject Set(s) to a permitted attribute
+ value + action(s) combination
+ policy.SubjectSet:
+ type: object
+ properties:
+ conditionGroups:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.ConditionGroup'
+ title: condition_groups
+ minItems: 1
+ description: multiple Condition Groups are evaluated with AND logic
+ title: SubjectSet
+ additionalProperties: false
+ description: A collection of Condition Groups
+ policy.Value:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ description: generated uuid in database
+ attribute:
+ title: attribute
+ $ref: '#/components/schemas/policy.Attribute'
+ value:
+ type: string
+ title: value
+ grants:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.KeyAccessServer'
+ title: grants
+ description: Deprecated KAS grants for the value. Use kas_keys instead.
+ fqn:
+ type: string
+ title: fqn
+ active:
+ title: active
+ description: active by default until explicitly deactivated
+ $ref: '#/components/schemas/google.protobuf.BoolValue'
+ subjectMappings:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.SubjectMapping'
+ title: subject_mappings
+ description: subject mapping
+ kasKeys:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.SimpleKasKey'
+ title: kas_keys
+ resourceMappings:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.ResourceMapping'
+ title: resource_mappings
+ metadata:
+ title: metadata
+ description: Common metadata
+ $ref: '#/components/schemas/common.Metadata'
+ title: Value
+ additionalProperties: false
+ policy.obligations.AddObligationTriggerRequest:
+ type: object
+ properties:
+ obligationValueId:
+ type: string
+ title: obligation_value_id
+ description: Required
+ actionId:
+ type: string
+ title: action_id
+ attributeValueId:
+ type: string
+ title: attribute_value_id
+ metadata:
+ title: metadata
+ description: |-
+ Optional
+ Common metadata
+ $ref: '#/components/schemas/common.MetadataMutable'
+ title: AddObligationTriggerRequest
+ additionalProperties: false
+ description: Triggers
+ policy.obligations.AddObligationTriggerResponse:
+ type: object
+ properties:
+ trigger:
+ title: trigger
+ $ref: '#/components/schemas/policy.ObligationTrigger'
+ title: AddObligationTriggerResponse
+ additionalProperties: false
+ policy.obligations.CreateObligationRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ properties:
+ name:
+ type: string
+ title: name
+ metadata:
+ title: metadata
+ description: |-
+ Optional
+ Common metadata
+ $ref: '#/components/schemas/common.MetadataMutable'
+ title: CreateObligationRequest
+ additionalProperties: false
+ policy.obligations.CreateObligationResponse:
+ type: object
+ properties:
+ obligation:
+ title: obligation
+ $ref: '#/components/schemas/policy.Obligation'
+ title: CreateObligationResponse
+ additionalProperties: false
+ policy.obligations.CreateObligationValueRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ properties:
+ value:
+ type: string
+ title: value
+ metadata:
+ title: metadata
+ description: |-
+ Optional
+ Common metadata
+ $ref: '#/components/schemas/common.MetadataMutable'
+ title: CreateObligationValueRequest
+ additionalProperties: false
+ policy.obligations.CreateObligationValueResponse:
+ type: object
+ properties:
+ value:
+ title: value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: CreateObligationValueResponse
+ additionalProperties: false
+ policy.obligations.DeleteObligationRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ title: DeleteObligationRequest
+ additionalProperties: false
+ policy.obligations.DeleteObligationResponse:
+ type: object
+ properties:
+ obligation:
+ title: obligation
+ $ref: '#/components/schemas/policy.Obligation'
+ title: DeleteObligationResponse
+ additionalProperties: false
+ policy.obligations.DeleteObligationValueRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ title: DeleteObligationValueRequest
+ additionalProperties: false
+ policy.obligations.DeleteObligationValueResponse:
+ type: object
+ properties:
+ value:
+ title: value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: DeleteObligationValueResponse
+ additionalProperties: false
+ policy.obligations.GetObligationRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ title: GetObligationRequest
+ additionalProperties: false
+ description: Definitions
+ policy.obligations.GetObligationResponse:
+ type: object
+ properties:
+ obligation:
+ title: obligation
+ $ref: '#/components/schemas/policy.Obligation'
+ title: GetObligationResponse
+ additionalProperties: false
+ policy.obligations.GetObligationValueRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ title: GetObligationValueRequest
+ additionalProperties: false
+ description: Values
+ policy.obligations.GetObligationValueResponse:
+ type: object
+ properties:
+ value:
+ title: value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: GetObligationValueResponse
+ additionalProperties: false
+ policy.obligations.GetObligationValuesByFQNsRequest:
+ type: object
+ properties:
+ fqns:
+ type: array
+ items:
+ type: string
+ title: fqns
+ title: GetObligationValuesByFQNsRequest
+ additionalProperties: false
+ policy.obligations.GetObligationValuesByFQNsResponse:
+ type: object
+ properties:
+ fqnValueMap:
+ type: object
+ title: fqn_value_map
+ additionalProperties:
+ title: value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: GetObligationValuesByFQNsResponse
+ additionalProperties: false
+ policy.obligations.GetObligationValuesByFQNsResponse.FqnValueMapEntry:
+ type: object
+ properties:
+ key:
+ type: string
+ title: key
+ value:
+ title: value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: FqnValueMapEntry
+ additionalProperties: false
+ policy.obligations.GetObligationsByFQNsRequest:
+ type: object
+ properties:
+ fqns:
+ type: array
+ items:
+ type: string
+ title: fqns
+ title: GetObligationsByFQNsRequest
+ additionalProperties: false
+ policy.obligations.GetObligationsByFQNsResponse:
+ type: object
+ properties:
+ fqnObligationMap:
+ type: object
+ title: fqn_obligation_map
+ additionalProperties:
+ title: value
+ $ref: '#/components/schemas/policy.Obligation'
+ title: GetObligationsByFQNsResponse
+ additionalProperties: false
+ policy.obligations.GetObligationsByFQNsResponse.FqnObligationMapEntry:
+ type: object
+ properties:
+ key:
+ type: string
+ title: key
+ value:
+ title: value
+ $ref: '#/components/schemas/policy.Obligation'
+ title: FqnObligationMapEntry
+ additionalProperties: false
+ policy.obligations.ListObligationsRequest:
+ type: object
+ oneOf:
+ - properties:
+ fqn:
+ type: string
+ title: fqn
+ title: fqn
+ required:
+ - fqn
+ - properties:
+ id:
+ type: string
+ title: id
+ title: id
+ required:
+ - id
+ properties:
+ pagination:
+ title: pagination
+ description: Optional
+ $ref: '#/components/schemas/policy.PageRequest'
+ title: ListObligationsRequest
+ additionalProperties: false
+ policy.obligations.ListObligationsResponse:
+ type: object
+ properties:
+ obligations:
+ type: array
+ items:
+ $ref: '#/components/schemas/policy.Obligation'
+ title: obligations
+ pagination:
+ title: pagination
+ $ref: '#/components/schemas/policy.PageResponse'
+ title: ListObligationsResponse
+ additionalProperties: false
+ policy.obligations.RemoveObligationTriggerRequest:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ title: RemoveObligationTriggerRequest
+ additionalProperties: false
+ policy.obligations.RemoveObligationTriggerResponse:
+ type: object
+ properties:
+ trigger:
+ title: trigger
+ $ref: '#/components/schemas/policy.ObligationTrigger'
+ title: RemoveObligationTriggerResponse
+ additionalProperties: false
+ policy.obligations.UpdateObligationRequest:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ description: Required
+ name:
+ type: string
+ title: name
+ description: Optional
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.MetadataMutable'
+ metadataUpdateBehavior:
+ title: metadata_update_behavior
+ $ref: '#/components/schemas/common.MetadataUpdateEnum'
+ title: UpdateObligationRequest
+ additionalProperties: false
+ policy.obligations.UpdateObligationResponse:
+ type: object
+ properties:
+ obligation:
+ title: obligation
+ $ref: '#/components/schemas/policy.Obligation'
+ title: UpdateObligationResponse
+ additionalProperties: false
+ policy.obligations.UpdateObligationValueRequest:
+ type: object
+ properties:
+ id:
+ type: string
+ title: id
+ description: Required
+ value:
+ type: string
+ title: value
+ description: Optional
+ metadata:
+ title: metadata
+ $ref: '#/components/schemas/common.MetadataMutable'
+ metadataUpdateBehavior:
+ title: metadata_update_behavior
+ $ref: '#/components/schemas/common.MetadataUpdateEnum'
+ title: UpdateObligationValueRequest
+ additionalProperties: false
+ policy.obligations.UpdateObligationValueResponse:
+ type: object
+ properties:
+ value:
+ title: value
+ $ref: '#/components/schemas/policy.ObligationValue'
+ title: UpdateObligationValueResponse
+ additionalProperties: false
+ connect-protocol-version:
+ type: number
+ title: Connect-Protocol-Version
+ enum:
+ - 1
+ description: Define the version of the Connect protocol
+ const: 1
+ connect-timeout-header:
+ type: number
+ title: Connect-Timeout-Ms
+ description: Define the timeout, in ms
+ connect.error:
+ type: object
+ properties:
+ code:
+ type: string
+ examples:
+ - not_found
+ enum:
+ - canceled
+ - unknown
+ - invalid_argument
+ - deadline_exceeded
+ - not_found
+ - already_exists
+ - permission_denied
+ - resource_exhausted
+ - failed_precondition
+ - aborted
+ - out_of_range
+ - unimplemented
+ - internal
+ - unavailable
+ - data_loss
+ - unauthenticated
+ description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
+ message:
+ type: string
+ description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
+ detail:
+ $ref: '#/components/schemas/google.protobuf.Any'
+ title: Connect Error
+ additionalProperties: true
+ description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
+ google.protobuf.Any:
+ type: object
+ properties:
+ type:
+ type: string
+ value:
+ type: string
+ format: binary
+ debug:
+ type: object
+ additionalProperties: true
+ additionalProperties: true
+ description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
+security: []
+tags:
+ - name: policy.obligations.Service
+ description: |-
+ /
+ / Obligation Service
+ /
diff --git a/protocol/go/policy/objects.pb.go b/protocol/go/policy/objects.pb.go
index f7c9e00b29..5e0a820c50 100644
--- a/protocol/go/policy/objects.pb.go
+++ b/protocol/go/policy/objects.pb.go
@@ -2283,6 +2283,235 @@ func (x *RegisteredResourceValue) GetMetadata() *common.Metadata {
return nil
}
+type Obligation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Namespace *Namespace `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+ Values []*ObligationValue `protobuf:"bytes,4,rep,name=values,proto3" json:"values,omitempty"`
+ Metadata *common.Metadata `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+}
+
+func (x *Obligation) Reset() {
+ *x = Obligation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_objects_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Obligation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Obligation) ProtoMessage() {}
+
+func (x *Obligation) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_objects_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Obligation.ProtoReflect.Descriptor instead.
+func (*Obligation) Descriptor() ([]byte, []int) {
+ return file_policy_objects_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *Obligation) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *Obligation) GetNamespace() *Namespace {
+ if x != nil {
+ return x.Namespace
+ }
+ return nil
+}
+
+func (x *Obligation) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *Obligation) GetValues() []*ObligationValue {
+ if x != nil {
+ return x.Values
+ }
+ return nil
+}
+
+func (x *Obligation) GetMetadata() *common.Metadata {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+type ObligationValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Obligation *Obligation `protobuf:"bytes,2,opt,name=obligation,proto3" json:"obligation,omitempty"`
+ Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
+ Metadata *common.Metadata `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+}
+
+func (x *ObligationValue) Reset() {
+ *x = ObligationValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_objects_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObligationValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObligationValue) ProtoMessage() {}
+
+func (x *ObligationValue) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_objects_proto_msgTypes[23]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ObligationValue.ProtoReflect.Descriptor instead.
+func (*ObligationValue) Descriptor() ([]byte, []int) {
+ return file_policy_objects_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *ObligationValue) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *ObligationValue) GetObligation() *Obligation {
+ if x != nil {
+ return x.Obligation
+ }
+ return nil
+}
+
+func (x *ObligationValue) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+func (x *ObligationValue) GetMetadata() *common.Metadata {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+type ObligationTrigger struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ ObligationValue *ObligationValue `protobuf:"bytes,2,opt,name=obligation_value,json=obligationValue,proto3" json:"obligation_value,omitempty"`
+ Action *Action `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
+ AttributeValue *Value `protobuf:"bytes,4,opt,name=attribute_value,json=attributeValue,proto3" json:"attribute_value,omitempty"`
+ Metadata *common.Metadata `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+}
+
+func (x *ObligationTrigger) Reset() {
+ *x = ObligationTrigger{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_objects_proto_msgTypes[24]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObligationTrigger) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObligationTrigger) ProtoMessage() {}
+
+func (x *ObligationTrigger) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_objects_proto_msgTypes[24]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ObligationTrigger.ProtoReflect.Descriptor instead.
+func (*ObligationTrigger) Descriptor() ([]byte, []int) {
+ return file_policy_objects_proto_rawDescGZIP(), []int{24}
+}
+
+func (x *ObligationTrigger) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *ObligationTrigger) GetObligationValue() *ObligationValue {
+ if x != nil {
+ return x.ObligationValue
+ }
+ return nil
+}
+
+func (x *ObligationTrigger) GetAction() *Action {
+ if x != nil {
+ return x.Action
+ }
+ return nil
+}
+
+func (x *ObligationTrigger) GetAttributeValue() *Value {
+ if x != nil {
+ return x.AttributeValue
+ }
+ return nil
+}
+
+func (x *ObligationTrigger) GetMetadata() *common.Metadata {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
type KasKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2296,7 +2525,7 @@ type KasKey struct {
func (x *KasKey) Reset() {
*x = KasKey{}
if protoimpl.UnsafeEnabled {
- mi := &file_policy_objects_proto_msgTypes[22]
+ mi := &file_policy_objects_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2309,7 +2538,7 @@ func (x *KasKey) String() string {
func (*KasKey) ProtoMessage() {}
func (x *KasKey) ProtoReflect() protoreflect.Message {
- mi := &file_policy_objects_proto_msgTypes[22]
+ mi := &file_policy_objects_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2322,7 +2551,7 @@ func (x *KasKey) ProtoReflect() protoreflect.Message {
// Deprecated: Use KasKey.ProtoReflect.Descriptor instead.
func (*KasKey) Descriptor() ([]byte, []int) {
- return file_policy_objects_proto_rawDescGZIP(), []int{22}
+ return file_policy_objects_proto_rawDescGZIP(), []int{25}
}
func (x *KasKey) GetKasId() string {
@@ -2358,7 +2587,7 @@ type PublicKeyCtx struct {
func (x *PublicKeyCtx) Reset() {
*x = PublicKeyCtx{}
if protoimpl.UnsafeEnabled {
- mi := &file_policy_objects_proto_msgTypes[23]
+ mi := &file_policy_objects_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2371,7 +2600,7 @@ func (x *PublicKeyCtx) String() string {
func (*PublicKeyCtx) ProtoMessage() {}
func (x *PublicKeyCtx) ProtoReflect() protoreflect.Message {
- mi := &file_policy_objects_proto_msgTypes[23]
+ mi := &file_policy_objects_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2384,7 +2613,7 @@ func (x *PublicKeyCtx) ProtoReflect() protoreflect.Message {
// Deprecated: Use PublicKeyCtx.ProtoReflect.Descriptor instead.
func (*PublicKeyCtx) Descriptor() ([]byte, []int) {
- return file_policy_objects_proto_rawDescGZIP(), []int{23}
+ return file_policy_objects_proto_rawDescGZIP(), []int{26}
}
func (x *PublicKeyCtx) GetPem() string {
@@ -2408,7 +2637,7 @@ type PrivateKeyCtx struct {
func (x *PrivateKeyCtx) Reset() {
*x = PrivateKeyCtx{}
if protoimpl.UnsafeEnabled {
- mi := &file_policy_objects_proto_msgTypes[24]
+ mi := &file_policy_objects_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2421,7 +2650,7 @@ func (x *PrivateKeyCtx) String() string {
func (*PrivateKeyCtx) ProtoMessage() {}
func (x *PrivateKeyCtx) ProtoReflect() protoreflect.Message {
- mi := &file_policy_objects_proto_msgTypes[24]
+ mi := &file_policy_objects_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2434,7 +2663,7 @@ func (x *PrivateKeyCtx) ProtoReflect() protoreflect.Message {
// Deprecated: Use PrivateKeyCtx.ProtoReflect.Descriptor instead.
func (*PrivateKeyCtx) Descriptor() ([]byte, []int) {
- return file_policy_objects_proto_rawDescGZIP(), []int{24}
+ return file_policy_objects_proto_rawDescGZIP(), []int{27}
}
func (x *PrivateKeyCtx) GetKeyId() string {
@@ -2479,7 +2708,7 @@ type AsymmetricKey struct {
func (x *AsymmetricKey) Reset() {
*x = AsymmetricKey{}
if protoimpl.UnsafeEnabled {
- mi := &file_policy_objects_proto_msgTypes[25]
+ mi := &file_policy_objects_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2492,7 +2721,7 @@ func (x *AsymmetricKey) String() string {
func (*AsymmetricKey) ProtoMessage() {}
func (x *AsymmetricKey) ProtoReflect() protoreflect.Message {
- mi := &file_policy_objects_proto_msgTypes[25]
+ mi := &file_policy_objects_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2505,7 +2734,7 @@ func (x *AsymmetricKey) ProtoReflect() protoreflect.Message {
// Deprecated: Use AsymmetricKey.ProtoReflect.Descriptor instead.
func (*AsymmetricKey) Descriptor() ([]byte, []int) {
- return file_policy_objects_proto_rawDescGZIP(), []int{25}
+ return file_policy_objects_proto_rawDescGZIP(), []int{28}
}
func (x *AsymmetricKey) GetId() string {
@@ -2589,7 +2818,7 @@ type SymmetricKey struct {
func (x *SymmetricKey) Reset() {
*x = SymmetricKey{}
if protoimpl.UnsafeEnabled {
- mi := &file_policy_objects_proto_msgTypes[26]
+ mi := &file_policy_objects_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2602,7 +2831,7 @@ func (x *SymmetricKey) String() string {
func (*SymmetricKey) ProtoMessage() {}
func (x *SymmetricKey) ProtoReflect() protoreflect.Message {
- mi := &file_policy_objects_proto_msgTypes[26]
+ mi := &file_policy_objects_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2615,7 +2844,7 @@ func (x *SymmetricKey) ProtoReflect() protoreflect.Message {
// Deprecated: Use SymmetricKey.ProtoReflect.Descriptor instead.
func (*SymmetricKey) Descriptor() ([]byte, []int) {
- return file_policy_objects_proto_rawDescGZIP(), []int{26}
+ return file_policy_objects_proto_rawDescGZIP(), []int{29}
}
func (x *SymmetricKey) GetId() string {
@@ -2682,7 +2911,7 @@ type RegisteredResourceValue_ActionAttributeValue struct {
func (x *RegisteredResourceValue_ActionAttributeValue) Reset() {
*x = RegisteredResourceValue_ActionAttributeValue{}
if protoimpl.UnsafeEnabled {
- mi := &file_policy_objects_proto_msgTypes[27]
+ mi := &file_policy_objects_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2695,7 +2924,7 @@ func (x *RegisteredResourceValue_ActionAttributeValue) String() string {
func (*RegisteredResourceValue_ActionAttributeValue) ProtoMessage() {}
func (x *RegisteredResourceValue_ActionAttributeValue) ProtoReflect() protoreflect.Message {
- mi := &file_policy_objects_proto_msgTypes[27]
+ mi := &file_policy_objects_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3089,157 +3318,194 @@ var file_policy_objects_proto_rawDesc = []byte{
0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x61, 0x0a,
- 0x06, 0x4b, 0x61, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x61, 0x73, 0x5f, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x61, 0x73, 0x49, 0x64, 0x12, 0x27,
- 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b,
- 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x61, 0x73, 0x5f, 0x75,
- 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x61, 0x73, 0x55, 0x72, 0x69,
- 0x22, 0x29, 0x0a, 0x0c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78,
- 0x12, 0x19, 0x0a, 0x03, 0x70, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba,
- 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x70, 0x65, 0x6d, 0x22, 0x50, 0x0a, 0x0d, 0x50,
- 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12, 0x1e, 0x0a, 0x06,
- 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48,
- 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
- 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x22, 0xb9, 0x03,
- 0x0a, 0x0d, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12,
- 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
- 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c,
- 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e,
- 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
- 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x30,
- 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x4d,
- 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x0e,
- 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x74, 0x78, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x75,
- 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c,
- 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12, 0x3d, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76,
- 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x74, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61,
- 0x74, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
- 0x65, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12, 0x42, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69,
- 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x19, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f,
- 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x72, 0x6f,
- 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x08, 0x6d,
- 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
- 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
- 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9e, 0x02, 0x0a, 0x0c, 0x53, 0x79,
- 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65,
- 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49,
- 0x64, 0x12, 0x30, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b,
- 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b,
- 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12,
- 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c,
- 0x52, 0x06, 0x6b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12, 0x42, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76,
- 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x72,
- 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x72,
- 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x08,
- 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
- 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
- 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2a, 0xb3, 0x01, 0x0a, 0x15, 0x41,
- 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65,
- 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54,
- 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d,
+ 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, 0x01,
+ 0x0a, 0x0a, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x09,
+ 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65,
+ 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x62,
+ 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c,
+ 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf5, 0x01, 0x0a,
+ 0x11, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67,
+ 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
+ 0x69, 0x64, 0x12, 0x42, 0x0a, 0x10, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36,
+ 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+ 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x22, 0x61, 0x0a, 0x06, 0x4b, 0x61, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x15,
+ 0x0a, 0x06, 0x6b, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x6b, 0x61, 0x73, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x73, 0x79, 0x6d,
+ 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x17,
+ 0x0a, 0x07, 0x6b, 0x61, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x6b, 0x61, 0x73, 0x55, 0x72, 0x69, 0x22, 0x29, 0x0a, 0x0c, 0x50, 0x75, 0x62, 0x6c, 0x69,
+ 0x63, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12, 0x19, 0x0a, 0x03, 0x70, 0x65, 0x6d, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x70,
+ 0x65, 0x6d, 0x22, 0x50, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
+ 0x43, 0x74, 0x78, 0x12, 0x1e, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x07, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x6b, 0x65,
+ 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b,
+ 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
+ 0x64, 0x4b, 0x65, 0x79, 0x22, 0xb9, 0x03, 0x0a, 0x0d, 0x41, 0x73, 0x79, 0x6d, 0x6d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a,
+ 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6c,
+ 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f,
+ 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x30, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6b, 0x65,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6d,
+ 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4d,
+ 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65,
+ 0x79, 0x5f, 0x63, 0x74, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x74,
+ 0x78, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12,
+ 0x3d, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63,
+ 0x74, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x52,
+ 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12, 0x42,
+ 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65,
+ 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x22, 0x9e, 0x02, 0x0a, 0x0c, 0x53, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x65,
+ 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
+ 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x09, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6b, 0x65,
+ 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6b,
+ 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x74,
+ 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x43, 0x74, 0x78, 0x12,
+ 0x42, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
+ 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x2a, 0xb3, 0x01, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52,
+ 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x24, 0x41,
+ 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
+ 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55,
+ 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55,
+ 0x4d, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x46, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x54,
+ 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x4f, 0x46, 0x10, 0x02, 0x12,
+ 0x26, 0x0a, 0x22, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c,
+ 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x48, 0x49, 0x45, 0x52,
+ 0x41, 0x52, 0x43, 0x48, 0x59, 0x10, 0x03, 0x2a, 0xca, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
+ 0x6f, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43,
+ 0x54, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54,
+ 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
+ 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54,
+ 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f,
+ 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x53,
+ 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f,
+ 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54,
+ 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f,
+ 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49,
+ 0x4e, 0x53, 0x10, 0x03, 0x2a, 0x90, 0x01, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75,
+ 0x6d, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42,
+ 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d,
0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23,
- 0x0a, 0x1f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45,
- 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4f,
- 0x46, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45,
- 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f,
- 0x41, 0x4e, 0x59, 0x5f, 0x4f, 0x46, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x54, 0x54, 0x52,
- 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, 0x59, 0x10, 0x03,
- 0x2a, 0xca, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x70, 0x70,
- 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x12,
- 0x2d, 0x0a, 0x29, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49,
- 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d,
- 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24,
- 0x0a, 0x20, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e,
- 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f,
- 0x49, 0x4e, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
- 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52,
- 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x2d,
- 0x0a, 0x29, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e,
- 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f,
- 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x03, 0x2a, 0x90, 0x01,
- 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x6c, 0x65,
- 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x4f,
- 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f,
- 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
- 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4f, 0x4e, 0x44, 0x49,
- 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50,
- 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e,
- 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41,
- 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4f, 0x52, 0x10, 0x02,
- 0x2a, 0x5d, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b,
- 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
- 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53,
- 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52,
- 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
- 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x2a,
- 0x88, 0x02, 0x0a, 0x13, 0x4b, 0x61, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
- 0x41, 0x6c, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x23, 0x4b, 0x41, 0x53, 0x5f, 0x50,
+ 0x0a, 0x1f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x4f, 0x4c,
+ 0x45, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x41, 0x4e,
+ 0x44, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e,
+ 0x55, 0x4d, 0x5f, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0x5d, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
+ 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14,
+ 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45,
+ 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x2a, 0x88, 0x02, 0x0a, 0x13, 0x4b, 0x61, 0x73, 0x50, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x27,
+ 0x0a, 0x23, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59,
+ 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
+ 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4b, 0x41, 0x53, 0x5f, 0x50,
+ 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e,
+ 0x55, 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x32, 0x30, 0x34, 0x38, 0x10, 0x01, 0x12, 0x24, 0x0a,
+ 0x20, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f,
+ 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x34, 0x30, 0x39,
+ 0x36, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
+ 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45,
+ 0x43, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x32, 0x35, 0x36, 0x52, 0x31, 0x10, 0x05, 0x12, 0x28, 0x0a,
+ 0x24, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f,
+ 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x43, 0x50,
+ 0x33, 0x38, 0x34, 0x52, 0x31, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, 0x4b, 0x41, 0x53, 0x5f, 0x50,
0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e,
- 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
- 0x12, 0x24, 0x0a, 0x20, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b,
- 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f,
- 0x32, 0x30, 0x34, 0x38, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55,
- 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55,
- 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24,
- 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41,
- 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x32,
- 0x35, 0x36, 0x52, 0x31, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55,
- 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55,
- 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x33, 0x38, 0x34, 0x52, 0x31, 0x10, 0x06,
- 0x12, 0x28, 0x0a, 0x24, 0x4b, 0x41, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b,
- 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x53,
- 0x45, 0x43, 0x50, 0x35, 0x32, 0x31, 0x52, 0x31, 0x10, 0x07, 0x2a, 0x9b, 0x01, 0x0a, 0x09, 0x41,
- 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4c, 0x47, 0x4f,
- 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
- 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d,
- 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x32, 0x30, 0x34, 0x38, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x41,
- 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x34, 0x30, 0x39,
- 0x36, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d,
- 0x5f, 0x45, 0x43, 0x5f, 0x50, 0x32, 0x35, 0x36, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c,
- 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x50, 0x33, 0x38, 0x34, 0x10,
- 0x04, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45,
- 0x43, 0x5f, 0x50, 0x35, 0x32, 0x31, 0x10, 0x05, 0x2a, 0x56, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41,
- 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
- 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
- 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x45, 0x59, 0x5f,
- 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x4f, 0x54, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02,
- 0x2a, 0x94, 0x01, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14,
- 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
- 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f,
- 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x4b,
- 0x45, 0x59, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
- 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x4b,
- 0x45, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
- 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x4b, 0x45, 0x59,
- 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59,
- 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x42, 0x82, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e,
- 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x64, 0x66, 0x2f, 0x70, 0x6c, 0x61, 0x74, 0x66,
- 0x6f, 0x72, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x67, 0x6f, 0x2f,
- 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xa2, 0x02, 0x03, 0x50, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x50,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xca, 0x02, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xe2, 0x02,
- 0x12, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0xea, 0x02, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x55, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x43, 0x50, 0x35, 0x32, 0x31, 0x52, 0x31, 0x10,
+ 0x07, 0x2a, 0x9b, 0x01, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12,
+ 0x19, 0x0a, 0x15, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53,
+ 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x4c,
+ 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x32, 0x30, 0x34, 0x38,
+ 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f,
+ 0x52, 0x53, 0x41, 0x5f, 0x34, 0x30, 0x39, 0x36, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c,
+ 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x50, 0x32, 0x35, 0x36, 0x10,
+ 0x03, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45,
+ 0x43, 0x5f, 0x50, 0x33, 0x38, 0x34, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x47, 0x4f,
+ 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x45, 0x43, 0x5f, 0x50, 0x35, 0x32, 0x31, 0x10, 0x05, 0x2a,
+ 0x56, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16,
+ 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
+ 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4b, 0x45, 0x59, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12,
+ 0x16, 0x0a, 0x12, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x4f,
+ 0x54, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x94, 0x01, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x4d,
+ 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
+ 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a,
+ 0x18, 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
+ 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4b,
+ 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52,
+ 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4b,
+ 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x03,
+ 0x12, 0x1c, 0x0a, 0x18, 0x4b, 0x45, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x55, 0x42,
+ 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x42, 0x82,
+ 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67,
+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x64,
+ 0x66, 0x2f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xa2, 0x02, 0x03,
+ 0x50, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xca, 0x02, 0x06, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xe2, 0x02, 0x12, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5c, 0x47,
+ 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x06, 0x50, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -3255,7 +3521,7 @@ func file_policy_objects_proto_rawDescGZIP() []byte {
}
var file_policy_objects_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
-var file_policy_objects_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
+var file_policy_objects_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
var file_policy_objects_proto_goTypes = []interface{}{
(AttributeRuleTypeEnum)(0), // 0: policy.AttributeRuleTypeEnum
(SubjectMappingOperatorEnum)(0), // 1: policy.SubjectMappingOperatorEnum
@@ -3288,90 +3554,102 @@ var file_policy_objects_proto_goTypes = []interface{}{
(*PublicKey)(nil), // 28: policy.PublicKey
(*RegisteredResource)(nil), // 29: policy.RegisteredResource
(*RegisteredResourceValue)(nil), // 30: policy.RegisteredResourceValue
- (*KasKey)(nil), // 31: policy.KasKey
- (*PublicKeyCtx)(nil), // 32: policy.PublicKeyCtx
- (*PrivateKeyCtx)(nil), // 33: policy.PrivateKeyCtx
- (*AsymmetricKey)(nil), // 34: policy.AsymmetricKey
- (*SymmetricKey)(nil), // 35: policy.SymmetricKey
- (*RegisteredResourceValue_ActionAttributeValue)(nil), // 36: policy.RegisteredResourceValue.ActionAttributeValue
- (*common.Metadata)(nil), // 37: common.Metadata
- (*wrapperspb.BoolValue)(nil), // 38: google.protobuf.BoolValue
+ (*Obligation)(nil), // 31: policy.Obligation
+ (*ObligationValue)(nil), // 32: policy.ObligationValue
+ (*ObligationTrigger)(nil), // 33: policy.ObligationTrigger
+ (*KasKey)(nil), // 34: policy.KasKey
+ (*PublicKeyCtx)(nil), // 35: policy.PublicKeyCtx
+ (*PrivateKeyCtx)(nil), // 36: policy.PrivateKeyCtx
+ (*AsymmetricKey)(nil), // 37: policy.AsymmetricKey
+ (*SymmetricKey)(nil), // 38: policy.SymmetricKey
+ (*RegisteredResourceValue_ActionAttributeValue)(nil), // 39: policy.RegisteredResourceValue.ActionAttributeValue
+ (*common.Metadata)(nil), // 40: common.Metadata
+ (*wrapperspb.BoolValue)(nil), // 41: google.protobuf.BoolValue
}
var file_policy_objects_proto_depIdxs = []int32{
5, // 0: policy.SimpleKasPublicKey.algorithm:type_name -> policy.Algorithm
9, // 1: policy.SimpleKasKey.public_key:type_name -> policy.SimpleKasPublicKey
- 37, // 2: policy.KeyProviderConfig.metadata:type_name -> common.Metadata
- 38, // 3: policy.Namespace.active:type_name -> google.protobuf.BoolValue
- 37, // 4: policy.Namespace.metadata:type_name -> common.Metadata
+ 40, // 2: policy.KeyProviderConfig.metadata:type_name -> common.Metadata
+ 41, // 3: policy.Namespace.active:type_name -> google.protobuf.BoolValue
+ 40, // 4: policy.Namespace.metadata:type_name -> common.Metadata
24, // 5: policy.Namespace.grants:type_name -> policy.KeyAccessServer
10, // 6: policy.Namespace.kas_keys:type_name -> policy.SimpleKasKey
12, // 7: policy.Attribute.namespace:type_name -> policy.Namespace
0, // 8: policy.Attribute.rule:type_name -> policy.AttributeRuleTypeEnum
14, // 9: policy.Attribute.values:type_name -> policy.Value
24, // 10: policy.Attribute.grants:type_name -> policy.KeyAccessServer
- 38, // 11: policy.Attribute.active:type_name -> google.protobuf.BoolValue
+ 41, // 11: policy.Attribute.active:type_name -> google.protobuf.BoolValue
10, // 12: policy.Attribute.kas_keys:type_name -> policy.SimpleKasKey
- 37, // 13: policy.Attribute.metadata:type_name -> common.Metadata
+ 40, // 13: policy.Attribute.metadata:type_name -> common.Metadata
13, // 14: policy.Value.attribute:type_name -> policy.Attribute
24, // 15: policy.Value.grants:type_name -> policy.KeyAccessServer
- 38, // 16: policy.Value.active:type_name -> google.protobuf.BoolValue
+ 41, // 16: policy.Value.active:type_name -> google.protobuf.BoolValue
16, // 17: policy.Value.subject_mappings:type_name -> policy.SubjectMapping
10, // 18: policy.Value.kas_keys:type_name -> policy.SimpleKasKey
23, // 19: policy.Value.resource_mappings:type_name -> policy.ResourceMapping
- 37, // 20: policy.Value.metadata:type_name -> common.Metadata
+ 40, // 20: policy.Value.metadata:type_name -> common.Metadata
8, // 21: policy.Action.standard:type_name -> policy.Action.StandardAction
- 37, // 22: policy.Action.metadata:type_name -> common.Metadata
+ 40, // 22: policy.Action.metadata:type_name -> common.Metadata
14, // 23: policy.SubjectMapping.attribute_value:type_name -> policy.Value
20, // 24: policy.SubjectMapping.subject_condition_set:type_name -> policy.SubjectConditionSet
15, // 25: policy.SubjectMapping.actions:type_name -> policy.Action
- 37, // 26: policy.SubjectMapping.metadata:type_name -> common.Metadata
+ 40, // 26: policy.SubjectMapping.metadata:type_name -> common.Metadata
1, // 27: policy.Condition.operator:type_name -> policy.SubjectMappingOperatorEnum
17, // 28: policy.ConditionGroup.conditions:type_name -> policy.Condition
2, // 29: policy.ConditionGroup.boolean_operator:type_name -> policy.ConditionBooleanTypeEnum
18, // 30: policy.SubjectSet.condition_groups:type_name -> policy.ConditionGroup
19, // 31: policy.SubjectConditionSet.subject_sets:type_name -> policy.SubjectSet
- 37, // 32: policy.SubjectConditionSet.metadata:type_name -> common.Metadata
- 37, // 33: policy.ResourceMappingGroup.metadata:type_name -> common.Metadata
- 37, // 34: policy.ResourceMapping.metadata:type_name -> common.Metadata
+ 40, // 32: policy.SubjectConditionSet.metadata:type_name -> common.Metadata
+ 40, // 33: policy.ResourceMappingGroup.metadata:type_name -> common.Metadata
+ 40, // 34: policy.ResourceMapping.metadata:type_name -> common.Metadata
14, // 35: policy.ResourceMapping.attribute_value:type_name -> policy.Value
22, // 36: policy.ResourceMapping.group:type_name -> policy.ResourceMappingGroup
28, // 37: policy.KeyAccessServer.public_key:type_name -> policy.PublicKey
3, // 38: policy.KeyAccessServer.source_type:type_name -> policy.SourceType
10, // 39: policy.KeyAccessServer.kas_keys:type_name -> policy.SimpleKasKey
- 37, // 40: policy.KeyAccessServer.metadata:type_name -> common.Metadata
- 38, // 41: policy.Key.is_active:type_name -> google.protobuf.BoolValue
- 38, // 42: policy.Key.was_mapped:type_name -> google.protobuf.BoolValue
+ 40, // 40: policy.KeyAccessServer.metadata:type_name -> common.Metadata
+ 41, // 41: policy.Key.is_active:type_name -> google.protobuf.BoolValue
+ 41, // 42: policy.Key.was_mapped:type_name -> google.protobuf.BoolValue
26, // 43: policy.Key.public_key:type_name -> policy.KasPublicKey
24, // 44: policy.Key.kas:type_name -> policy.KeyAccessServer
- 37, // 45: policy.Key.metadata:type_name -> common.Metadata
+ 40, // 45: policy.Key.metadata:type_name -> common.Metadata
4, // 46: policy.KasPublicKey.alg:type_name -> policy.KasPublicKeyAlgEnum
26, // 47: policy.KasPublicKeySet.keys:type_name -> policy.KasPublicKey
27, // 48: policy.PublicKey.cached:type_name -> policy.KasPublicKeySet
30, // 49: policy.RegisteredResource.values:type_name -> policy.RegisteredResourceValue
- 37, // 50: policy.RegisteredResource.metadata:type_name -> common.Metadata
+ 40, // 50: policy.RegisteredResource.metadata:type_name -> common.Metadata
29, // 51: policy.RegisteredResourceValue.resource:type_name -> policy.RegisteredResource
- 36, // 52: policy.RegisteredResourceValue.action_attribute_values:type_name -> policy.RegisteredResourceValue.ActionAttributeValue
- 37, // 53: policy.RegisteredResourceValue.metadata:type_name -> common.Metadata
- 34, // 54: policy.KasKey.key:type_name -> policy.AsymmetricKey
- 5, // 55: policy.AsymmetricKey.key_algorithm:type_name -> policy.Algorithm
- 6, // 56: policy.AsymmetricKey.key_status:type_name -> policy.KeyStatus
- 7, // 57: policy.AsymmetricKey.key_mode:type_name -> policy.KeyMode
- 32, // 58: policy.AsymmetricKey.public_key_ctx:type_name -> policy.PublicKeyCtx
- 33, // 59: policy.AsymmetricKey.private_key_ctx:type_name -> policy.PrivateKeyCtx
- 11, // 60: policy.AsymmetricKey.provider_config:type_name -> policy.KeyProviderConfig
- 37, // 61: policy.AsymmetricKey.metadata:type_name -> common.Metadata
- 6, // 62: policy.SymmetricKey.key_status:type_name -> policy.KeyStatus
- 7, // 63: policy.SymmetricKey.key_mode:type_name -> policy.KeyMode
- 11, // 64: policy.SymmetricKey.provider_config:type_name -> policy.KeyProviderConfig
- 37, // 65: policy.SymmetricKey.metadata:type_name -> common.Metadata
- 15, // 66: policy.RegisteredResourceValue.ActionAttributeValue.action:type_name -> policy.Action
- 14, // 67: policy.RegisteredResourceValue.ActionAttributeValue.attribute_value:type_name -> policy.Value
- 37, // 68: policy.RegisteredResourceValue.ActionAttributeValue.metadata:type_name -> common.Metadata
- 69, // [69:69] is the sub-list for method output_type
- 69, // [69:69] is the sub-list for method input_type
- 69, // [69:69] is the sub-list for extension type_name
- 69, // [69:69] is the sub-list for extension extendee
- 0, // [0:69] is the sub-list for field type_name
+ 39, // 52: policy.RegisteredResourceValue.action_attribute_values:type_name -> policy.RegisteredResourceValue.ActionAttributeValue
+ 40, // 53: policy.RegisteredResourceValue.metadata:type_name -> common.Metadata
+ 12, // 54: policy.Obligation.namespace:type_name -> policy.Namespace
+ 32, // 55: policy.Obligation.values:type_name -> policy.ObligationValue
+ 40, // 56: policy.Obligation.metadata:type_name -> common.Metadata
+ 31, // 57: policy.ObligationValue.obligation:type_name -> policy.Obligation
+ 40, // 58: policy.ObligationValue.metadata:type_name -> common.Metadata
+ 32, // 59: policy.ObligationTrigger.obligation_value:type_name -> policy.ObligationValue
+ 15, // 60: policy.ObligationTrigger.action:type_name -> policy.Action
+ 14, // 61: policy.ObligationTrigger.attribute_value:type_name -> policy.Value
+ 40, // 62: policy.ObligationTrigger.metadata:type_name -> common.Metadata
+ 37, // 63: policy.KasKey.key:type_name -> policy.AsymmetricKey
+ 5, // 64: policy.AsymmetricKey.key_algorithm:type_name -> policy.Algorithm
+ 6, // 65: policy.AsymmetricKey.key_status:type_name -> policy.KeyStatus
+ 7, // 66: policy.AsymmetricKey.key_mode:type_name -> policy.KeyMode
+ 35, // 67: policy.AsymmetricKey.public_key_ctx:type_name -> policy.PublicKeyCtx
+ 36, // 68: policy.AsymmetricKey.private_key_ctx:type_name -> policy.PrivateKeyCtx
+ 11, // 69: policy.AsymmetricKey.provider_config:type_name -> policy.KeyProviderConfig
+ 40, // 70: policy.AsymmetricKey.metadata:type_name -> common.Metadata
+ 6, // 71: policy.SymmetricKey.key_status:type_name -> policy.KeyStatus
+ 7, // 72: policy.SymmetricKey.key_mode:type_name -> policy.KeyMode
+ 11, // 73: policy.SymmetricKey.provider_config:type_name -> policy.KeyProviderConfig
+ 40, // 74: policy.SymmetricKey.metadata:type_name -> common.Metadata
+ 15, // 75: policy.RegisteredResourceValue.ActionAttributeValue.action:type_name -> policy.Action
+ 14, // 76: policy.RegisteredResourceValue.ActionAttributeValue.attribute_value:type_name -> policy.Value
+ 40, // 77: policy.RegisteredResourceValue.ActionAttributeValue.metadata:type_name -> common.Metadata
+ 78, // [78:78] is the sub-list for method output_type
+ 78, // [78:78] is the sub-list for method input_type
+ 78, // [78:78] is the sub-list for extension type_name
+ 78, // [78:78] is the sub-list for extension extendee
+ 0, // [0:78] is the sub-list for field type_name
}
func init() { file_policy_objects_proto_init() }
@@ -3645,7 +3923,7 @@ func file_policy_objects_proto_init() {
}
}
file_policy_objects_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*KasKey); i {
+ switch v := v.(*Obligation); i {
case 0:
return &v.state
case 1:
@@ -3657,7 +3935,7 @@ func file_policy_objects_proto_init() {
}
}
file_policy_objects_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PublicKeyCtx); i {
+ switch v := v.(*ObligationValue); i {
case 0:
return &v.state
case 1:
@@ -3669,7 +3947,7 @@ func file_policy_objects_proto_init() {
}
}
file_policy_objects_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrivateKeyCtx); i {
+ switch v := v.(*ObligationTrigger); i {
case 0:
return &v.state
case 1:
@@ -3681,7 +3959,7 @@ func file_policy_objects_proto_init() {
}
}
file_policy_objects_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AsymmetricKey); i {
+ switch v := v.(*KasKey); i {
case 0:
return &v.state
case 1:
@@ -3693,7 +3971,7 @@ func file_policy_objects_proto_init() {
}
}
file_policy_objects_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SymmetricKey); i {
+ switch v := v.(*PublicKeyCtx); i {
case 0:
return &v.state
case 1:
@@ -3705,6 +3983,42 @@ func file_policy_objects_proto_init() {
}
}
file_policy_objects_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PrivateKeyCtx); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_objects_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsymmetricKey); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_objects_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SymmetricKey); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_objects_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisteredResourceValue_ActionAttributeValue); i {
case 0:
return &v.state
@@ -3731,7 +4045,7 @@ func file_policy_objects_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_policy_objects_proto_rawDesc,
NumEnums: 9,
- NumMessages: 28,
+ NumMessages: 31,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/protocol/go/policy/obligations/obligations.pb.go b/protocol/go/policy/obligations/obligations.pb.go
new file mode 100644
index 0000000000..a5f8813ed1
--- /dev/null
+++ b/protocol/go/policy/obligations/obligations.pb.go
@@ -0,0 +1,2414 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.33.0
+// protoc (unknown)
+// source: policy/obligations/obligations.proto
+
+package obligations
+
+import (
+ common "github.com/opentdf/platform/protocol/go/common"
+ policy "github.com/opentdf/platform/protocol/go/policy"
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Definitions
+type GetObligationRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Identifier:
+ //
+ // *GetObligationRequest_Id
+ // *GetObligationRequest_Fqn
+ Identifier isGetObligationRequest_Identifier `protobuf_oneof:"identifier"`
+}
+
+func (x *GetObligationRequest) Reset() {
+ *x = GetObligationRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationRequest) ProtoMessage() {}
+
+func (x *GetObligationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationRequest.ProtoReflect.Descriptor instead.
+func (*GetObligationRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *GetObligationRequest) GetIdentifier() isGetObligationRequest_Identifier {
+ if m != nil {
+ return m.Identifier
+ }
+ return nil
+}
+
+func (x *GetObligationRequest) GetId() string {
+ if x, ok := x.GetIdentifier().(*GetObligationRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *GetObligationRequest) GetFqn() string {
+ if x, ok := x.GetIdentifier().(*GetObligationRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+type isGetObligationRequest_Identifier interface {
+ isGetObligationRequest_Identifier()
+}
+
+type GetObligationRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type GetObligationRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*GetObligationRequest_Id) isGetObligationRequest_Identifier() {}
+
+func (*GetObligationRequest_Fqn) isGetObligationRequest_Identifier() {}
+
+type GetObligationResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Obligation *policy.Obligation `protobuf:"bytes,1,opt,name=obligation,proto3" json:"obligation,omitempty"`
+}
+
+func (x *GetObligationResponse) Reset() {
+ *x = GetObligationResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationResponse) ProtoMessage() {}
+
+func (x *GetObligationResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationResponse.ProtoReflect.Descriptor instead.
+func (*GetObligationResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *GetObligationResponse) GetObligation() *policy.Obligation {
+ if x != nil {
+ return x.Obligation
+ }
+ return nil
+}
+
+type GetObligationsByFQNsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Fqns []string `protobuf:"bytes,1,rep,name=fqns,proto3" json:"fqns,omitempty"`
+}
+
+func (x *GetObligationsByFQNsRequest) Reset() {
+ *x = GetObligationsByFQNsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationsByFQNsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationsByFQNsRequest) ProtoMessage() {}
+
+func (x *GetObligationsByFQNsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationsByFQNsRequest.ProtoReflect.Descriptor instead.
+func (*GetObligationsByFQNsRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *GetObligationsByFQNsRequest) GetFqns() []string {
+ if x != nil {
+ return x.Fqns
+ }
+ return nil
+}
+
+type GetObligationsByFQNsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FqnObligationMap map[string]*policy.Obligation `protobuf:"bytes,1,rep,name=fqn_obligation_map,json=fqnObligationMap,proto3" json:"fqn_obligation_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *GetObligationsByFQNsResponse) Reset() {
+ *x = GetObligationsByFQNsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationsByFQNsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationsByFQNsResponse) ProtoMessage() {}
+
+func (x *GetObligationsByFQNsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationsByFQNsResponse.ProtoReflect.Descriptor instead.
+func (*GetObligationsByFQNsResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *GetObligationsByFQNsResponse) GetFqnObligationMap() map[string]*policy.Obligation {
+ if x != nil {
+ return x.FqnObligationMap
+ }
+ return nil
+}
+
+type CreateObligationRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required
+ //
+ // Types that are assignable to NamespaceIdentifier:
+ //
+ // *CreateObligationRequest_Id
+ // *CreateObligationRequest_Fqn
+ NamespaceIdentifier isCreateObligationRequest_NamespaceIdentifier `protobuf_oneof:"namespace_identifier"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+ // Optional
+ // Common metadata
+ Metadata *common.MetadataMutable `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+}
+
+func (x *CreateObligationRequest) Reset() {
+ *x = CreateObligationRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateObligationRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateObligationRequest) ProtoMessage() {}
+
+func (x *CreateObligationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateObligationRequest.ProtoReflect.Descriptor instead.
+func (*CreateObligationRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{4}
+}
+
+func (m *CreateObligationRequest) GetNamespaceIdentifier() isCreateObligationRequest_NamespaceIdentifier {
+ if m != nil {
+ return m.NamespaceIdentifier
+ }
+ return nil
+}
+
+func (x *CreateObligationRequest) GetId() string {
+ if x, ok := x.GetNamespaceIdentifier().(*CreateObligationRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *CreateObligationRequest) GetFqn() string {
+ if x, ok := x.GetNamespaceIdentifier().(*CreateObligationRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+func (x *CreateObligationRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *CreateObligationRequest) GetMetadata() *common.MetadataMutable {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+type isCreateObligationRequest_NamespaceIdentifier interface {
+ isCreateObligationRequest_NamespaceIdentifier()
+}
+
+type CreateObligationRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type CreateObligationRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*CreateObligationRequest_Id) isCreateObligationRequest_NamespaceIdentifier() {}
+
+func (*CreateObligationRequest_Fqn) isCreateObligationRequest_NamespaceIdentifier() {}
+
+type CreateObligationResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Obligation *policy.Obligation `protobuf:"bytes,1,opt,name=obligation,proto3" json:"obligation,omitempty"`
+}
+
+func (x *CreateObligationResponse) Reset() {
+ *x = CreateObligationResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateObligationResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateObligationResponse) ProtoMessage() {}
+
+func (x *CreateObligationResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateObligationResponse.ProtoReflect.Descriptor instead.
+func (*CreateObligationResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *CreateObligationResponse) GetObligation() *policy.Obligation {
+ if x != nil {
+ return x.Obligation
+ }
+ return nil
+}
+
+type UpdateObligationRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Optional
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ Metadata *common.MetadataMutable `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ MetadataUpdateBehavior common.MetadataUpdateEnum `protobuf:"varint,101,opt,name=metadata_update_behavior,json=metadataUpdateBehavior,proto3,enum=common.MetadataUpdateEnum" json:"metadata_update_behavior,omitempty"`
+}
+
+func (x *UpdateObligationRequest) Reset() {
+ *x = UpdateObligationRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateObligationRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateObligationRequest) ProtoMessage() {}
+
+func (x *UpdateObligationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateObligationRequest.ProtoReflect.Descriptor instead.
+func (*UpdateObligationRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *UpdateObligationRequest) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *UpdateObligationRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *UpdateObligationRequest) GetMetadata() *common.MetadataMutable {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+func (x *UpdateObligationRequest) GetMetadataUpdateBehavior() common.MetadataUpdateEnum {
+ if x != nil {
+ return x.MetadataUpdateBehavior
+ }
+ return common.MetadataUpdateEnum(0)
+}
+
+type UpdateObligationResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Obligation *policy.Obligation `protobuf:"bytes,1,opt,name=obligation,proto3" json:"obligation,omitempty"`
+}
+
+func (x *UpdateObligationResponse) Reset() {
+ *x = UpdateObligationResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateObligationResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateObligationResponse) ProtoMessage() {}
+
+func (x *UpdateObligationResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateObligationResponse.ProtoReflect.Descriptor instead.
+func (*UpdateObligationResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *UpdateObligationResponse) GetObligation() *policy.Obligation {
+ if x != nil {
+ return x.Obligation
+ }
+ return nil
+}
+
+type DeleteObligationRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Identifier:
+ //
+ // *DeleteObligationRequest_Id
+ // *DeleteObligationRequest_Fqn
+ Identifier isDeleteObligationRequest_Identifier `protobuf_oneof:"identifier"`
+}
+
+func (x *DeleteObligationRequest) Reset() {
+ *x = DeleteObligationRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteObligationRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteObligationRequest) ProtoMessage() {}
+
+func (x *DeleteObligationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteObligationRequest.ProtoReflect.Descriptor instead.
+func (*DeleteObligationRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{8}
+}
+
+func (m *DeleteObligationRequest) GetIdentifier() isDeleteObligationRequest_Identifier {
+ if m != nil {
+ return m.Identifier
+ }
+ return nil
+}
+
+func (x *DeleteObligationRequest) GetId() string {
+ if x, ok := x.GetIdentifier().(*DeleteObligationRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *DeleteObligationRequest) GetFqn() string {
+ if x, ok := x.GetIdentifier().(*DeleteObligationRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+type isDeleteObligationRequest_Identifier interface {
+ isDeleteObligationRequest_Identifier()
+}
+
+type DeleteObligationRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type DeleteObligationRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*DeleteObligationRequest_Id) isDeleteObligationRequest_Identifier() {}
+
+func (*DeleteObligationRequest_Fqn) isDeleteObligationRequest_Identifier() {}
+
+type DeleteObligationResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Obligation *policy.Obligation `protobuf:"bytes,1,opt,name=obligation,proto3" json:"obligation,omitempty"`
+}
+
+func (x *DeleteObligationResponse) Reset() {
+ *x = DeleteObligationResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteObligationResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteObligationResponse) ProtoMessage() {}
+
+func (x *DeleteObligationResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteObligationResponse.ProtoReflect.Descriptor instead.
+func (*DeleteObligationResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{9}
+}
+
+func (x *DeleteObligationResponse) GetObligation() *policy.Obligation {
+ if x != nil {
+ return x.Obligation
+ }
+ return nil
+}
+
+type ListObligationsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Optional
+ // Namespace ID or FQN
+ //
+ // Types that are assignable to NamespaceIdentifier:
+ //
+ // *ListObligationsRequest_Id
+ // *ListObligationsRequest_Fqn
+ NamespaceIdentifier isListObligationsRequest_NamespaceIdentifier `protobuf_oneof:"namespace_identifier"`
+ // Optional
+ Pagination *policy.PageRequest `protobuf:"bytes,10,opt,name=pagination,proto3" json:"pagination,omitempty"`
+}
+
+func (x *ListObligationsRequest) Reset() {
+ *x = ListObligationsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListObligationsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListObligationsRequest) ProtoMessage() {}
+
+func (x *ListObligationsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListObligationsRequest.ProtoReflect.Descriptor instead.
+func (*ListObligationsRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{10}
+}
+
+func (m *ListObligationsRequest) GetNamespaceIdentifier() isListObligationsRequest_NamespaceIdentifier {
+ if m != nil {
+ return m.NamespaceIdentifier
+ }
+ return nil
+}
+
+func (x *ListObligationsRequest) GetId() string {
+ if x, ok := x.GetNamespaceIdentifier().(*ListObligationsRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *ListObligationsRequest) GetFqn() string {
+ if x, ok := x.GetNamespaceIdentifier().(*ListObligationsRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+func (x *ListObligationsRequest) GetPagination() *policy.PageRequest {
+ if x != nil {
+ return x.Pagination
+ }
+ return nil
+}
+
+type isListObligationsRequest_NamespaceIdentifier interface {
+ isListObligationsRequest_NamespaceIdentifier()
+}
+
+type ListObligationsRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type ListObligationsRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*ListObligationsRequest_Id) isListObligationsRequest_NamespaceIdentifier() {}
+
+func (*ListObligationsRequest_Fqn) isListObligationsRequest_NamespaceIdentifier() {}
+
+type ListObligationsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Obligations []*policy.Obligation `protobuf:"bytes,1,rep,name=obligations,proto3" json:"obligations,omitempty"`
+ Pagination *policy.PageResponse `protobuf:"bytes,10,opt,name=pagination,proto3" json:"pagination,omitempty"`
+}
+
+func (x *ListObligationsResponse) Reset() {
+ *x = ListObligationsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListObligationsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListObligationsResponse) ProtoMessage() {}
+
+func (x *ListObligationsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListObligationsResponse.ProtoReflect.Descriptor instead.
+func (*ListObligationsResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{11}
+}
+
+func (x *ListObligationsResponse) GetObligations() []*policy.Obligation {
+ if x != nil {
+ return x.Obligations
+ }
+ return nil
+}
+
+func (x *ListObligationsResponse) GetPagination() *policy.PageResponse {
+ if x != nil {
+ return x.Pagination
+ }
+ return nil
+}
+
+// Values
+type GetObligationValueRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Identifier:
+ //
+ // *GetObligationValueRequest_Id
+ // *GetObligationValueRequest_Fqn
+ Identifier isGetObligationValueRequest_Identifier `protobuf_oneof:"identifier"`
+}
+
+func (x *GetObligationValueRequest) Reset() {
+ *x = GetObligationValueRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationValueRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationValueRequest) ProtoMessage() {}
+
+func (x *GetObligationValueRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationValueRequest.ProtoReflect.Descriptor instead.
+func (*GetObligationValueRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{12}
+}
+
+func (m *GetObligationValueRequest) GetIdentifier() isGetObligationValueRequest_Identifier {
+ if m != nil {
+ return m.Identifier
+ }
+ return nil
+}
+
+func (x *GetObligationValueRequest) GetId() string {
+ if x, ok := x.GetIdentifier().(*GetObligationValueRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *GetObligationValueRequest) GetFqn() string {
+ if x, ok := x.GetIdentifier().(*GetObligationValueRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+type isGetObligationValueRequest_Identifier interface {
+ isGetObligationValueRequest_Identifier()
+}
+
+type GetObligationValueRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type GetObligationValueRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*GetObligationValueRequest_Id) isGetObligationValueRequest_Identifier() {}
+
+func (*GetObligationValueRequest_Fqn) isGetObligationValueRequest_Identifier() {}
+
+type GetObligationValueResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value *policy.ObligationValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *GetObligationValueResponse) Reset() {
+ *x = GetObligationValueResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationValueResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationValueResponse) ProtoMessage() {}
+
+func (x *GetObligationValueResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationValueResponse.ProtoReflect.Descriptor instead.
+func (*GetObligationValueResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *GetObligationValueResponse) GetValue() *policy.ObligationValue {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+type GetObligationValuesByFQNsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Fqns []string `protobuf:"bytes,1,rep,name=fqns,proto3" json:"fqns,omitempty"`
+}
+
+func (x *GetObligationValuesByFQNsRequest) Reset() {
+ *x = GetObligationValuesByFQNsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationValuesByFQNsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationValuesByFQNsRequest) ProtoMessage() {}
+
+func (x *GetObligationValuesByFQNsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationValuesByFQNsRequest.ProtoReflect.Descriptor instead.
+func (*GetObligationValuesByFQNsRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *GetObligationValuesByFQNsRequest) GetFqns() []string {
+ if x != nil {
+ return x.Fqns
+ }
+ return nil
+}
+
+type GetObligationValuesByFQNsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FqnValueMap map[string]*policy.ObligationValue `protobuf:"bytes,1,rep,name=fqn_value_map,json=fqnValueMap,proto3" json:"fqn_value_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *GetObligationValuesByFQNsResponse) Reset() {
+ *x = GetObligationValuesByFQNsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetObligationValuesByFQNsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObligationValuesByFQNsResponse) ProtoMessage() {}
+
+func (x *GetObligationValuesByFQNsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetObligationValuesByFQNsResponse.ProtoReflect.Descriptor instead.
+func (*GetObligationValuesByFQNsResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *GetObligationValuesByFQNsResponse) GetFqnValueMap() map[string]*policy.ObligationValue {
+ if x != nil {
+ return x.FqnValueMap
+ }
+ return nil
+}
+
+type CreateObligationValueRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required
+ //
+ // Types that are assignable to ObligationIdentifier:
+ //
+ // *CreateObligationValueRequest_Id
+ // *CreateObligationValueRequest_Fqn
+ ObligationIdentifier isCreateObligationValueRequest_ObligationIdentifier `protobuf_oneof:"obligation_identifier"`
+ Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
+ // Optional
+ // Common metadata
+ Metadata *common.MetadataMutable `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+}
+
+func (x *CreateObligationValueRequest) Reset() {
+ *x = CreateObligationValueRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateObligationValueRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateObligationValueRequest) ProtoMessage() {}
+
+func (x *CreateObligationValueRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateObligationValueRequest.ProtoReflect.Descriptor instead.
+func (*CreateObligationValueRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{16}
+}
+
+func (m *CreateObligationValueRequest) GetObligationIdentifier() isCreateObligationValueRequest_ObligationIdentifier {
+ if m != nil {
+ return m.ObligationIdentifier
+ }
+ return nil
+}
+
+func (x *CreateObligationValueRequest) GetId() string {
+ if x, ok := x.GetObligationIdentifier().(*CreateObligationValueRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *CreateObligationValueRequest) GetFqn() string {
+ if x, ok := x.GetObligationIdentifier().(*CreateObligationValueRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+func (x *CreateObligationValueRequest) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+func (x *CreateObligationValueRequest) GetMetadata() *common.MetadataMutable {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+type isCreateObligationValueRequest_ObligationIdentifier interface {
+ isCreateObligationValueRequest_ObligationIdentifier()
+}
+
+type CreateObligationValueRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type CreateObligationValueRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*CreateObligationValueRequest_Id) isCreateObligationValueRequest_ObligationIdentifier() {}
+
+func (*CreateObligationValueRequest_Fqn) isCreateObligationValueRequest_ObligationIdentifier() {}
+
+type CreateObligationValueResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value *policy.ObligationValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *CreateObligationValueResponse) Reset() {
+ *x = CreateObligationValueResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateObligationValueResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateObligationValueResponse) ProtoMessage() {}
+
+func (x *CreateObligationValueResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateObligationValueResponse.ProtoReflect.Descriptor instead.
+func (*CreateObligationValueResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *CreateObligationValueResponse) GetValue() *policy.ObligationValue {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+type UpdateObligationValueRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Optional
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+ Metadata *common.MetadataMutable `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ MetadataUpdateBehavior common.MetadataUpdateEnum `protobuf:"varint,101,opt,name=metadata_update_behavior,json=metadataUpdateBehavior,proto3,enum=common.MetadataUpdateEnum" json:"metadata_update_behavior,omitempty"`
+}
+
+func (x *UpdateObligationValueRequest) Reset() {
+ *x = UpdateObligationValueRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateObligationValueRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateObligationValueRequest) ProtoMessage() {}
+
+func (x *UpdateObligationValueRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateObligationValueRequest.ProtoReflect.Descriptor instead.
+func (*UpdateObligationValueRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *UpdateObligationValueRequest) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *UpdateObligationValueRequest) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+func (x *UpdateObligationValueRequest) GetMetadata() *common.MetadataMutable {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+func (x *UpdateObligationValueRequest) GetMetadataUpdateBehavior() common.MetadataUpdateEnum {
+ if x != nil {
+ return x.MetadataUpdateBehavior
+ }
+ return common.MetadataUpdateEnum(0)
+}
+
+type UpdateObligationValueResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value *policy.ObligationValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *UpdateObligationValueResponse) Reset() {
+ *x = UpdateObligationValueResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateObligationValueResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateObligationValueResponse) ProtoMessage() {}
+
+func (x *UpdateObligationValueResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateObligationValueResponse.ProtoReflect.Descriptor instead.
+func (*UpdateObligationValueResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *UpdateObligationValueResponse) GetValue() *policy.ObligationValue {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+type DeleteObligationValueRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Identifier:
+ //
+ // *DeleteObligationValueRequest_Id
+ // *DeleteObligationValueRequest_Fqn
+ Identifier isDeleteObligationValueRequest_Identifier `protobuf_oneof:"identifier"`
+}
+
+func (x *DeleteObligationValueRequest) Reset() {
+ *x = DeleteObligationValueRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteObligationValueRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteObligationValueRequest) ProtoMessage() {}
+
+func (x *DeleteObligationValueRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteObligationValueRequest.ProtoReflect.Descriptor instead.
+func (*DeleteObligationValueRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{20}
+}
+
+func (m *DeleteObligationValueRequest) GetIdentifier() isDeleteObligationValueRequest_Identifier {
+ if m != nil {
+ return m.Identifier
+ }
+ return nil
+}
+
+func (x *DeleteObligationValueRequest) GetId() string {
+ if x, ok := x.GetIdentifier().(*DeleteObligationValueRequest_Id); ok {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *DeleteObligationValueRequest) GetFqn() string {
+ if x, ok := x.GetIdentifier().(*DeleteObligationValueRequest_Fqn); ok {
+ return x.Fqn
+ }
+ return ""
+}
+
+type isDeleteObligationValueRequest_Identifier interface {
+ isDeleteObligationValueRequest_Identifier()
+}
+
+type DeleteObligationValueRequest_Id struct {
+ Id string `protobuf:"bytes,1,opt,name=id,proto3,oneof"`
+}
+
+type DeleteObligationValueRequest_Fqn struct {
+ Fqn string `protobuf:"bytes,2,opt,name=fqn,proto3,oneof"`
+}
+
+func (*DeleteObligationValueRequest_Id) isDeleteObligationValueRequest_Identifier() {}
+
+func (*DeleteObligationValueRequest_Fqn) isDeleteObligationValueRequest_Identifier() {}
+
+type DeleteObligationValueResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value *policy.ObligationValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *DeleteObligationValueResponse) Reset() {
+ *x = DeleteObligationValueResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteObligationValueResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteObligationValueResponse) ProtoMessage() {}
+
+func (x *DeleteObligationValueResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteObligationValueResponse.ProtoReflect.Descriptor instead.
+func (*DeleteObligationValueResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *DeleteObligationValueResponse) GetValue() *policy.ObligationValue {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+// Triggers
+type AddObligationTriggerRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required
+ ObligationValueId string `protobuf:"bytes,1,opt,name=obligation_value_id,json=obligationValueId,proto3" json:"obligation_value_id,omitempty"`
+ ActionId string `protobuf:"bytes,2,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
+ AttributeValueId string `protobuf:"bytes,3,opt,name=attribute_value_id,json=attributeValueId,proto3" json:"attribute_value_id,omitempty"`
+ // Optional
+ // Common metadata
+ Metadata *common.MetadataMutable `protobuf:"bytes,100,opt,name=metadata,proto3" json:"metadata,omitempty"`
+}
+
+func (x *AddObligationTriggerRequest) Reset() {
+ *x = AddObligationTriggerRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddObligationTriggerRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddObligationTriggerRequest) ProtoMessage() {}
+
+func (x *AddObligationTriggerRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddObligationTriggerRequest.ProtoReflect.Descriptor instead.
+func (*AddObligationTriggerRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *AddObligationTriggerRequest) GetObligationValueId() string {
+ if x != nil {
+ return x.ObligationValueId
+ }
+ return ""
+}
+
+func (x *AddObligationTriggerRequest) GetActionId() string {
+ if x != nil {
+ return x.ActionId
+ }
+ return ""
+}
+
+func (x *AddObligationTriggerRequest) GetAttributeValueId() string {
+ if x != nil {
+ return x.AttributeValueId
+ }
+ return ""
+}
+
+func (x *AddObligationTriggerRequest) GetMetadata() *common.MetadataMutable {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+type AddObligationTriggerResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Trigger *policy.ObligationTrigger `protobuf:"bytes,1,opt,name=trigger,proto3" json:"trigger,omitempty"`
+}
+
+func (x *AddObligationTriggerResponse) Reset() {
+ *x = AddObligationTriggerResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddObligationTriggerResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddObligationTriggerResponse) ProtoMessage() {}
+
+func (x *AddObligationTriggerResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[23]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddObligationTriggerResponse.ProtoReflect.Descriptor instead.
+func (*AddObligationTriggerResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *AddObligationTriggerResponse) GetTrigger() *policy.ObligationTrigger {
+ if x != nil {
+ return x.Trigger
+ }
+ return nil
+}
+
+type RemoveObligationTriggerRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *RemoveObligationTriggerRequest) Reset() {
+ *x = RemoveObligationTriggerRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[24]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveObligationTriggerRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveObligationTriggerRequest) ProtoMessage() {}
+
+func (x *RemoveObligationTriggerRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[24]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveObligationTriggerRequest.ProtoReflect.Descriptor instead.
+func (*RemoveObligationTriggerRequest) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{24}
+}
+
+func (x *RemoveObligationTriggerRequest) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+type RemoveObligationTriggerResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Trigger *policy.ObligationTrigger `protobuf:"bytes,1,opt,name=trigger,proto3" json:"trigger,omitempty"`
+}
+
+func (x *RemoveObligationTriggerResponse) Reset() {
+ *x = RemoveObligationTriggerResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[25]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveObligationTriggerResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveObligationTriggerResponse) ProtoMessage() {}
+
+func (x *RemoveObligationTriggerResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_policy_obligations_obligations_proto_msgTypes[25]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveObligationTriggerResponse.ProtoReflect.Descriptor instead.
+func (*RemoveObligationTriggerResponse) Descriptor() ([]byte, []int) {
+ return file_policy_obligations_obligations_proto_rawDescGZIP(), []int{25}
+}
+
+func (x *RemoveObligationTriggerResponse) GetTrigger() *policy.ObligationTrigger {
+ if x != nil {
+ return x.Trigger
+ }
+ return nil
+}
+
+var File_policy_obligations_obligations_proto protoreflect.FileDescriptor
+
+var file_policy_obligations_obligations_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x14, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x73, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a,
+ 0x14, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x66, 0x71, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x66, 0x71, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x69,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x4b, 0x0a, 0x15, 0x47, 0x65, 0x74,
+ 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
+ 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x31, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x6e, 0x73, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x6e, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1c, 0x47, 0x65,
+ 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x46, 0x51,
+ 0x4e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x12, 0x66, 0x71,
+ 0x6e, 0x5f, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
+ 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x71, 0x6e, 0x4f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10,
+ 0x66, 0x71, 0x6e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70,
+ 0x1a, 0x57, 0x0a, 0x15, 0x46, 0x71, 0x6e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x01, 0x0a, 0x17, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x66, 0x71, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x66, 0x71, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64,
+ 0x61, 0x74, 0x61, 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x42, 0x16, 0x0a, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x18,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x0a, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0x0a,
+ 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x08,
+ 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x12, 0x54, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x65, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52,
+ 0x16, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42,
+ 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x4e, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x62, 0x6c,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x66, 0x71, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x48, 0x00, 0x52, 0x03, 0x66, 0x71, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e,
+ 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
+ 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x66, 0x71, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x48, 0x00, 0x52, 0x03, 0x66, 0x71, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14,
+ 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x22, 0x85, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6c,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x34, 0x0a, 0x0b, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x62, 0x6c, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x19,
+ 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x66,
+ 0x71, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x66, 0x71, 0x6e, 0x42,
+ 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x4b, 0x0a,
+ 0x1a, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x36, 0x0a, 0x20, 0x47, 0x65,
+ 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
+ 0x0a, 0x04, 0x66, 0x71, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71,
+ 0x6e, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0d, 0x66, 0x71, 0x6e, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x46, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x71, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x66, 0x71, 0x6e, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x57, 0x0a, 0x10, 0x46, 0x71, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa8, 0x01,
+ 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
+ 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64,
+ 0x12, 0x12, 0x0a, 0x03, 0x66, 0x71, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
+ 0x03, 0x66, 0x71, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65,
+ 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x75,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42,
+ 0x17, 0x0a, 0x15, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
+ 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64,
+ 0x61, 0x74, 0x61, 0x4d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
+ 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e,
+ 0x75, 0x6d, 0x52, 0x16, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x4e, 0x0a, 0x1d, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x52, 0x0a, 0x1c, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x03,
+ 0x66, 0x71, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x66, 0x71, 0x6e,
+ 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x4e,
+ 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xcd,
+ 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e,
+ 0x0a, 0x13, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x62, 0x6c,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61,
+ 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
+ 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74,
+ 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x75, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x53,
+ 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33,
+ 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67,
+ 0x67, 0x65, 0x72, 0x22, 0x30, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x6c,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67,
+ 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69,
+ 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x32, 0xc6, 0x0c,
+ 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x0f, 0x4c, 0x69, 0x73,
+ 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x69, 0x0a, 0x0d, 0x47, 0x65,
+ 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62,
+ 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x12, 0x2f, 0x2e,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30,
+ 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6f, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
+ 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63,
+ 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2d,
+ 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90,
+ 0x02, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73,
+ 0x12, 0x34, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
+ 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4f,
+ 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42,
+ 0x79, 0x46, 0x51, 0x4e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90,
+ 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x30, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x30, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x30, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e,
+ 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x70, 0x6f, 0x6c,
+ 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
+ 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69,
+ 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x84, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x33, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x6c, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xcf, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x42, 0x10, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x64, 0x66, 0x2f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
+ 0x72, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x67, 0x6f, 0x2f, 0x70,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x6f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0xa2, 0x02, 0x03, 0x50, 0x4f, 0x58, 0xaa, 0x02, 0x12, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x2e, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xca, 0x02, 0x12, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5c, 0x4f, 0x62, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0xe2, 0x02, 0x1e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5c, 0x4f, 0x62, 0x6c, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0xea, 0x02, 0x13, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x3a, 0x4f, 0x62, 0x6c,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_policy_obligations_obligations_proto_rawDescOnce sync.Once
+ file_policy_obligations_obligations_proto_rawDescData = file_policy_obligations_obligations_proto_rawDesc
+)
+
+func file_policy_obligations_obligations_proto_rawDescGZIP() []byte {
+ file_policy_obligations_obligations_proto_rawDescOnce.Do(func() {
+ file_policy_obligations_obligations_proto_rawDescData = protoimpl.X.CompressGZIP(file_policy_obligations_obligations_proto_rawDescData)
+ })
+ return file_policy_obligations_obligations_proto_rawDescData
+}
+
+var file_policy_obligations_obligations_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
+var file_policy_obligations_obligations_proto_goTypes = []interface{}{
+ (*GetObligationRequest)(nil), // 0: policy.obligations.GetObligationRequest
+ (*GetObligationResponse)(nil), // 1: policy.obligations.GetObligationResponse
+ (*GetObligationsByFQNsRequest)(nil), // 2: policy.obligations.GetObligationsByFQNsRequest
+ (*GetObligationsByFQNsResponse)(nil), // 3: policy.obligations.GetObligationsByFQNsResponse
+ (*CreateObligationRequest)(nil), // 4: policy.obligations.CreateObligationRequest
+ (*CreateObligationResponse)(nil), // 5: policy.obligations.CreateObligationResponse
+ (*UpdateObligationRequest)(nil), // 6: policy.obligations.UpdateObligationRequest
+ (*UpdateObligationResponse)(nil), // 7: policy.obligations.UpdateObligationResponse
+ (*DeleteObligationRequest)(nil), // 8: policy.obligations.DeleteObligationRequest
+ (*DeleteObligationResponse)(nil), // 9: policy.obligations.DeleteObligationResponse
+ (*ListObligationsRequest)(nil), // 10: policy.obligations.ListObligationsRequest
+ (*ListObligationsResponse)(nil), // 11: policy.obligations.ListObligationsResponse
+ (*GetObligationValueRequest)(nil), // 12: policy.obligations.GetObligationValueRequest
+ (*GetObligationValueResponse)(nil), // 13: policy.obligations.GetObligationValueResponse
+ (*GetObligationValuesByFQNsRequest)(nil), // 14: policy.obligations.GetObligationValuesByFQNsRequest
+ (*GetObligationValuesByFQNsResponse)(nil), // 15: policy.obligations.GetObligationValuesByFQNsResponse
+ (*CreateObligationValueRequest)(nil), // 16: policy.obligations.CreateObligationValueRequest
+ (*CreateObligationValueResponse)(nil), // 17: policy.obligations.CreateObligationValueResponse
+ (*UpdateObligationValueRequest)(nil), // 18: policy.obligations.UpdateObligationValueRequest
+ (*UpdateObligationValueResponse)(nil), // 19: policy.obligations.UpdateObligationValueResponse
+ (*DeleteObligationValueRequest)(nil), // 20: policy.obligations.DeleteObligationValueRequest
+ (*DeleteObligationValueResponse)(nil), // 21: policy.obligations.DeleteObligationValueResponse
+ (*AddObligationTriggerRequest)(nil), // 22: policy.obligations.AddObligationTriggerRequest
+ (*AddObligationTriggerResponse)(nil), // 23: policy.obligations.AddObligationTriggerResponse
+ (*RemoveObligationTriggerRequest)(nil), // 24: policy.obligations.RemoveObligationTriggerRequest
+ (*RemoveObligationTriggerResponse)(nil), // 25: policy.obligations.RemoveObligationTriggerResponse
+ nil, // 26: policy.obligations.GetObligationsByFQNsResponse.FqnObligationMapEntry
+ nil, // 27: policy.obligations.GetObligationValuesByFQNsResponse.FqnValueMapEntry
+ (*policy.Obligation)(nil), // 28: policy.Obligation
+ (*common.MetadataMutable)(nil), // 29: common.MetadataMutable
+ (common.MetadataUpdateEnum)(0), // 30: common.MetadataUpdateEnum
+ (*policy.PageRequest)(nil), // 31: policy.PageRequest
+ (*policy.PageResponse)(nil), // 32: policy.PageResponse
+ (*policy.ObligationValue)(nil), // 33: policy.ObligationValue
+ (*policy.ObligationTrigger)(nil), // 34: policy.ObligationTrigger
+}
+var file_policy_obligations_obligations_proto_depIdxs = []int32{
+ 28, // 0: policy.obligations.GetObligationResponse.obligation:type_name -> policy.Obligation
+ 26, // 1: policy.obligations.GetObligationsByFQNsResponse.fqn_obligation_map:type_name -> policy.obligations.GetObligationsByFQNsResponse.FqnObligationMapEntry
+ 29, // 2: policy.obligations.CreateObligationRequest.metadata:type_name -> common.MetadataMutable
+ 28, // 3: policy.obligations.CreateObligationResponse.obligation:type_name -> policy.Obligation
+ 29, // 4: policy.obligations.UpdateObligationRequest.metadata:type_name -> common.MetadataMutable
+ 30, // 5: policy.obligations.UpdateObligationRequest.metadata_update_behavior:type_name -> common.MetadataUpdateEnum
+ 28, // 6: policy.obligations.UpdateObligationResponse.obligation:type_name -> policy.Obligation
+ 28, // 7: policy.obligations.DeleteObligationResponse.obligation:type_name -> policy.Obligation
+ 31, // 8: policy.obligations.ListObligationsRequest.pagination:type_name -> policy.PageRequest
+ 28, // 9: policy.obligations.ListObligationsResponse.obligations:type_name -> policy.Obligation
+ 32, // 10: policy.obligations.ListObligationsResponse.pagination:type_name -> policy.PageResponse
+ 33, // 11: policy.obligations.GetObligationValueResponse.value:type_name -> policy.ObligationValue
+ 27, // 12: policy.obligations.GetObligationValuesByFQNsResponse.fqn_value_map:type_name -> policy.obligations.GetObligationValuesByFQNsResponse.FqnValueMapEntry
+ 29, // 13: policy.obligations.CreateObligationValueRequest.metadata:type_name -> common.MetadataMutable
+ 33, // 14: policy.obligations.CreateObligationValueResponse.value:type_name -> policy.ObligationValue
+ 29, // 15: policy.obligations.UpdateObligationValueRequest.metadata:type_name -> common.MetadataMutable
+ 30, // 16: policy.obligations.UpdateObligationValueRequest.metadata_update_behavior:type_name -> common.MetadataUpdateEnum
+ 33, // 17: policy.obligations.UpdateObligationValueResponse.value:type_name -> policy.ObligationValue
+ 33, // 18: policy.obligations.DeleteObligationValueResponse.value:type_name -> policy.ObligationValue
+ 29, // 19: policy.obligations.AddObligationTriggerRequest.metadata:type_name -> common.MetadataMutable
+ 34, // 20: policy.obligations.AddObligationTriggerResponse.trigger:type_name -> policy.ObligationTrigger
+ 34, // 21: policy.obligations.RemoveObligationTriggerResponse.trigger:type_name -> policy.ObligationTrigger
+ 28, // 22: policy.obligations.GetObligationsByFQNsResponse.FqnObligationMapEntry.value:type_name -> policy.Obligation
+ 33, // 23: policy.obligations.GetObligationValuesByFQNsResponse.FqnValueMapEntry.value:type_name -> policy.ObligationValue
+ 10, // 24: policy.obligations.Service.ListObligations:input_type -> policy.obligations.ListObligationsRequest
+ 0, // 25: policy.obligations.Service.GetObligation:input_type -> policy.obligations.GetObligationRequest
+ 2, // 26: policy.obligations.Service.GetObligationsByFQNs:input_type -> policy.obligations.GetObligationsByFQNsRequest
+ 4, // 27: policy.obligations.Service.CreateObligation:input_type -> policy.obligations.CreateObligationRequest
+ 6, // 28: policy.obligations.Service.UpdateObligation:input_type -> policy.obligations.UpdateObligationRequest
+ 8, // 29: policy.obligations.Service.DeleteObligation:input_type -> policy.obligations.DeleteObligationRequest
+ 12, // 30: policy.obligations.Service.GetObligationValue:input_type -> policy.obligations.GetObligationValueRequest
+ 14, // 31: policy.obligations.Service.GetObligationValuesByFQNs:input_type -> policy.obligations.GetObligationValuesByFQNsRequest
+ 16, // 32: policy.obligations.Service.CreateObligationValue:input_type -> policy.obligations.CreateObligationValueRequest
+ 18, // 33: policy.obligations.Service.UpdateObligationValue:input_type -> policy.obligations.UpdateObligationValueRequest
+ 20, // 34: policy.obligations.Service.DeleteObligationValue:input_type -> policy.obligations.DeleteObligationValueRequest
+ 22, // 35: policy.obligations.Service.AddObligationTrigger:input_type -> policy.obligations.AddObligationTriggerRequest
+ 24, // 36: policy.obligations.Service.RemoveObligationTrigger:input_type -> policy.obligations.RemoveObligationTriggerRequest
+ 11, // 37: policy.obligations.Service.ListObligations:output_type -> policy.obligations.ListObligationsResponse
+ 1, // 38: policy.obligations.Service.GetObligation:output_type -> policy.obligations.GetObligationResponse
+ 3, // 39: policy.obligations.Service.GetObligationsByFQNs:output_type -> policy.obligations.GetObligationsByFQNsResponse
+ 5, // 40: policy.obligations.Service.CreateObligation:output_type -> policy.obligations.CreateObligationResponse
+ 7, // 41: policy.obligations.Service.UpdateObligation:output_type -> policy.obligations.UpdateObligationResponse
+ 9, // 42: policy.obligations.Service.DeleteObligation:output_type -> policy.obligations.DeleteObligationResponse
+ 13, // 43: policy.obligations.Service.GetObligationValue:output_type -> policy.obligations.GetObligationValueResponse
+ 15, // 44: policy.obligations.Service.GetObligationValuesByFQNs:output_type -> policy.obligations.GetObligationValuesByFQNsResponse
+ 17, // 45: policy.obligations.Service.CreateObligationValue:output_type -> policy.obligations.CreateObligationValueResponse
+ 19, // 46: policy.obligations.Service.UpdateObligationValue:output_type -> policy.obligations.UpdateObligationValueResponse
+ 21, // 47: policy.obligations.Service.DeleteObligationValue:output_type -> policy.obligations.DeleteObligationValueResponse
+ 23, // 48: policy.obligations.Service.AddObligationTrigger:output_type -> policy.obligations.AddObligationTriggerResponse
+ 25, // 49: policy.obligations.Service.RemoveObligationTrigger:output_type -> policy.obligations.RemoveObligationTriggerResponse
+ 37, // [37:50] is the sub-list for method output_type
+ 24, // [24:37] is the sub-list for method input_type
+ 24, // [24:24] is the sub-list for extension type_name
+ 24, // [24:24] is the sub-list for extension extendee
+ 0, // [0:24] is the sub-list for field type_name
+}
+
+func init() { file_policy_obligations_obligations_proto_init() }
+func file_policy_obligations_obligations_proto_init() {
+ if File_policy_obligations_obligations_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_policy_obligations_obligations_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationsByFQNsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationsByFQNsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateObligationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateObligationResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateObligationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateObligationResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteObligationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteObligationResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListObligationsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListObligationsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationValueRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationValueResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationValuesByFQNsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObligationValuesByFQNsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateObligationValueRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateObligationValueResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateObligationValueRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateObligationValueResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteObligationValueRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteObligationValueResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddObligationTriggerRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddObligationTriggerResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveObligationTriggerRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveObligationTriggerResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_policy_obligations_obligations_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GetObligationRequest_Id)(nil),
+ (*GetObligationRequest_Fqn)(nil),
+ }
+ file_policy_obligations_obligations_proto_msgTypes[4].OneofWrappers = []interface{}{
+ (*CreateObligationRequest_Id)(nil),
+ (*CreateObligationRequest_Fqn)(nil),
+ }
+ file_policy_obligations_obligations_proto_msgTypes[8].OneofWrappers = []interface{}{
+ (*DeleteObligationRequest_Id)(nil),
+ (*DeleteObligationRequest_Fqn)(nil),
+ }
+ file_policy_obligations_obligations_proto_msgTypes[10].OneofWrappers = []interface{}{
+ (*ListObligationsRequest_Id)(nil),
+ (*ListObligationsRequest_Fqn)(nil),
+ }
+ file_policy_obligations_obligations_proto_msgTypes[12].OneofWrappers = []interface{}{
+ (*GetObligationValueRequest_Id)(nil),
+ (*GetObligationValueRequest_Fqn)(nil),
+ }
+ file_policy_obligations_obligations_proto_msgTypes[16].OneofWrappers = []interface{}{
+ (*CreateObligationValueRequest_Id)(nil),
+ (*CreateObligationValueRequest_Fqn)(nil),
+ }
+ file_policy_obligations_obligations_proto_msgTypes[20].OneofWrappers = []interface{}{
+ (*DeleteObligationValueRequest_Id)(nil),
+ (*DeleteObligationValueRequest_Fqn)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_policy_obligations_obligations_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 28,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_policy_obligations_obligations_proto_goTypes,
+ DependencyIndexes: file_policy_obligations_obligations_proto_depIdxs,
+ MessageInfos: file_policy_obligations_obligations_proto_msgTypes,
+ }.Build()
+ File_policy_obligations_obligations_proto = out.File
+ file_policy_obligations_obligations_proto_rawDesc = nil
+ file_policy_obligations_obligations_proto_goTypes = nil
+ file_policy_obligations_obligations_proto_depIdxs = nil
+}
diff --git a/protocol/go/policy/obligations/obligations_grpc.pb.go b/protocol/go/policy/obligations/obligations_grpc.pb.go
new file mode 100644
index 0000000000..f7b8a529da
--- /dev/null
+++ b/protocol/go/policy/obligations/obligations_grpc.pb.go
@@ -0,0 +1,553 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc (unknown)
+// source: policy/obligations/obligations.proto
+
+package obligations
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ Service_ListObligations_FullMethodName = "/policy.obligations.Service/ListObligations"
+ Service_GetObligation_FullMethodName = "/policy.obligations.Service/GetObligation"
+ Service_GetObligationsByFQNs_FullMethodName = "/policy.obligations.Service/GetObligationsByFQNs"
+ Service_CreateObligation_FullMethodName = "/policy.obligations.Service/CreateObligation"
+ Service_UpdateObligation_FullMethodName = "/policy.obligations.Service/UpdateObligation"
+ Service_DeleteObligation_FullMethodName = "/policy.obligations.Service/DeleteObligation"
+ Service_GetObligationValue_FullMethodName = "/policy.obligations.Service/GetObligationValue"
+ Service_GetObligationValuesByFQNs_FullMethodName = "/policy.obligations.Service/GetObligationValuesByFQNs"
+ Service_CreateObligationValue_FullMethodName = "/policy.obligations.Service/CreateObligationValue"
+ Service_UpdateObligationValue_FullMethodName = "/policy.obligations.Service/UpdateObligationValue"
+ Service_DeleteObligationValue_FullMethodName = "/policy.obligations.Service/DeleteObligationValue"
+ Service_AddObligationTrigger_FullMethodName = "/policy.obligations.Service/AddObligationTrigger"
+ Service_RemoveObligationTrigger_FullMethodName = "/policy.obligations.Service/RemoveObligationTrigger"
+)
+
+// ServiceClient is the client API for Service service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type ServiceClient interface {
+ ListObligations(ctx context.Context, in *ListObligationsRequest, opts ...grpc.CallOption) (*ListObligationsResponse, error)
+ GetObligation(ctx context.Context, in *GetObligationRequest, opts ...grpc.CallOption) (*GetObligationResponse, error)
+ GetObligationsByFQNs(ctx context.Context, in *GetObligationsByFQNsRequest, opts ...grpc.CallOption) (*GetObligationsByFQNsResponse, error)
+ CreateObligation(ctx context.Context, in *CreateObligationRequest, opts ...grpc.CallOption) (*CreateObligationResponse, error)
+ UpdateObligation(ctx context.Context, in *UpdateObligationRequest, opts ...grpc.CallOption) (*UpdateObligationResponse, error)
+ DeleteObligation(ctx context.Context, in *DeleteObligationRequest, opts ...grpc.CallOption) (*DeleteObligationResponse, error)
+ GetObligationValue(ctx context.Context, in *GetObligationValueRequest, opts ...grpc.CallOption) (*GetObligationValueResponse, error)
+ GetObligationValuesByFQNs(ctx context.Context, in *GetObligationValuesByFQNsRequest, opts ...grpc.CallOption) (*GetObligationValuesByFQNsResponse, error)
+ CreateObligationValue(ctx context.Context, in *CreateObligationValueRequest, opts ...grpc.CallOption) (*CreateObligationValueResponse, error)
+ UpdateObligationValue(ctx context.Context, in *UpdateObligationValueRequest, opts ...grpc.CallOption) (*UpdateObligationValueResponse, error)
+ DeleteObligationValue(ctx context.Context, in *DeleteObligationValueRequest, opts ...grpc.CallOption) (*DeleteObligationValueResponse, error)
+ AddObligationTrigger(ctx context.Context, in *AddObligationTriggerRequest, opts ...grpc.CallOption) (*AddObligationTriggerResponse, error)
+ RemoveObligationTrigger(ctx context.Context, in *RemoveObligationTriggerRequest, opts ...grpc.CallOption) (*RemoveObligationTriggerResponse, error)
+}
+
+type serviceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient {
+ return &serviceClient{cc}
+}
+
+func (c *serviceClient) ListObligations(ctx context.Context, in *ListObligationsRequest, opts ...grpc.CallOption) (*ListObligationsResponse, error) {
+ out := new(ListObligationsResponse)
+ err := c.cc.Invoke(ctx, Service_ListObligations_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) GetObligation(ctx context.Context, in *GetObligationRequest, opts ...grpc.CallOption) (*GetObligationResponse, error) {
+ out := new(GetObligationResponse)
+ err := c.cc.Invoke(ctx, Service_GetObligation_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) GetObligationsByFQNs(ctx context.Context, in *GetObligationsByFQNsRequest, opts ...grpc.CallOption) (*GetObligationsByFQNsResponse, error) {
+ out := new(GetObligationsByFQNsResponse)
+ err := c.cc.Invoke(ctx, Service_GetObligationsByFQNs_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) CreateObligation(ctx context.Context, in *CreateObligationRequest, opts ...grpc.CallOption) (*CreateObligationResponse, error) {
+ out := new(CreateObligationResponse)
+ err := c.cc.Invoke(ctx, Service_CreateObligation_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) UpdateObligation(ctx context.Context, in *UpdateObligationRequest, opts ...grpc.CallOption) (*UpdateObligationResponse, error) {
+ out := new(UpdateObligationResponse)
+ err := c.cc.Invoke(ctx, Service_UpdateObligation_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) DeleteObligation(ctx context.Context, in *DeleteObligationRequest, opts ...grpc.CallOption) (*DeleteObligationResponse, error) {
+ out := new(DeleteObligationResponse)
+ err := c.cc.Invoke(ctx, Service_DeleteObligation_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) GetObligationValue(ctx context.Context, in *GetObligationValueRequest, opts ...grpc.CallOption) (*GetObligationValueResponse, error) {
+ out := new(GetObligationValueResponse)
+ err := c.cc.Invoke(ctx, Service_GetObligationValue_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) GetObligationValuesByFQNs(ctx context.Context, in *GetObligationValuesByFQNsRequest, opts ...grpc.CallOption) (*GetObligationValuesByFQNsResponse, error) {
+ out := new(GetObligationValuesByFQNsResponse)
+ err := c.cc.Invoke(ctx, Service_GetObligationValuesByFQNs_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) CreateObligationValue(ctx context.Context, in *CreateObligationValueRequest, opts ...grpc.CallOption) (*CreateObligationValueResponse, error) {
+ out := new(CreateObligationValueResponse)
+ err := c.cc.Invoke(ctx, Service_CreateObligationValue_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) UpdateObligationValue(ctx context.Context, in *UpdateObligationValueRequest, opts ...grpc.CallOption) (*UpdateObligationValueResponse, error) {
+ out := new(UpdateObligationValueResponse)
+ err := c.cc.Invoke(ctx, Service_UpdateObligationValue_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) DeleteObligationValue(ctx context.Context, in *DeleteObligationValueRequest, opts ...grpc.CallOption) (*DeleteObligationValueResponse, error) {
+ out := new(DeleteObligationValueResponse)
+ err := c.cc.Invoke(ctx, Service_DeleteObligationValue_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) AddObligationTrigger(ctx context.Context, in *AddObligationTriggerRequest, opts ...grpc.CallOption) (*AddObligationTriggerResponse, error) {
+ out := new(AddObligationTriggerResponse)
+ err := c.cc.Invoke(ctx, Service_AddObligationTrigger_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceClient) RemoveObligationTrigger(ctx context.Context, in *RemoveObligationTriggerRequest, opts ...grpc.CallOption) (*RemoveObligationTriggerResponse, error) {
+ out := new(RemoveObligationTriggerResponse)
+ err := c.cc.Invoke(ctx, Service_RemoveObligationTrigger_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// ServiceServer is the server API for Service service.
+// All implementations must embed UnimplementedServiceServer
+// for forward compatibility
+type ServiceServer interface {
+ ListObligations(context.Context, *ListObligationsRequest) (*ListObligationsResponse, error)
+ GetObligation(context.Context, *GetObligationRequest) (*GetObligationResponse, error)
+ GetObligationsByFQNs(context.Context, *GetObligationsByFQNsRequest) (*GetObligationsByFQNsResponse, error)
+ CreateObligation(context.Context, *CreateObligationRequest) (*CreateObligationResponse, error)
+ UpdateObligation(context.Context, *UpdateObligationRequest) (*UpdateObligationResponse, error)
+ DeleteObligation(context.Context, *DeleteObligationRequest) (*DeleteObligationResponse, error)
+ GetObligationValue(context.Context, *GetObligationValueRequest) (*GetObligationValueResponse, error)
+ GetObligationValuesByFQNs(context.Context, *GetObligationValuesByFQNsRequest) (*GetObligationValuesByFQNsResponse, error)
+ CreateObligationValue(context.Context, *CreateObligationValueRequest) (*CreateObligationValueResponse, error)
+ UpdateObligationValue(context.Context, *UpdateObligationValueRequest) (*UpdateObligationValueResponse, error)
+ DeleteObligationValue(context.Context, *DeleteObligationValueRequest) (*DeleteObligationValueResponse, error)
+ AddObligationTrigger(context.Context, *AddObligationTriggerRequest) (*AddObligationTriggerResponse, error)
+ RemoveObligationTrigger(context.Context, *RemoveObligationTriggerRequest) (*RemoveObligationTriggerResponse, error)
+ mustEmbedUnimplementedServiceServer()
+}
+
+// UnimplementedServiceServer must be embedded to have forward compatible implementations.
+type UnimplementedServiceServer struct {
+}
+
+func (UnimplementedServiceServer) ListObligations(context.Context, *ListObligationsRequest) (*ListObligationsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListObligations not implemented")
+}
+func (UnimplementedServiceServer) GetObligation(context.Context, *GetObligationRequest) (*GetObligationResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetObligation not implemented")
+}
+func (UnimplementedServiceServer) GetObligationsByFQNs(context.Context, *GetObligationsByFQNsRequest) (*GetObligationsByFQNsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetObligationsByFQNs not implemented")
+}
+func (UnimplementedServiceServer) CreateObligation(context.Context, *CreateObligationRequest) (*CreateObligationResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateObligation not implemented")
+}
+func (UnimplementedServiceServer) UpdateObligation(context.Context, *UpdateObligationRequest) (*UpdateObligationResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateObligation not implemented")
+}
+func (UnimplementedServiceServer) DeleteObligation(context.Context, *DeleteObligationRequest) (*DeleteObligationResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteObligation not implemented")
+}
+func (UnimplementedServiceServer) GetObligationValue(context.Context, *GetObligationValueRequest) (*GetObligationValueResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetObligationValue not implemented")
+}
+func (UnimplementedServiceServer) GetObligationValuesByFQNs(context.Context, *GetObligationValuesByFQNsRequest) (*GetObligationValuesByFQNsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetObligationValuesByFQNs not implemented")
+}
+func (UnimplementedServiceServer) CreateObligationValue(context.Context, *CreateObligationValueRequest) (*CreateObligationValueResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateObligationValue not implemented")
+}
+func (UnimplementedServiceServer) UpdateObligationValue(context.Context, *UpdateObligationValueRequest) (*UpdateObligationValueResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateObligationValue not implemented")
+}
+func (UnimplementedServiceServer) DeleteObligationValue(context.Context, *DeleteObligationValueRequest) (*DeleteObligationValueResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteObligationValue not implemented")
+}
+func (UnimplementedServiceServer) AddObligationTrigger(context.Context, *AddObligationTriggerRequest) (*AddObligationTriggerResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method AddObligationTrigger not implemented")
+}
+func (UnimplementedServiceServer) RemoveObligationTrigger(context.Context, *RemoveObligationTriggerRequest) (*RemoveObligationTriggerResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method RemoveObligationTrigger not implemented")
+}
+func (UnimplementedServiceServer) mustEmbedUnimplementedServiceServer() {}
+
+// UnsafeServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to ServiceServer will
+// result in compilation errors.
+type UnsafeServiceServer interface {
+ mustEmbedUnimplementedServiceServer()
+}
+
+func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer) {
+ s.RegisterService(&Service_ServiceDesc, srv)
+}
+
+func _Service_ListObligations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListObligationsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).ListObligations(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_ListObligations_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).ListObligations(ctx, req.(*ListObligationsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_GetObligation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetObligationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).GetObligation(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_GetObligation_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).GetObligation(ctx, req.(*GetObligationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_GetObligationsByFQNs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetObligationsByFQNsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).GetObligationsByFQNs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_GetObligationsByFQNs_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).GetObligationsByFQNs(ctx, req.(*GetObligationsByFQNsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_CreateObligation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateObligationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).CreateObligation(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_CreateObligation_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).CreateObligation(ctx, req.(*CreateObligationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_UpdateObligation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateObligationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).UpdateObligation(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_UpdateObligation_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).UpdateObligation(ctx, req.(*UpdateObligationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_DeleteObligation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteObligationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).DeleteObligation(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_DeleteObligation_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).DeleteObligation(ctx, req.(*DeleteObligationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_GetObligationValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetObligationValueRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).GetObligationValue(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_GetObligationValue_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).GetObligationValue(ctx, req.(*GetObligationValueRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_GetObligationValuesByFQNs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetObligationValuesByFQNsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).GetObligationValuesByFQNs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_GetObligationValuesByFQNs_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).GetObligationValuesByFQNs(ctx, req.(*GetObligationValuesByFQNsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_CreateObligationValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateObligationValueRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).CreateObligationValue(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_CreateObligationValue_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).CreateObligationValue(ctx, req.(*CreateObligationValueRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_UpdateObligationValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateObligationValueRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).UpdateObligationValue(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_UpdateObligationValue_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).UpdateObligationValue(ctx, req.(*UpdateObligationValueRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_DeleteObligationValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteObligationValueRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).DeleteObligationValue(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_DeleteObligationValue_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).DeleteObligationValue(ctx, req.(*DeleteObligationValueRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_AddObligationTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(AddObligationTriggerRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).AddObligationTrigger(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_AddObligationTrigger_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).AddObligationTrigger(ctx, req.(*AddObligationTriggerRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Service_RemoveObligationTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(RemoveObligationTriggerRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceServer).RemoveObligationTrigger(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: Service_RemoveObligationTrigger_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceServer).RemoveObligationTrigger(ctx, req.(*RemoveObligationTriggerRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// Service_ServiceDesc is the grpc.ServiceDesc for Service service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var Service_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "policy.obligations.Service",
+ HandlerType: (*ServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ListObligations",
+ Handler: _Service_ListObligations_Handler,
+ },
+ {
+ MethodName: "GetObligation",
+ Handler: _Service_GetObligation_Handler,
+ },
+ {
+ MethodName: "GetObligationsByFQNs",
+ Handler: _Service_GetObligationsByFQNs_Handler,
+ },
+ {
+ MethodName: "CreateObligation",
+ Handler: _Service_CreateObligation_Handler,
+ },
+ {
+ MethodName: "UpdateObligation",
+ Handler: _Service_UpdateObligation_Handler,
+ },
+ {
+ MethodName: "DeleteObligation",
+ Handler: _Service_DeleteObligation_Handler,
+ },
+ {
+ MethodName: "GetObligationValue",
+ Handler: _Service_GetObligationValue_Handler,
+ },
+ {
+ MethodName: "GetObligationValuesByFQNs",
+ Handler: _Service_GetObligationValuesByFQNs_Handler,
+ },
+ {
+ MethodName: "CreateObligationValue",
+ Handler: _Service_CreateObligationValue_Handler,
+ },
+ {
+ MethodName: "UpdateObligationValue",
+ Handler: _Service_UpdateObligationValue_Handler,
+ },
+ {
+ MethodName: "DeleteObligationValue",
+ Handler: _Service_DeleteObligationValue_Handler,
+ },
+ {
+ MethodName: "AddObligationTrigger",
+ Handler: _Service_AddObligationTrigger_Handler,
+ },
+ {
+ MethodName: "RemoveObligationTrigger",
+ Handler: _Service_RemoveObligationTrigger_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "policy/obligations/obligations.proto",
+}
diff --git a/protocol/go/policy/obligations/obligationsconnect/obligations.connect.go b/protocol/go/policy/obligations/obligationsconnect/obligations.connect.go
new file mode 100644
index 0000000000..b10f952bfe
--- /dev/null
+++ b/protocol/go/policy/obligations/obligationsconnect/obligations.connect.go
@@ -0,0 +1,481 @@
+// Code generated by protoc-gen-connect-go. DO NOT EDIT.
+//
+// Source: policy/obligations/obligations.proto
+
+package obligationsconnect
+
+import (
+ connect "connectrpc.com/connect"
+ context "context"
+ errors "errors"
+ obligations "github.com/opentdf/platform/protocol/go/policy/obligations"
+ http "net/http"
+ strings "strings"
+)
+
+// This is a compile-time assertion to ensure that this generated file and the connect package are
+// compatible. If you get a compiler error that this constant is not defined, this code was
+// generated with a version of connect newer than the one compiled into your binary. You can fix the
+// problem by either regenerating this code with an older version of connect or updating the connect
+// version compiled into your binary.
+const _ = connect.IsAtLeastVersion1_13_0
+
+const (
+ // ServiceName is the fully-qualified name of the Service service.
+ ServiceName = "policy.obligations.Service"
+)
+
+// These constants are the fully-qualified names of the RPCs defined in this package. They're
+// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
+//
+// Note that these are different from the fully-qualified method names used by
+// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
+// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
+// period.
+const (
+ // ServiceListObligationsProcedure is the fully-qualified name of the Service's ListObligations RPC.
+ ServiceListObligationsProcedure = "/policy.obligations.Service/ListObligations"
+ // ServiceGetObligationProcedure is the fully-qualified name of the Service's GetObligation RPC.
+ ServiceGetObligationProcedure = "/policy.obligations.Service/GetObligation"
+ // ServiceGetObligationsByFQNsProcedure is the fully-qualified name of the Service's
+ // GetObligationsByFQNs RPC.
+ ServiceGetObligationsByFQNsProcedure = "/policy.obligations.Service/GetObligationsByFQNs"
+ // ServiceCreateObligationProcedure is the fully-qualified name of the Service's CreateObligation
+ // RPC.
+ ServiceCreateObligationProcedure = "/policy.obligations.Service/CreateObligation"
+ // ServiceUpdateObligationProcedure is the fully-qualified name of the Service's UpdateObligation
+ // RPC.
+ ServiceUpdateObligationProcedure = "/policy.obligations.Service/UpdateObligation"
+ // ServiceDeleteObligationProcedure is the fully-qualified name of the Service's DeleteObligation
+ // RPC.
+ ServiceDeleteObligationProcedure = "/policy.obligations.Service/DeleteObligation"
+ // ServiceGetObligationValueProcedure is the fully-qualified name of the Service's
+ // GetObligationValue RPC.
+ ServiceGetObligationValueProcedure = "/policy.obligations.Service/GetObligationValue"
+ // ServiceGetObligationValuesByFQNsProcedure is the fully-qualified name of the Service's
+ // GetObligationValuesByFQNs RPC.
+ ServiceGetObligationValuesByFQNsProcedure = "/policy.obligations.Service/GetObligationValuesByFQNs"
+ // ServiceCreateObligationValueProcedure is the fully-qualified name of the Service's
+ // CreateObligationValue RPC.
+ ServiceCreateObligationValueProcedure = "/policy.obligations.Service/CreateObligationValue"
+ // ServiceUpdateObligationValueProcedure is the fully-qualified name of the Service's
+ // UpdateObligationValue RPC.
+ ServiceUpdateObligationValueProcedure = "/policy.obligations.Service/UpdateObligationValue"
+ // ServiceDeleteObligationValueProcedure is the fully-qualified name of the Service's
+ // DeleteObligationValue RPC.
+ ServiceDeleteObligationValueProcedure = "/policy.obligations.Service/DeleteObligationValue"
+ // ServiceAddObligationTriggerProcedure is the fully-qualified name of the Service's
+ // AddObligationTrigger RPC.
+ ServiceAddObligationTriggerProcedure = "/policy.obligations.Service/AddObligationTrigger"
+ // ServiceRemoveObligationTriggerProcedure is the fully-qualified name of the Service's
+ // RemoveObligationTrigger RPC.
+ ServiceRemoveObligationTriggerProcedure = "/policy.obligations.Service/RemoveObligationTrigger"
+)
+
+// These variables are the protoreflect.Descriptor objects for the RPCs defined in this package.
+var (
+ serviceServiceDescriptor = obligations.File_policy_obligations_obligations_proto.Services().ByName("Service")
+ serviceListObligationsMethodDescriptor = serviceServiceDescriptor.Methods().ByName("ListObligations")
+ serviceGetObligationMethodDescriptor = serviceServiceDescriptor.Methods().ByName("GetObligation")
+ serviceGetObligationsByFQNsMethodDescriptor = serviceServiceDescriptor.Methods().ByName("GetObligationsByFQNs")
+ serviceCreateObligationMethodDescriptor = serviceServiceDescriptor.Methods().ByName("CreateObligation")
+ serviceUpdateObligationMethodDescriptor = serviceServiceDescriptor.Methods().ByName("UpdateObligation")
+ serviceDeleteObligationMethodDescriptor = serviceServiceDescriptor.Methods().ByName("DeleteObligation")
+ serviceGetObligationValueMethodDescriptor = serviceServiceDescriptor.Methods().ByName("GetObligationValue")
+ serviceGetObligationValuesByFQNsMethodDescriptor = serviceServiceDescriptor.Methods().ByName("GetObligationValuesByFQNs")
+ serviceCreateObligationValueMethodDescriptor = serviceServiceDescriptor.Methods().ByName("CreateObligationValue")
+ serviceUpdateObligationValueMethodDescriptor = serviceServiceDescriptor.Methods().ByName("UpdateObligationValue")
+ serviceDeleteObligationValueMethodDescriptor = serviceServiceDescriptor.Methods().ByName("DeleteObligationValue")
+ serviceAddObligationTriggerMethodDescriptor = serviceServiceDescriptor.Methods().ByName("AddObligationTrigger")
+ serviceRemoveObligationTriggerMethodDescriptor = serviceServiceDescriptor.Methods().ByName("RemoveObligationTrigger")
+)
+
+// ServiceClient is a client for the policy.obligations.Service service.
+type ServiceClient interface {
+ ListObligations(context.Context, *connect.Request[obligations.ListObligationsRequest]) (*connect.Response[obligations.ListObligationsResponse], error)
+ GetObligation(context.Context, *connect.Request[obligations.GetObligationRequest]) (*connect.Response[obligations.GetObligationResponse], error)
+ GetObligationsByFQNs(context.Context, *connect.Request[obligations.GetObligationsByFQNsRequest]) (*connect.Response[obligations.GetObligationsByFQNsResponse], error)
+ CreateObligation(context.Context, *connect.Request[obligations.CreateObligationRequest]) (*connect.Response[obligations.CreateObligationResponse], error)
+ UpdateObligation(context.Context, *connect.Request[obligations.UpdateObligationRequest]) (*connect.Response[obligations.UpdateObligationResponse], error)
+ DeleteObligation(context.Context, *connect.Request[obligations.DeleteObligationRequest]) (*connect.Response[obligations.DeleteObligationResponse], error)
+ GetObligationValue(context.Context, *connect.Request[obligations.GetObligationValueRequest]) (*connect.Response[obligations.GetObligationValueResponse], error)
+ GetObligationValuesByFQNs(context.Context, *connect.Request[obligations.GetObligationValuesByFQNsRequest]) (*connect.Response[obligations.GetObligationValuesByFQNsResponse], error)
+ CreateObligationValue(context.Context, *connect.Request[obligations.CreateObligationValueRequest]) (*connect.Response[obligations.CreateObligationValueResponse], error)
+ UpdateObligationValue(context.Context, *connect.Request[obligations.UpdateObligationValueRequest]) (*connect.Response[obligations.UpdateObligationValueResponse], error)
+ DeleteObligationValue(context.Context, *connect.Request[obligations.DeleteObligationValueRequest]) (*connect.Response[obligations.DeleteObligationValueResponse], error)
+ AddObligationTrigger(context.Context, *connect.Request[obligations.AddObligationTriggerRequest]) (*connect.Response[obligations.AddObligationTriggerResponse], error)
+ RemoveObligationTrigger(context.Context, *connect.Request[obligations.RemoveObligationTriggerRequest]) (*connect.Response[obligations.RemoveObligationTriggerResponse], error)
+}
+
+// NewServiceClient constructs a client for the policy.obligations.Service service. By default, it
+// uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends
+// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or
+// connect.WithGRPCWeb() options.
+//
+// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
+// http://api.acme.com or https://acme.com/grpc).
+func NewServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ServiceClient {
+ baseURL = strings.TrimRight(baseURL, "/")
+ return &serviceClient{
+ listObligations: connect.NewClient[obligations.ListObligationsRequest, obligations.ListObligationsResponse](
+ httpClient,
+ baseURL+ServiceListObligationsProcedure,
+ connect.WithSchema(serviceListObligationsMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithClientOptions(opts...),
+ ),
+ getObligation: connect.NewClient[obligations.GetObligationRequest, obligations.GetObligationResponse](
+ httpClient,
+ baseURL+ServiceGetObligationProcedure,
+ connect.WithSchema(serviceGetObligationMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithClientOptions(opts...),
+ ),
+ getObligationsByFQNs: connect.NewClient[obligations.GetObligationsByFQNsRequest, obligations.GetObligationsByFQNsResponse](
+ httpClient,
+ baseURL+ServiceGetObligationsByFQNsProcedure,
+ connect.WithSchema(serviceGetObligationsByFQNsMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithClientOptions(opts...),
+ ),
+ createObligation: connect.NewClient[obligations.CreateObligationRequest, obligations.CreateObligationResponse](
+ httpClient,
+ baseURL+ServiceCreateObligationProcedure,
+ connect.WithSchema(serviceCreateObligationMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ updateObligation: connect.NewClient[obligations.UpdateObligationRequest, obligations.UpdateObligationResponse](
+ httpClient,
+ baseURL+ServiceUpdateObligationProcedure,
+ connect.WithSchema(serviceUpdateObligationMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ deleteObligation: connect.NewClient[obligations.DeleteObligationRequest, obligations.DeleteObligationResponse](
+ httpClient,
+ baseURL+ServiceDeleteObligationProcedure,
+ connect.WithSchema(serviceDeleteObligationMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ getObligationValue: connect.NewClient[obligations.GetObligationValueRequest, obligations.GetObligationValueResponse](
+ httpClient,
+ baseURL+ServiceGetObligationValueProcedure,
+ connect.WithSchema(serviceGetObligationValueMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithClientOptions(opts...),
+ ),
+ getObligationValuesByFQNs: connect.NewClient[obligations.GetObligationValuesByFQNsRequest, obligations.GetObligationValuesByFQNsResponse](
+ httpClient,
+ baseURL+ServiceGetObligationValuesByFQNsProcedure,
+ connect.WithSchema(serviceGetObligationValuesByFQNsMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithClientOptions(opts...),
+ ),
+ createObligationValue: connect.NewClient[obligations.CreateObligationValueRequest, obligations.CreateObligationValueResponse](
+ httpClient,
+ baseURL+ServiceCreateObligationValueProcedure,
+ connect.WithSchema(serviceCreateObligationValueMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ updateObligationValue: connect.NewClient[obligations.UpdateObligationValueRequest, obligations.UpdateObligationValueResponse](
+ httpClient,
+ baseURL+ServiceUpdateObligationValueProcedure,
+ connect.WithSchema(serviceUpdateObligationValueMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ deleteObligationValue: connect.NewClient[obligations.DeleteObligationValueRequest, obligations.DeleteObligationValueResponse](
+ httpClient,
+ baseURL+ServiceDeleteObligationValueProcedure,
+ connect.WithSchema(serviceDeleteObligationValueMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ addObligationTrigger: connect.NewClient[obligations.AddObligationTriggerRequest, obligations.AddObligationTriggerResponse](
+ httpClient,
+ baseURL+ServiceAddObligationTriggerProcedure,
+ connect.WithSchema(serviceAddObligationTriggerMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ removeObligationTrigger: connect.NewClient[obligations.RemoveObligationTriggerRequest, obligations.RemoveObligationTriggerResponse](
+ httpClient,
+ baseURL+ServiceRemoveObligationTriggerProcedure,
+ connect.WithSchema(serviceRemoveObligationTriggerMethodDescriptor),
+ connect.WithClientOptions(opts...),
+ ),
+ }
+}
+
+// serviceClient implements ServiceClient.
+type serviceClient struct {
+ listObligations *connect.Client[obligations.ListObligationsRequest, obligations.ListObligationsResponse]
+ getObligation *connect.Client[obligations.GetObligationRequest, obligations.GetObligationResponse]
+ getObligationsByFQNs *connect.Client[obligations.GetObligationsByFQNsRequest, obligations.GetObligationsByFQNsResponse]
+ createObligation *connect.Client[obligations.CreateObligationRequest, obligations.CreateObligationResponse]
+ updateObligation *connect.Client[obligations.UpdateObligationRequest, obligations.UpdateObligationResponse]
+ deleteObligation *connect.Client[obligations.DeleteObligationRequest, obligations.DeleteObligationResponse]
+ getObligationValue *connect.Client[obligations.GetObligationValueRequest, obligations.GetObligationValueResponse]
+ getObligationValuesByFQNs *connect.Client[obligations.GetObligationValuesByFQNsRequest, obligations.GetObligationValuesByFQNsResponse]
+ createObligationValue *connect.Client[obligations.CreateObligationValueRequest, obligations.CreateObligationValueResponse]
+ updateObligationValue *connect.Client[obligations.UpdateObligationValueRequest, obligations.UpdateObligationValueResponse]
+ deleteObligationValue *connect.Client[obligations.DeleteObligationValueRequest, obligations.DeleteObligationValueResponse]
+ addObligationTrigger *connect.Client[obligations.AddObligationTriggerRequest, obligations.AddObligationTriggerResponse]
+ removeObligationTrigger *connect.Client[obligations.RemoveObligationTriggerRequest, obligations.RemoveObligationTriggerResponse]
+}
+
+// ListObligations calls policy.obligations.Service.ListObligations.
+func (c *serviceClient) ListObligations(ctx context.Context, req *connect.Request[obligations.ListObligationsRequest]) (*connect.Response[obligations.ListObligationsResponse], error) {
+ return c.listObligations.CallUnary(ctx, req)
+}
+
+// GetObligation calls policy.obligations.Service.GetObligation.
+func (c *serviceClient) GetObligation(ctx context.Context, req *connect.Request[obligations.GetObligationRequest]) (*connect.Response[obligations.GetObligationResponse], error) {
+ return c.getObligation.CallUnary(ctx, req)
+}
+
+// GetObligationsByFQNs calls policy.obligations.Service.GetObligationsByFQNs.
+func (c *serviceClient) GetObligationsByFQNs(ctx context.Context, req *connect.Request[obligations.GetObligationsByFQNsRequest]) (*connect.Response[obligations.GetObligationsByFQNsResponse], error) {
+ return c.getObligationsByFQNs.CallUnary(ctx, req)
+}
+
+// CreateObligation calls policy.obligations.Service.CreateObligation.
+func (c *serviceClient) CreateObligation(ctx context.Context, req *connect.Request[obligations.CreateObligationRequest]) (*connect.Response[obligations.CreateObligationResponse], error) {
+ return c.createObligation.CallUnary(ctx, req)
+}
+
+// UpdateObligation calls policy.obligations.Service.UpdateObligation.
+func (c *serviceClient) UpdateObligation(ctx context.Context, req *connect.Request[obligations.UpdateObligationRequest]) (*connect.Response[obligations.UpdateObligationResponse], error) {
+ return c.updateObligation.CallUnary(ctx, req)
+}
+
+// DeleteObligation calls policy.obligations.Service.DeleteObligation.
+func (c *serviceClient) DeleteObligation(ctx context.Context, req *connect.Request[obligations.DeleteObligationRequest]) (*connect.Response[obligations.DeleteObligationResponse], error) {
+ return c.deleteObligation.CallUnary(ctx, req)
+}
+
+// GetObligationValue calls policy.obligations.Service.GetObligationValue.
+func (c *serviceClient) GetObligationValue(ctx context.Context, req *connect.Request[obligations.GetObligationValueRequest]) (*connect.Response[obligations.GetObligationValueResponse], error) {
+ return c.getObligationValue.CallUnary(ctx, req)
+}
+
+// GetObligationValuesByFQNs calls policy.obligations.Service.GetObligationValuesByFQNs.
+func (c *serviceClient) GetObligationValuesByFQNs(ctx context.Context, req *connect.Request[obligations.GetObligationValuesByFQNsRequest]) (*connect.Response[obligations.GetObligationValuesByFQNsResponse], error) {
+ return c.getObligationValuesByFQNs.CallUnary(ctx, req)
+}
+
+// CreateObligationValue calls policy.obligations.Service.CreateObligationValue.
+func (c *serviceClient) CreateObligationValue(ctx context.Context, req *connect.Request[obligations.CreateObligationValueRequest]) (*connect.Response[obligations.CreateObligationValueResponse], error) {
+ return c.createObligationValue.CallUnary(ctx, req)
+}
+
+// UpdateObligationValue calls policy.obligations.Service.UpdateObligationValue.
+func (c *serviceClient) UpdateObligationValue(ctx context.Context, req *connect.Request[obligations.UpdateObligationValueRequest]) (*connect.Response[obligations.UpdateObligationValueResponse], error) {
+ return c.updateObligationValue.CallUnary(ctx, req)
+}
+
+// DeleteObligationValue calls policy.obligations.Service.DeleteObligationValue.
+func (c *serviceClient) DeleteObligationValue(ctx context.Context, req *connect.Request[obligations.DeleteObligationValueRequest]) (*connect.Response[obligations.DeleteObligationValueResponse], error) {
+ return c.deleteObligationValue.CallUnary(ctx, req)
+}
+
+// AddObligationTrigger calls policy.obligations.Service.AddObligationTrigger.
+func (c *serviceClient) AddObligationTrigger(ctx context.Context, req *connect.Request[obligations.AddObligationTriggerRequest]) (*connect.Response[obligations.AddObligationTriggerResponse], error) {
+ return c.addObligationTrigger.CallUnary(ctx, req)
+}
+
+// RemoveObligationTrigger calls policy.obligations.Service.RemoveObligationTrigger.
+func (c *serviceClient) RemoveObligationTrigger(ctx context.Context, req *connect.Request[obligations.RemoveObligationTriggerRequest]) (*connect.Response[obligations.RemoveObligationTriggerResponse], error) {
+ return c.removeObligationTrigger.CallUnary(ctx, req)
+}
+
+// ServiceHandler is an implementation of the policy.obligations.Service service.
+type ServiceHandler interface {
+ ListObligations(context.Context, *connect.Request[obligations.ListObligationsRequest]) (*connect.Response[obligations.ListObligationsResponse], error)
+ GetObligation(context.Context, *connect.Request[obligations.GetObligationRequest]) (*connect.Response[obligations.GetObligationResponse], error)
+ GetObligationsByFQNs(context.Context, *connect.Request[obligations.GetObligationsByFQNsRequest]) (*connect.Response[obligations.GetObligationsByFQNsResponse], error)
+ CreateObligation(context.Context, *connect.Request[obligations.CreateObligationRequest]) (*connect.Response[obligations.CreateObligationResponse], error)
+ UpdateObligation(context.Context, *connect.Request[obligations.UpdateObligationRequest]) (*connect.Response[obligations.UpdateObligationResponse], error)
+ DeleteObligation(context.Context, *connect.Request[obligations.DeleteObligationRequest]) (*connect.Response[obligations.DeleteObligationResponse], error)
+ GetObligationValue(context.Context, *connect.Request[obligations.GetObligationValueRequest]) (*connect.Response[obligations.GetObligationValueResponse], error)
+ GetObligationValuesByFQNs(context.Context, *connect.Request[obligations.GetObligationValuesByFQNsRequest]) (*connect.Response[obligations.GetObligationValuesByFQNsResponse], error)
+ CreateObligationValue(context.Context, *connect.Request[obligations.CreateObligationValueRequest]) (*connect.Response[obligations.CreateObligationValueResponse], error)
+ UpdateObligationValue(context.Context, *connect.Request[obligations.UpdateObligationValueRequest]) (*connect.Response[obligations.UpdateObligationValueResponse], error)
+ DeleteObligationValue(context.Context, *connect.Request[obligations.DeleteObligationValueRequest]) (*connect.Response[obligations.DeleteObligationValueResponse], error)
+ AddObligationTrigger(context.Context, *connect.Request[obligations.AddObligationTriggerRequest]) (*connect.Response[obligations.AddObligationTriggerResponse], error)
+ RemoveObligationTrigger(context.Context, *connect.Request[obligations.RemoveObligationTriggerRequest]) (*connect.Response[obligations.RemoveObligationTriggerResponse], error)
+}
+
+// NewServiceHandler builds an HTTP handler from the service implementation. It returns the path on
+// which to mount the handler and the handler itself.
+//
+// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
+// and JSON codecs. They also support gzip compression.
+func NewServiceHandler(svc ServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
+ serviceListObligationsHandler := connect.NewUnaryHandler(
+ ServiceListObligationsProcedure,
+ svc.ListObligations,
+ connect.WithSchema(serviceListObligationsMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceGetObligationHandler := connect.NewUnaryHandler(
+ ServiceGetObligationProcedure,
+ svc.GetObligation,
+ connect.WithSchema(serviceGetObligationMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceGetObligationsByFQNsHandler := connect.NewUnaryHandler(
+ ServiceGetObligationsByFQNsProcedure,
+ svc.GetObligationsByFQNs,
+ connect.WithSchema(serviceGetObligationsByFQNsMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceCreateObligationHandler := connect.NewUnaryHandler(
+ ServiceCreateObligationProcedure,
+ svc.CreateObligation,
+ connect.WithSchema(serviceCreateObligationMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceUpdateObligationHandler := connect.NewUnaryHandler(
+ ServiceUpdateObligationProcedure,
+ svc.UpdateObligation,
+ connect.WithSchema(serviceUpdateObligationMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceDeleteObligationHandler := connect.NewUnaryHandler(
+ ServiceDeleteObligationProcedure,
+ svc.DeleteObligation,
+ connect.WithSchema(serviceDeleteObligationMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceGetObligationValueHandler := connect.NewUnaryHandler(
+ ServiceGetObligationValueProcedure,
+ svc.GetObligationValue,
+ connect.WithSchema(serviceGetObligationValueMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceGetObligationValuesByFQNsHandler := connect.NewUnaryHandler(
+ ServiceGetObligationValuesByFQNsProcedure,
+ svc.GetObligationValuesByFQNs,
+ connect.WithSchema(serviceGetObligationValuesByFQNsMethodDescriptor),
+ connect.WithIdempotency(connect.IdempotencyNoSideEffects),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceCreateObligationValueHandler := connect.NewUnaryHandler(
+ ServiceCreateObligationValueProcedure,
+ svc.CreateObligationValue,
+ connect.WithSchema(serviceCreateObligationValueMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceUpdateObligationValueHandler := connect.NewUnaryHandler(
+ ServiceUpdateObligationValueProcedure,
+ svc.UpdateObligationValue,
+ connect.WithSchema(serviceUpdateObligationValueMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceDeleteObligationValueHandler := connect.NewUnaryHandler(
+ ServiceDeleteObligationValueProcedure,
+ svc.DeleteObligationValue,
+ connect.WithSchema(serviceDeleteObligationValueMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceAddObligationTriggerHandler := connect.NewUnaryHandler(
+ ServiceAddObligationTriggerProcedure,
+ svc.AddObligationTrigger,
+ connect.WithSchema(serviceAddObligationTriggerMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ serviceRemoveObligationTriggerHandler := connect.NewUnaryHandler(
+ ServiceRemoveObligationTriggerProcedure,
+ svc.RemoveObligationTrigger,
+ connect.WithSchema(serviceRemoveObligationTriggerMethodDescriptor),
+ connect.WithHandlerOptions(opts...),
+ )
+ return "/policy.obligations.Service/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ switch r.URL.Path {
+ case ServiceListObligationsProcedure:
+ serviceListObligationsHandler.ServeHTTP(w, r)
+ case ServiceGetObligationProcedure:
+ serviceGetObligationHandler.ServeHTTP(w, r)
+ case ServiceGetObligationsByFQNsProcedure:
+ serviceGetObligationsByFQNsHandler.ServeHTTP(w, r)
+ case ServiceCreateObligationProcedure:
+ serviceCreateObligationHandler.ServeHTTP(w, r)
+ case ServiceUpdateObligationProcedure:
+ serviceUpdateObligationHandler.ServeHTTP(w, r)
+ case ServiceDeleteObligationProcedure:
+ serviceDeleteObligationHandler.ServeHTTP(w, r)
+ case ServiceGetObligationValueProcedure:
+ serviceGetObligationValueHandler.ServeHTTP(w, r)
+ case ServiceGetObligationValuesByFQNsProcedure:
+ serviceGetObligationValuesByFQNsHandler.ServeHTTP(w, r)
+ case ServiceCreateObligationValueProcedure:
+ serviceCreateObligationValueHandler.ServeHTTP(w, r)
+ case ServiceUpdateObligationValueProcedure:
+ serviceUpdateObligationValueHandler.ServeHTTP(w, r)
+ case ServiceDeleteObligationValueProcedure:
+ serviceDeleteObligationValueHandler.ServeHTTP(w, r)
+ case ServiceAddObligationTriggerProcedure:
+ serviceAddObligationTriggerHandler.ServeHTTP(w, r)
+ case ServiceRemoveObligationTriggerProcedure:
+ serviceRemoveObligationTriggerHandler.ServeHTTP(w, r)
+ default:
+ http.NotFound(w, r)
+ }
+ })
+}
+
+// UnimplementedServiceHandler returns CodeUnimplemented from all methods.
+type UnimplementedServiceHandler struct{}
+
+func (UnimplementedServiceHandler) ListObligations(context.Context, *connect.Request[obligations.ListObligationsRequest]) (*connect.Response[obligations.ListObligationsResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.ListObligations is not implemented"))
+}
+
+func (UnimplementedServiceHandler) GetObligation(context.Context, *connect.Request[obligations.GetObligationRequest]) (*connect.Response[obligations.GetObligationResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.GetObligation is not implemented"))
+}
+
+func (UnimplementedServiceHandler) GetObligationsByFQNs(context.Context, *connect.Request[obligations.GetObligationsByFQNsRequest]) (*connect.Response[obligations.GetObligationsByFQNsResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.GetObligationsByFQNs is not implemented"))
+}
+
+func (UnimplementedServiceHandler) CreateObligation(context.Context, *connect.Request[obligations.CreateObligationRequest]) (*connect.Response[obligations.CreateObligationResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.CreateObligation is not implemented"))
+}
+
+func (UnimplementedServiceHandler) UpdateObligation(context.Context, *connect.Request[obligations.UpdateObligationRequest]) (*connect.Response[obligations.UpdateObligationResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.UpdateObligation is not implemented"))
+}
+
+func (UnimplementedServiceHandler) DeleteObligation(context.Context, *connect.Request[obligations.DeleteObligationRequest]) (*connect.Response[obligations.DeleteObligationResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.DeleteObligation is not implemented"))
+}
+
+func (UnimplementedServiceHandler) GetObligationValue(context.Context, *connect.Request[obligations.GetObligationValueRequest]) (*connect.Response[obligations.GetObligationValueResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.GetObligationValue is not implemented"))
+}
+
+func (UnimplementedServiceHandler) GetObligationValuesByFQNs(context.Context, *connect.Request[obligations.GetObligationValuesByFQNsRequest]) (*connect.Response[obligations.GetObligationValuesByFQNsResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.GetObligationValuesByFQNs is not implemented"))
+}
+
+func (UnimplementedServiceHandler) CreateObligationValue(context.Context, *connect.Request[obligations.CreateObligationValueRequest]) (*connect.Response[obligations.CreateObligationValueResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.CreateObligationValue is not implemented"))
+}
+
+func (UnimplementedServiceHandler) UpdateObligationValue(context.Context, *connect.Request[obligations.UpdateObligationValueRequest]) (*connect.Response[obligations.UpdateObligationValueResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.UpdateObligationValue is not implemented"))
+}
+
+func (UnimplementedServiceHandler) DeleteObligationValue(context.Context, *connect.Request[obligations.DeleteObligationValueRequest]) (*connect.Response[obligations.DeleteObligationValueResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.DeleteObligationValue is not implemented"))
+}
+
+func (UnimplementedServiceHandler) AddObligationTrigger(context.Context, *connect.Request[obligations.AddObligationTriggerRequest]) (*connect.Response[obligations.AddObligationTriggerResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.AddObligationTrigger is not implemented"))
+}
+
+func (UnimplementedServiceHandler) RemoveObligationTrigger(context.Context, *connect.Request[obligations.RemoveObligationTriggerRequest]) (*connect.Response[obligations.RemoveObligationTriggerResponse], error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("policy.obligations.Service.RemoveObligationTrigger is not implemented"))
+}
diff --git a/service/policy/objects.proto b/service/policy/objects.proto
index cb7ba7a113..9c7e854e07 100644
--- a/service/policy/objects.proto
+++ b/service/policy/objects.proto
@@ -5,6 +5,7 @@ package policy;
import "buf/validate/validate.proto";
import "common/common.proto";
import "google/protobuf/wrappers.proto";
+// import "google/protobuf/struct.proto";
message SimpleKasPublicKey {
Algorithm algorithm = 1;
@@ -447,7 +448,6 @@ message RegisteredResourceValue {
// Common metadata
common.Metadata metadata = 100;
}
-
string id = 1;
string value = 2;
@@ -460,6 +460,50 @@ message RegisteredResourceValue {
common.Metadata metadata = 100;
}
+message Obligation {
+ string id = 1;
+
+ Namespace namespace = 2;
+
+ string name = 3;
+
+ repeated ObligationValue values = 4;
+
+ common.Metadata metadata = 100;
+}
+
+message ObligationValue {
+ string id = 1;
+
+ Obligation obligation = 2;
+
+ string value = 3;
+
+ common.Metadata metadata = 100;
+}
+
+message ObligationTrigger {
+ string id = 1;
+
+ ObligationValue obligation_value = 2;
+
+ Action action = 3;
+
+ Value attribute_value = 4;
+
+ common.Metadata metadata = 100;
+}
+
+// message ObligationFulfiller {
+// string id = 1;
+
+// ObligationValue obligation_value = 2;
+
+// google.protobuf.Struct conditionals = 3;
+
+// common.Metadata metadata = 100;
+// }
+
// Supported key algorithms.
enum Algorithm {
ALGORITHM_UNSPECIFIED = 0;
diff --git a/service/policy/obligations/obligations.go.x b/service/policy/obligations/obligations.go.x
new file mode 100644
index 0000000000..827475525e
--- /dev/null
+++ b/service/policy/obligations/obligations.go.x
@@ -0,0 +1,158 @@
+package obligations
+
+import (
+ "context"
+ "fmt"
+ "log/slog"
+
+ "connectrpc.com/connect"
+ "github.com/opentdf/platform/protocol/go/policy/obligations"
+ "github.com/opentdf/platform/protocol/go/policy/obligations/obligationsconnect"
+ "github.com/opentdf/platform/service/logger"
+ "github.com/opentdf/platform/service/pkg/config"
+ "github.com/opentdf/platform/service/pkg/serviceregistry"
+ policyconfig "github.com/opentdf/platform/service/policy/config"
+ policydb "github.com/opentdf/platform/service/policy/db"
+)
+
+type Service struct {
+ dbClient policydb.PolicyDBClient
+ logger *logger.Logger
+ config *policyconfig.Config
+}
+
+func OnConfigUpdate(s *Service) serviceregistry.OnConfigUpdateHook {
+ return func(ctx context.Context, cfg config.ServiceConfig) error {
+ sharedCfg, err := policyconfig.GetSharedPolicyConfig(cfg)
+ if err != nil {
+ return fmt.Errorf("failed to get shared policy config: %w", err)
+ }
+ s.config = sharedCfg
+ s.dbClient = policydb.NewClient(s.dbClient.Client, s.logger, int32(sharedCfg.ListRequestLimitMax), int32(sharedCfg.ListRequestLimitDefault))
+
+ s.logger.InfoContext(ctx, "obligations service config reloaded")
+
+ return nil
+ }
+}
+
+func NewRegistration(ns string, dbRegister serviceregistry.DBRegister) *serviceregistry.Service[obligationsconnect.ServiceHandler] {
+ service := new(Service)
+ onUpdateConfigHook := OnConfigUpdate(service)
+
+ return &serviceregistry.Service[obligationsconnect.ServiceHandler]{
+ Close: service.Close,
+ ServiceOptions: serviceregistry.ServiceOptions[obligationsconnect.ServiceHandler]{
+ Namespace: ns,
+ DB: dbRegister,
+ ServiceDesc: &obligations.Service_ServiceDesc,
+ ConnectRPCFunc: obligationsconnect.NewServiceHandler,
+ OnConfigUpdate: onUpdateConfigHook,
+ RegisterFunc: func(srp serviceregistry.RegistrationParams) (obligationsconnect.ServiceHandler, serviceregistry.HandlerServer) {
+ logger := srp.Logger
+ cfg, err := policyconfig.GetSharedPolicyConfig(srp.Config)
+ if err != nil {
+ logger.Error("error getting obligations service policy config", slog.String("error", err.Error()))
+ panic(err)
+ }
+
+ service.logger = logger
+ service.dbClient = policydb.NewClient(srp.DBClient, logger, int32(cfg.ListRequestLimitMax), int32(cfg.ListRequestLimitDefault))
+ service.config = cfg
+ return service, nil
+ },
+ },
+ }
+}
+
+// IsReady checks if the service is ready to serve requests.
+// Without a database connection, the service is not ready.
+func (s *Service) IsReady(ctx context.Context) error {
+ s.logger.TraceContext(ctx, "checking readiness of obligations service")
+ if err := s.dbClient.SQLDB.PingContext(ctx); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// Close gracefully shuts down the service, closing the database client.
+func (s *Service) Close() {
+ s.logger.Info("gracefully shutting down obligations service")
+ s.dbClient.Close()
+}
+
+func (s *Service) ListObligations(_ context.Context, _ *connect.Request[obligations.ListObligationsRequest]) (*connect.Response[obligations.ListObligationsResponse], error) {
+ // TODO: Implement ListObligations logic
+ return connect.NewResponse(&obligations.ListObligationsResponse{}), nil
+}
+
+func (s *Service) CreateObligation(_ context.Context, _ *connect.Request[obligations.CreateObligationRequest]) (*connect.Response[obligations.CreateObligationResponse], error) {
+ // TODO: Implement CreateObligation logic
+ return connect.NewResponse(&obligations.CreateObligationResponse{}), nil
+}
+
+func (s *Service) GetObligation(_ context.Context, _ *connect.Request[obligations.GetObligationRequest]) (*connect.Response[obligations.GetObligationResponse], error) {
+ // TODO: Implement GetObligation logic
+ return connect.NewResponse(&obligations.GetObligationResponse{}), nil
+}
+
+func (s *Service) GetObligationsByFQNs(_ context.Context, _ *connect.Request[obligations.GetObligationsByFQNsRequest]) (*connect.Response[obligations.GetObligationsByFQNsResponse], error) {
+ // TODO: Implement GetObligationsByFQNs logic
+ return connect.NewResponse(&obligations.GetObligationsByFQNsResponse{}), nil
+}
+
+func (s *Service) UpdateObligation(_ context.Context, _ *connect.Request[obligations.UpdateObligationRequest]) (*connect.Response[obligations.UpdateObligationResponse], error) {
+ // TODO: Implement UpdateObligation logic
+ return connect.NewResponse(&obligations.UpdateObligationResponse{}), nil
+}
+
+func (s *Service) DeleteObligation(_ context.Context, _ *connect.Request[obligations.DeleteObligationRequest]) (*connect.Response[obligations.DeleteObligationResponse], error) {
+ // TODO: Implement DeleteObligation logic
+ return connect.NewResponse(&obligations.DeleteObligationResponse{}), nil
+}
+
+func (s *Service) CreateObligationValue(_ context.Context, _ *connect.Request[obligations.CreateObligationValueRequest]) (*connect.Response[obligations.CreateObligationValueResponse], error) {
+ // TODO: Implement CreateObligationValue logic
+ return connect.NewResponse(&obligations.CreateObligationValueResponse{}), nil
+}
+
+func (s *Service) GetObligationValue(_ context.Context, _ *connect.Request[obligations.GetObligationValueRequest]) (*connect.Response[obligations.GetObligationValueResponse], error) {
+ // TODO: Implement GetObligationValue logic
+ return connect.NewResponse(&obligations.GetObligationValueResponse{}), nil
+}
+
+func (s *Service) GetObligationValuesByFQNs(_ context.Context, _ *connect.Request[obligations.GetObligationValuesByFQNsRequest]) (*connect.Response[obligations.GetObligationValuesByFQNsResponse], error) {
+ // TODO: Implement GetObligationValuesByFQNs logic
+ return connect.NewResponse(&obligations.GetObligationValuesByFQNsResponse{}), nil
+}
+
+func (s *Service) UpdateObligationValue(_ context.Context, _ *connect.Request[obligations.UpdateObligationValueRequest]) (*connect.Response[obligations.UpdateObligationValueResponse], error) {
+ // TODO: Implement UpdateObligationValue logic
+ return connect.NewResponse(&obligations.UpdateObligationValueResponse{}), nil
+}
+
+func (s *Service) DeleteObligationValue(_ context.Context, _ *connect.Request[obligations.DeleteObligationValueRequest]) (*connect.Response[obligations.DeleteObligationValueResponse], error) {
+ // TODO: Implement DeleteObligationValue logic
+ return connect.NewResponse(&obligations.DeleteObligationValueResponse{}), nil
+}
+
+func (s *Service) AddObligationTrigger(_ context.Context, _ *connect.Request[obligations.AddObligationTriggerRequest]) (*connect.Response[obligations.AddObligationTriggerResponse], error) {
+ // TODO: Implement AddObligationTrigger logic
+ return connect.NewResponse(&obligations.AddObligationTriggerResponse{}), nil
+}
+
+func (s *Service) RemoveObligationTrigger(_ context.Context, _ *connect.Request[obligations.RemoveObligationTriggerRequest]) (*connect.Response[obligations.RemoveObligationTriggerResponse], error) {
+ // TODO: Implement RemoveObligationTrigger logic
+ return connect.NewResponse(&obligations.RemoveObligationTriggerResponse{}), nil
+}
+
+// func (s *Service) AddObligationFulfiller(_ context.Context, _ *connect.Request[obligations.AddObligationFulfillerRequest]) (*connect.Response[obligations.AddObligationFulfillerResponse], error) {
+// // TODO: Implement AddObligationFulfiller logic
+// return connect.NewResponse(&obligations.AddObligationFulfillerResponse{}), nil
+// }
+
+// func (s *Service) RemoveObligationFulfiller(_ context.Context, _ *connect.Request[obligations.RemoveObligationFulfillerRequest]) (*connect.Response[obligations.RemoveObligationFulfillerResponse], error) {
+// // TODO: Implement RemoveObligationFulfiller logic
+// return connect.NewResponse(&obligations.RemoveObligationFulfillerResponse{}), nil
+// }
diff --git a/service/policy/obligations/obligations.proto b/service/policy/obligations/obligations.proto
new file mode 100644
index 0000000000..2a610502b6
--- /dev/null
+++ b/service/policy/obligations/obligations.proto
@@ -0,0 +1,260 @@
+syntax = "proto3";
+
+package policy.obligations;
+
+import "common/common.proto";
+import "policy/objects.proto";
+import "policy/selectors.proto";
+// import "google/protobuf/struct.proto";
+
+///
+/// Obligation
+///
+
+// Definitions
+message GetObligationRequest {
+ oneof identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+}
+
+message GetObligationResponse {
+ policy.Obligation obligation = 1;
+}
+
+message GetObligationsByFQNsRequest {
+ repeated string fqns = 1;
+}
+
+message GetObligationsByFQNsResponse {
+ map fqn_obligation_map = 1;
+}
+
+message CreateObligationRequest {
+ // Required
+ oneof namespace_identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+ string name = 3;
+ // Optional
+ // Common metadata
+ common.MetadataMutable metadata = 100;
+}
+
+message CreateObligationResponse {
+ policy.Obligation obligation = 1;
+}
+
+message UpdateObligationRequest {
+ // Required
+ string id = 1;
+
+ // Optional
+ string name = 2;
+ common.MetadataMutable metadata = 100;
+ common.MetadataUpdateEnum metadata_update_behavior = 101;
+}
+
+message UpdateObligationResponse {
+ policy.Obligation obligation = 1;
+}
+
+message DeleteObligationRequest {
+ oneof identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+}
+
+message DeleteObligationResponse {
+ policy.Obligation obligation = 1;
+}
+
+message ListObligationsRequest {
+ // Optional
+ // Namespace ID or FQN
+ oneof namespace_identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+
+ // Optional
+ policy.PageRequest pagination = 10;
+}
+
+message ListObligationsResponse {
+ repeated policy.Obligation obligations = 1;
+
+ policy.PageResponse pagination = 10;
+}
+
+// Values
+message GetObligationValueRequest {
+ oneof identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+}
+
+message GetObligationValueResponse {
+ policy.ObligationValue value = 1;
+}
+
+message GetObligationValuesByFQNsRequest {
+ repeated string fqns = 1;
+}
+
+message GetObligationValuesByFQNsResponse {
+ map fqn_value_map = 1;
+}
+
+message CreateObligationValueRequest {
+ // Required
+ oneof obligation_identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+ string value = 3;
+
+ // Optional
+ // Common metadata
+ common.MetadataMutable metadata = 100;
+}
+
+message CreateObligationValueResponse {
+ policy.ObligationValue value = 1;
+}
+
+message UpdateObligationValueRequest {
+ // Required
+ string id = 1;
+
+ // Optional
+ string value = 2;
+ common.MetadataMutable metadata = 100;
+ common.MetadataUpdateEnum metadata_update_behavior = 101;
+}
+
+message UpdateObligationValueResponse {
+ policy.ObligationValue value = 1;
+}
+
+message DeleteObligationValueRequest {
+ oneof identifier {
+ string id = 1;
+ string fqn = 2;
+ }
+}
+
+message DeleteObligationValueResponse {
+ policy.ObligationValue value = 1;
+}
+
+// Triggers
+message AddObligationTriggerRequest {
+ // Required
+ string obligation_value_id = 1;
+ string action_id = 2;
+ string attribute_value_id = 3;
+ // Optional
+ // Common metadata
+ common.MetadataMutable metadata = 100;
+}
+
+message AddObligationTriggerResponse {
+ policy.ObligationTrigger trigger = 1;
+}
+
+message RemoveObligationTriggerRequest {
+ string id = 1;
+}
+
+message RemoveObligationTriggerResponse {
+ policy.ObligationTrigger trigger = 1;
+}
+
+// Fulfillers
+// message AddObligationFulfillerRequest {
+// // Required
+// string obligation_value_id = 1;
+// google.protobuf.Struct conditionals = 2;
+// // Optional
+// // Common metadata
+// common.MetadataMutable metadata = 100;
+// }
+
+// message AddObligationFulfillerResponse {
+// policy.ObligationFulfiller fulfiller = 1;
+// }
+
+// message RemoveObligationFulfillerRequest {
+// string id = 1;
+// }
+
+// message RemoveObligationFulfillerResponse {
+// policy.ObligationFulfiller fulfiller = 1;
+// }
+
+///
+/// Obligation Service
+///
+service Service {
+
+ /*--------------------------------------*
+ * Obligation RPCs
+ *--------------------------------------*/
+
+ rpc ListObligations(ListObligationsRequest) returns (ListObligationsResponse) {
+ option idempotency_level = NO_SIDE_EFFECTS;
+ }
+
+ rpc GetObligation(GetObligationRequest) returns (GetObligationResponse) {
+ option idempotency_level = NO_SIDE_EFFECTS;
+ }
+
+ rpc GetObligationsByFQNs(GetObligationsByFQNsRequest) returns (GetObligationsByFQNsResponse) {
+ option idempotency_level = NO_SIDE_EFFECTS;
+ }
+
+ rpc CreateObligation(CreateObligationRequest) returns (CreateObligationResponse) {}
+
+ rpc UpdateObligation(UpdateObligationRequest) returns (UpdateObligationResponse) {}
+
+ rpc DeleteObligation(DeleteObligationRequest) returns (DeleteObligationResponse) {}
+
+ /*--------------------------------------*
+ * Value RPCs
+ *--------------------------------------*/
+
+ rpc GetObligationValue(GetObligationValueRequest) returns (GetObligationValueResponse) {
+ option idempotency_level = NO_SIDE_EFFECTS;
+ }
+
+ rpc GetObligationValuesByFQNs(GetObligationValuesByFQNsRequest) returns (GetObligationValuesByFQNsResponse) {
+ option idempotency_level = NO_SIDE_EFFECTS;
+ }
+
+ rpc CreateObligationValue(CreateObligationValueRequest) returns (CreateObligationValueResponse) {}
+
+ rpc UpdateObligationValue(UpdateObligationValueRequest) returns (UpdateObligationValueResponse) {}
+
+ rpc DeleteObligationValue(DeleteObligationValueRequest) returns (DeleteObligationValueResponse) {}
+
+ /*--------------------------------------*
+ * Trigger RPCs
+ *--------------------------------------*/
+
+ rpc AddObligationTrigger(AddObligationTriggerRequest) returns (AddObligationTriggerResponse) {}
+
+ rpc RemoveObligationTrigger(RemoveObligationTriggerRequest) returns (RemoveObligationTriggerResponse) {}
+
+ /*--------------------------------------*
+ * Fulfiller RPCs
+ *--------------------------------------*/
+
+ // rpc AddObligationFulfiller(AddObligationFulfillerRequest) returns (AddObligationFulfillerResponse) {}
+
+ // rpc RemoveObligationFulfiller(RemoveObligationFulfillerRequest) returns (RemoveObligationFulfillerResponse) {}
+}
\ No newline at end of file
diff --git a/service/policy/obligations/obligations_test.go b/service/policy/obligations/obligations_test.go
new file mode 100644
index 0000000000..12d85d8183
--- /dev/null
+++ b/service/policy/obligations/obligations_test.go
@@ -0,0 +1 @@
+package obligations
diff --git a/service/policy/policy.go b/service/policy/policy.go
index dd82083f46..cc5692a907 100644
--- a/service/policy/policy.go
+++ b/service/policy/policy.go
@@ -40,6 +40,7 @@ func NewRegistrations() []serviceregistry.IService {
actions.NewRegistration(namespace, dbRegister),
registeredresources.NewRegistration(namespace, dbRegister),
keymanagement.NewRegistration(namespace, dbRegister),
+ // obligations.NewRegistration(namespace, dbRegister),
}...)
return registrations
}