tag_keys
Creates, updates, deletes, gets or lists a tag_keys
resource.
Overview
Name | tag_keys |
Type | Resource |
Id | google.cloudresourcemanager.tag_keys |
Fields
The following fields are returned by SELECT
queries:
- get
- list
Successful response
Name | Datatype | Description |
---|---|---|
name | string | Immutable. The resource name for a TagKey. Must be in the format tagKeys/{tag_key_id} , where tag_key_id is the generated numeric id for the TagKey. |
createTime | string (google-datetime) | Output only. Creation time. |
description | string | Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write. |
etag | string | Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagKeyRequest for details. |
namespacedName | string | Output only. Immutable. Namespaced name of the TagKey. |
parent | string | Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form organizations/{org_id} . For a TagKey parented by a Project, its parent can be in the form projects/{project_id} or projects/{project_number} . |
purpose | string | Optional. A purpose denotes that this Tag is intended for use in policies of a specific policy engine, and will involve that policy engine in management operations involving this Tag. A purpose does not grant a policy engine exclusive rights to the Tag, and it may be referenced by other policy engines. A purpose cannot be changed once set. |
purposeData | object | Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for Purpose for formatting of this field. Purpose data cannot be changed once set. |
shortName | string | Required. Immutable. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. The short name must be 1-256 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. |
updateTime | string (google-datetime) | Output only. Update time. |
Successful response
Name | Datatype | Description |
---|---|---|
name | string | Immutable. The resource name for a TagKey. Must be in the format tagKeys/{tag_key_id} , where tag_key_id is the generated numeric id for the TagKey. |
createTime | string (google-datetime) | Output only. Creation time. |
description | string | Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write. |
etag | string | Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagKeyRequest for details. |
namespacedName | string | Output only. Immutable. Namespaced name of the TagKey. |
parent | string | Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form organizations/{org_id} . For a TagKey parented by a Project, its parent can be in the form projects/{project_id} or projects/{project_number} . |
purpose | string | Optional. A purpose denotes that this Tag is intended for use in policies of a specific policy engine, and will involve that policy engine in management operations involving this Tag. A purpose does not grant a policy engine exclusive rights to the Tag, and it may be referenced by other policy engines. A purpose cannot be changed once set. |
purposeData | object | Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for Purpose for formatting of this field. Purpose data cannot be changed once set. |
shortName | string | Required. Immutable. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. The short name must be 1-256 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. |
updateTime | string (google-datetime) | Output only. Update time. |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
get | select | tagKeysId | Retrieves a TagKey. This method will return PERMISSION_DENIED if the key does not exist or the user does not have permission to view it. | |
list | select | parent , pageSize , pageToken | Lists all TagKeys for a parent resource. | |
create | insert | validateOnly | Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 1000 TagKeys can exist under a parent at any given time. | |
patch | update | tagKeysId | updateMask , validateOnly | Updates the attributes of the TagKey resource. |
delete | delete | tagKeysId | validateOnly , etag | Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues. |
Parameters
Parameters can be passed in the WHERE
clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
Name | Datatype | Description |
---|---|---|
tagKeysId | string | |
etag | string | |
pageSize | integer (int32) | |
pageToken | string | |
parent | string | |
updateMask | string (google-fieldmask) | |
validateOnly | boolean |
SELECT
examples
- get
- list
Retrieves a TagKey. This method will return PERMISSION_DENIED
if the key does not exist or the user does not have permission to view it.
SELECT
name,
createTime,
description,
etag,
namespacedName,
parent,
purpose,
purposeData,
shortName,
updateTime
FROM google.cloudresourcemanager.tag_keys
WHERE tagKeysId = '{{ tagKeysId }}' -- required;
Lists all TagKeys for a parent resource.
SELECT
name,
createTime,
description,
etag,
namespacedName,
parent,
purpose,
purposeData,
shortName,
updateTime
FROM google.cloudresourcemanager.tag_keys
WHERE parent = '{{ parent }}'
AND pageSize = '{{ pageSize }}'
AND pageToken = '{{ pageToken }}';
INSERT
examples
- create
- Manifest
Creates a new TagKey. If another request with the same parameters is sent while the original request is in process, the second request will receive an error. A maximum of 1000 TagKeys can exist under a parent at any given time.
INSERT INTO google.cloudresourcemanager.tag_keys (
data__name,
data__parent,
data__shortName,
data__description,
data__etag,
data__purpose,
data__purposeData,
validateOnly
)
SELECT
'{{ name }}',
'{{ parent }}',
'{{ shortName }}',
'{{ description }}',
'{{ etag }}',
'{{ purpose }}',
'{{ purposeData }}',
'{{ validateOnly }}'
RETURNING
name,
done,
error,
metadata,
response
;
# Description fields are for documentation purposes
- name: tag_keys
props:
- name: name
value: string
description: >
Immutable. The resource name for a TagKey. Must be in the format `tagKeys/{tag_key_id}`, where `tag_key_id` is the generated numeric id for the TagKey.
- name: parent
value: string
description: >
Immutable. The resource name of the TagKey's parent. A TagKey can be parented by an Organization or a Project. For a TagKey parented by an Organization, its parent must be in the form `organizations/{org_id}`. For a TagKey parented by a Project, its parent can be in the form `projects/{project_id}` or `projects/{project_number}`.
- name: shortName
value: string
description: >
Required. Immutable. The user friendly name for a TagKey. The short name should be unique for TagKeys within the same tag namespace. The short name must be 1-256 characters, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
- name: description
value: string
description: >
Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write.
- name: etag
value: string
description: >
Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagKeyRequest for details.
- name: purpose
value: string
description: >
Optional. A purpose denotes that this Tag is intended for use in policies of a specific policy engine, and will involve that policy engine in management operations involving this Tag. A purpose does not grant a policy engine exclusive rights to the Tag, and it may be referenced by other policy engines. A purpose cannot be changed once set.
valid_values: ['PURPOSE_UNSPECIFIED', 'GCE_FIREWALL', 'DATA_GOVERNANCE']
- name: purposeData
value: object
description: >
Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set.
- name: validateOnly
value: boolean
UPDATE
examples
- patch
Updates the attributes of the TagKey resource.
UPDATE google.cloudresourcemanager.tag_keys
SET
data__name = '{{ name }}',
data__parent = '{{ parent }}',
data__shortName = '{{ shortName }}',
data__description = '{{ description }}',
data__etag = '{{ etag }}',
data__purpose = '{{ purpose }}',
data__purposeData = '{{ purposeData }}'
WHERE
tagKeysId = '{{ tagKeysId }}' --required
AND updateMask = '{{ updateMask}}'
AND validateOnly = {{ validateOnly}}
RETURNING
name,
done,
error,
metadata,
response;
DELETE
examples
- delete
Deletes a TagKey. The TagKey cannot be deleted if it has any child TagValues.
DELETE FROM google.cloudresourcemanager.tag_keys
WHERE tagKeysId = '{{ tagKeysId }}' --required
AND validateOnly = '{{ validateOnly }}'
AND etag = '{{ etag }}';