Virtru policy.resourcemapping.ResourceMappingService API
Resource Mapping Groups
Resource Mapping Groups
openapi: 3.1.0
info:
title: authorization authorization.AuthorizationService policy.resourcemapping.ResourceMappingService API
description: Resource Mapping Groups
security: []
tags:
- name: policy.resourcemapping.ResourceMappingService
description: Resource Mapping Groups
paths:
/policy.resourcemapping.ResourceMappingService/ListResourceMappingGroups:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: ListResourceMappingGroups
operationId: policy.resourcemapping.ResourceMappingService.ListResourceMappingGroups
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.resourcemapping.ListResourceMappingGroupsRequest'
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.resourcemapping.ListResourceMappingGroupsResponse'
/policy.resourcemapping.ResourceMappingService/GetResourceMappingGroup:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: GetResourceMappingGroup
operationId: policy.resourcemapping.ResourceMappingService.GetResourceMappingGroup
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.resourcemapping.GetResourceMappingGroupRequest'
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.resourcemapping.GetResourceMappingGroupResponse'
/policy.resourcemapping.ResourceMappingService/CreateResourceMappingGroup:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: CreateResourceMappingGroup
operationId: policy.resourcemapping.ResourceMappingService.CreateResourceMappingGroup
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.resourcemapping.CreateResourceMappingGroupRequest'
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.resourcemapping.CreateResourceMappingGroupResponse'
/policy.resourcemapping.ResourceMappingService/UpdateResourceMappingGroup:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: UpdateResourceMappingGroup
operationId: policy.resourcemapping.ResourceMappingService.UpdateResourceMappingGroup
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.resourcemapping.UpdateResourceMappingGroupRequest'
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.resourcemapping.UpdateResourceMappingGroupResponse'
/policy.resourcemapping.ResourceMappingService/DeleteResourceMappingGroup:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: DeleteResourceMappingGroup
operationId: policy.resourcemapping.ResourceMappingService.DeleteResourceMappingGroup
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.resourcemapping.DeleteResourceMappingGroupRequest'
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.resourcemapping.DeleteResourceMappingGroupResponse'
/policy.resourcemapping.ResourceMappingService/ListResourceMappings:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: ListResourceMappings
operationId: policy.resourcemapping.ResourceMappingService.ListResourceMappings
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.resourcemapping.ListResourceMappingsRequest'
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.resourcemapping.ListResourceMappingsResponse'
/policy.resourcemapping.ResourceMappingService/ListResourceMappingsByGroupFqns:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: ListResourceMappingsByGroupFqns
operationId: policy.resourcemapping.ResourceMappingService.ListResourceMappingsByGroupFqns
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.resourcemapping.ListResourceMappingsByGroupFqnsRequest'
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.resourcemapping.ListResourceMappingsByGroupFqnsResponse'
/policy.resourcemapping.ResourceMappingService/GetResourceMapping:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: GetResourceMapping
operationId: policy.resourcemapping.ResourceMappingService.GetResourceMapping
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.resourcemapping.GetResourceMappingRequest'
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.resourcemapping.GetResourceMappingResponse'
/policy.resourcemapping.ResourceMappingService/CreateResourceMapping:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: CreateResourceMapping
operationId: policy.resourcemapping.ResourceMappingService.CreateResourceMapping
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.resourcemapping.CreateResourceMappingRequest'
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.resourcemapping.CreateResourceMappingResponse'
/policy.resourcemapping.ResourceMappingService/UpdateResourceMapping:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: UpdateResourceMapping
operationId: policy.resourcemapping.ResourceMappingService.UpdateResourceMapping
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.resourcemapping.UpdateResourceMappingRequest'
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.resourcemapping.UpdateResourceMappingResponse'
/policy.resourcemapping.ResourceMappingService/DeleteResourceMapping:
post:
tags:
- policy.resourcemapping.ResourceMappingService
summary: DeleteResourceMapping
operationId: policy.resourcemapping.ResourceMappingService.DeleteResourceMapping
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.resourcemapping.DeleteResourceMappingRequest'
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.resourcemapping.DeleteResourceMappingResponse'
components:
schemas:
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.GetResourceMappingRequest:
type: object
properties:
id:
type: string
title: id
format: uuid
description: Required
title: GetResourceMappingRequest
additionalProperties: false
policy.Algorithm:
type: string
title: Algorithm
enum:
- ALGORITHM_UNSPECIFIED
- ALGORITHM_RSA_2048
- ALGORITHM_RSA_4096
- ALGORITHM_EC_P256
- ALGORITHM_EC_P384
- ALGORITHM_EC_P521
- ALGORITHM_HPQT_XWING
- ALGORITHM_HPQT_SECP256R1_MLKEM768
- ALGORITHM_HPQT_SECP384R1_MLKEM1024
- ALGORITHM_MLKEM_768
- ALGORITHM_MLKEM_1024
description: Supported key algorithms.
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\n the kas information from an external party. These two modes are necessary in order\n to encrypt a tdf dek with an external parties kas public key."
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
namespace:
title: namespace
description: "the namespace containing this subject mapping\n possible this is empty. If so that means\n the Subject Mapping has not been migrated to a namespace."
$ref: '#/components/schemas/policy.Namespace'
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.resourcemapping.GetResourceMappingResponse:
type: object
properties:
resourceMapping:
title: resource_mapping
$ref: '#/components/schemas/policy.ResourceMapping'
title: GetResourceMappingResponse
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'
context:
type: array
items:
$ref: '#/components/schemas/policy.RequestContext'
title: context
namespace:
title: namespace
description: The source namespace for this trigger, derived from the attribute value and action.
$ref: '#/components/schemas/policy.Namespace'
metadata:
title: metadata
$ref: '#/components/schemas/common.Metadata'
title: ObligationTrigger
additionalProperties: false
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
policy.resourcemapping.ListResourceMappingGroupsResponse:
type: object
properties:
resourceMappingGroups:
type: array
items:
$ref: '#/components/schemas/policy.ResourceMappingGroup'
title: resource_mapping_groups
pagination:
title: pagination
$ref: '#/components/schemas/policy.PageResponse'
title: ListResourceMappingGroupsResponse
additionalProperties: false
connect-protocol-version:
type: number
title: Connect-Protocol-Version
enum:
- 1
description: Define the version of the Connect protocol
const: 1
policy.resourcemapping.GetResourceMappingGroupResponse:
type: object
properties:
resourceMappingGroup:
title: resource_mapping_group
$ref: '#/components/schemas/policy.ResourceMappingGroup'
title: GetResourceMappingGroupResponse
additionalProperties: false
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\n per namespace"
fqn:
type: string
title: fqn
description: the fully qualified name of the resource mapping group
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.'
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.
policy.PolicyEnforcementPoint:
type: object
properties:
clientId:
type: string
title: client_id
minLength: 1
title: PolicyEnforcementPoint
additionalProperties: false
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.\n To start, these may be `rsa:2048` for RSA-based wrapping and\n `ec:secp256r1` for EC-based wrapping, but more formats may be added as needed."
$ref: '#/components/schemas/policy.KasPublicKeyAlgEnum'
title: KasPublicKey
additionalProperties: false
description: "Deprecated\n A KAS public key and some associated metadata for further identifcation"
policy.resourcemapping.DeleteResourceMappingGroupResponse:
type: object
properties:
resourceMappingGroup:
title: resource_mapping_group
$ref: '#/components/schemas/policy.ResourceMappingGroup'
title: DeleteResourceMappingGroupResponse
additionalProperties: false
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: KAS can have multiple key pairs'
$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\n 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
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\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format."
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
fqn:
type: string
title: fqn
metadata:
title: metadata
$ref: '#/components/schemas/common.Metadata'
title: Obligation
additionalProperties: false
policy.resourcemapping.DeleteResourceMappingResponse:
type: object
properties:
resourceMapping:
title: resource_mapping
$ref: '#/components/schemas/policy.ResourceMapping'
title: DeleteResourceMappingResponse
additionalProperties: false
policy.Action.StandardAction:
type: string
title: StandardAction
enum:
- STANDARD_ACTION_UNSPECIFIED
- STANDARD_ACTION_DECRYPT
- STANDARD_ACTION_TRANSMIT
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'
namespace:
title: namespace
description: "The namespace that optionally owns this resource mapping. When the mapping\n belongs to a group, this matches the group's namespace. The mapped\n attribute value may belong to a different namespace."
$ref: '#/components/schemas/policy.Namespace'
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.resourcemapping.UpdateResourceMappingRequest:
type: object
properties:
id:
type: string
title: id
format: uuid
description: Required
attributeValueId:
type: string
title: attribute_value_id
description: 'Optional
Optional field must be a valid UUID:
```
size(this) == 0 || this.matches(''^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'')
```
'
terms:
type: array
items:
type: string
maxItems: 1000
title: terms
maxItems: 1000
description: Optional
groupId:
type: string
title: group_id
description: 'Optional
Optional field must be a valid UUID:
```
size(this) == 0 || this.matches(''^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$'')
```
'
namespaceId:
type: string
title: namespace_id
format: uuid
description: "Optional\n The namespace that owns this resource mapping. If a group_id is set on the\n mapping, this must match the group's namespace."
namespaceFqn:
type: string
title: namespace_fqn
minLength: 1
format: uri
description: "Optional\n Alternative to namespace_id; the FQN of the owning namespace."
metadata:
title: metadata
description: "Optional\n Common Metadata"
$ref: '#/components/schemas/common.MetadataMutable'
metadataUpdateBehavior:
title: metadata_update_behavior
$ref: '#/components/schemas/common.MetadataUpdateEnum'
title: UpdateResourceMappingRequ
# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/virtru/refs/heads/main/openapi/virtru-policy-resourcemapping-resourcemappingservice-api-openapi.yml