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
| 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. |
allowedValuesRegex | string | Optional. Regular expression constraint for freeform tag values. If present, it implicitly allows freeform values (constrained by the regex). |
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. |
| 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. |
allowedValuesRegex | string | Optional. Regular expression constraint for freeform tag values. If present, it implicitly allows freeform values (constrained by the regex). |
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 | pageSize, parent, 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 | validateOnly, updateMask | 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,
allowedValuesRegex,
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,
allowedValuesRegex,
createTime,
description,
etag,
namespacedName,
parent,
purpose,
purposeData,
shortName,
updateTime
FROM google.cloudresourcemanager.tag_keys
WHERE pageSize = '{{ pageSize }}'
AND parent = '{{ parent }}'
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__shortName,
data__purpose,
data__etag,
data__allowedValuesRegex,
data__name,
data__description,
data__parent,
data__purposeData,
validateOnly
)
SELECT
'{{ shortName }}',
'{{ purpose }}',
'{{ etag }}',
'{{ allowedValuesRegex }}',
'{{ name }}',
'{{ description }}',
'{{ parent }}',
'{{ purposeData }}',
'{{ validateOnly }}'
RETURNING
name,
done,
error,
metadata,
response
;
# Description fields are for documentation purposes
- name: tag_keys
props:
- 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: 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: 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: allowedValuesRegex
value: string
description: >
Optional. Regular expression constraint for freeform tag values. If present, it implicitly allows freeform values (constrained by the regex).
- 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: description
value: string
description: >
Optional. User-assigned description of the TagKey. Must not exceed 256 characters. Read-write.
- 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: 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__shortName = '{{ shortName }}',
data__purpose = '{{ purpose }}',
data__etag = '{{ etag }}',
data__allowedValuesRegex = '{{ allowedValuesRegex }}',
data__name = '{{ name }}',
data__description = '{{ description }}',
data__parent = '{{ parent }}',
data__purposeData = '{{ purposeData }}'
WHERE
tagKeysId = '{{ tagKeysId }}' --required
AND validateOnly = {{ validateOnly}}
AND updateMask = '{{ updateMask}}'
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 }}'
;