proposals
Creates, updates, deletes, gets or lists a proposals resource.
Overview
| Name | proposals |
| Type | Resource |
| Id | google.cloudkms.proposals |
Fields
The following fields are returned by SELECT queries:
- get
- list
| Name | Datatype | Description |
|---|---|---|
name | string | Identifier. The resource name for this SingleTenantHsmInstance in the format projects/*/locations/*/singleTenantHsmInstances/*/proposals/*. |
addQuorumMember | object | Add a quorum member to the SingleTenantHsmInstance. This will increase the total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: AddQuorumMember) |
createTime | string (google-datetime) | Output only. The time at which the SingleTenantHsmInstanceProposal was created. |
deleteSingleTenantHsmInstance | object | Delete the SingleTenantHsmInstance. Deleting a SingleTenantHsmInstance will make all CryptoKeys attached to the SingleTenantHsmInstance unusable. The SingleTenantHsmInstance must be in the DISABLED or PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation. (id: DeleteSingleTenantHsmInstance) |
deleteTime | string (google-datetime) | Output only. The time at which the SingleTenantHsmInstanceProposal was deleted. |
disableSingleTenantHsmInstance | object | Disable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: DisableSingleTenantHsmInstance) |
enableSingleTenantHsmInstance | object | Enable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the DISABLED state to perform this operation. (id: EnableSingleTenantHsmInstance) |
expireTime | string (google-datetime) | The time at which the SingleTenantHsmInstanceProposal will expire if not approved and executed. |
failureReason | string | Output only. The root cause of the most recent failure. Only present if state is FAILED. |
purgeTime | string (google-datetime) | Output only. The time at which the soft-deleted SingleTenantHsmInstanceProposal will be permanently purged. This field is only populated when the state is DELETED and will be set a time after expiration of the proposal, i.e. >= expire_time or (create_time + ttl). |
quorumParameters | object | Output only. The quorum approval parameters for the SingleTenantHsmInstanceProposal. (id: QuorumParameters) |
refreshSingleTenantHsmInstance | object | Refreshes the SingleTenantHsmInstance. This operation must be performed periodically to keep the SingleTenantHsmInstance active. This operation must be performed before unrefreshed_duration_until_disable has passed. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: RefreshSingleTenantHsmInstance) |
registerTwoFactorAuthKeys | object | Register 2FA keys for the SingleTenantHsmInstance. This operation requires all N Challenges to be signed by 2FA keys. The SingleTenantHsmInstance must be in the PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation. (id: RegisterTwoFactorAuthKeys) |
removeQuorumMember | object | Remove a quorum member from the SingleTenantHsmInstance. This will reduce total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: RemoveQuorumMember) |
requiredActionQuorumParameters | object | Output only. Parameters for an approval of a SingleTenantHsmInstanceProposal that has both required challenges and a quorum. (id: RequiredActionQuorumParameters) |
state | string | Output only. The state of the SingleTenantHsmInstanceProposal. (STATE_UNSPECIFIED, CREATING, PENDING, APPROVED, RUNNING, SUCCEEDED, FAILED, DELETED) |
ttl | string (google-duration) | Input only. The TTL for the SingleTenantHsmInstanceProposal. Proposals will expire after this duration. |
upgradeKeyTrust | object | Promotes a key with the AES_WRAPPING purpose to a trusted wrapping key. The key must be in the ACTIVE state to perform this operation. (id: UpgradeKeyTrust) |
| Name | Datatype | Description |
|---|---|---|
name | string | Identifier. The resource name for this SingleTenantHsmInstance in the format projects/*/locations/*/singleTenantHsmInstances/*/proposals/*. |
addQuorumMember | object | Add a quorum member to the SingleTenantHsmInstance. This will increase the total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: AddQuorumMember) |
createTime | string (google-datetime) | Output only. The time at which the SingleTenantHsmInstanceProposal was created. |
deleteSingleTenantHsmInstance | object | Delete the SingleTenantHsmInstance. Deleting a SingleTenantHsmInstance will make all CryptoKeys attached to the SingleTenantHsmInstance unusable. The SingleTenantHsmInstance must be in the DISABLED or PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation. (id: DeleteSingleTenantHsmInstance) |
deleteTime | string (google-datetime) | Output only. The time at which the SingleTenantHsmInstanceProposal was deleted. |
disableSingleTenantHsmInstance | object | Disable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: DisableSingleTenantHsmInstance) |
enableSingleTenantHsmInstance | object | Enable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the DISABLED state to perform this operation. (id: EnableSingleTenantHsmInstance) |
expireTime | string (google-datetime) | The time at which the SingleTenantHsmInstanceProposal will expire if not approved and executed. |
failureReason | string | Output only. The root cause of the most recent failure. Only present if state is FAILED. |
purgeTime | string (google-datetime) | Output only. The time at which the soft-deleted SingleTenantHsmInstanceProposal will be permanently purged. This field is only populated when the state is DELETED and will be set a time after expiration of the proposal, i.e. >= expire_time or (create_time + ttl). |
quorumParameters | object | Output only. The quorum approval parameters for the SingleTenantHsmInstanceProposal. (id: QuorumParameters) |
refreshSingleTenantHsmInstance | object | Refreshes the SingleTenantHsmInstance. This operation must be performed periodically to keep the SingleTenantHsmInstance active. This operation must be performed before unrefreshed_duration_until_disable has passed. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: RefreshSingleTenantHsmInstance) |
registerTwoFactorAuthKeys | object | Register 2FA keys for the SingleTenantHsmInstance. This operation requires all N Challenges to be signed by 2FA keys. The SingleTenantHsmInstance must be in the PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation. (id: RegisterTwoFactorAuthKeys) |
removeQuorumMember | object | Remove a quorum member from the SingleTenantHsmInstance. This will reduce total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: RemoveQuorumMember) |
requiredActionQuorumParameters | object | Output only. Parameters for an approval of a SingleTenantHsmInstanceProposal that has both required challenges and a quorum. (id: RequiredActionQuorumParameters) |
state | string | Output only. The state of the SingleTenantHsmInstanceProposal. (STATE_UNSPECIFIED, CREATING, PENDING, APPROVED, RUNNING, SUCCEEDED, FAILED, DELETED) |
ttl | string (google-duration) | Input only. The TTL for the SingleTenantHsmInstanceProposal. Proposals will expire after this duration. |
upgradeKeyTrust | object | Promotes a key with the AES_WRAPPING purpose to a trusted wrapping key. The key must be in the ACTIVE state to perform this operation. (id: UpgradeKeyTrust) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | projectsId, locationsId, singleTenantHsmInstancesId, proposalsId | Returns metadata for a given SingleTenantHsmInstanceProposal. | |
list | select | projectsId, locationsId, singleTenantHsmInstancesId | orderBy, filter, pageToken, showDeleted, pageSize | Lists SingleTenantHsmInstanceProposals. |
create | insert | projectsId, locationsId, singleTenantHsmInstancesId | singleTenantHsmInstanceProposalId | Creates a new SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance. |
delete | delete | projectsId, locationsId, singleTenantHsmInstancesId, proposalsId | Deletes a SingleTenantHsmInstanceProposal. | |
execute | exec | projectsId, locationsId, singleTenantHsmInstancesId, proposalsId | Executes a SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance. The proposal must be in the APPROVED state. | |
approve | exec | projectsId, locationsId, singleTenantHsmInstancesId, proposalsId | Approves a SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance. The proposal must be in the PENDING state. |
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 |
|---|---|---|
locationsId | string | |
projectsId | string | |
proposalsId | string | |
singleTenantHsmInstancesId | string | |
filter | string | |
orderBy | string | |
pageSize | integer (int32) | |
pageToken | string | |
showDeleted | boolean | |
singleTenantHsmInstanceProposalId | string |
SELECT examples
- get
- list
Returns metadata for a given SingleTenantHsmInstanceProposal.
SELECT
name,
addQuorumMember,
createTime,
deleteSingleTenantHsmInstance,
deleteTime,
disableSingleTenantHsmInstance,
enableSingleTenantHsmInstance,
expireTime,
failureReason,
purgeTime,
quorumParameters,
refreshSingleTenantHsmInstance,
registerTwoFactorAuthKeys,
removeQuorumMember,
requiredActionQuorumParameters,
state,
ttl,
upgradeKeyTrust
FROM google.cloudkms.proposals
WHERE projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND singleTenantHsmInstancesId = '{{ singleTenantHsmInstancesId }}' -- required
AND proposalsId = '{{ proposalsId }}' -- required
;
Lists SingleTenantHsmInstanceProposals.
SELECT
name,
addQuorumMember,
createTime,
deleteSingleTenantHsmInstance,
deleteTime,
disableSingleTenantHsmInstance,
enableSingleTenantHsmInstance,
expireTime,
failureReason,
purgeTime,
quorumParameters,
refreshSingleTenantHsmInstance,
registerTwoFactorAuthKeys,
removeQuorumMember,
requiredActionQuorumParameters,
state,
ttl,
upgradeKeyTrust
FROM google.cloudkms.proposals
WHERE projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND singleTenantHsmInstancesId = '{{ singleTenantHsmInstancesId }}' -- required
AND orderBy = '{{ orderBy }}'
AND filter = '{{ filter }}'
AND pageToken = '{{ pageToken }}'
AND showDeleted = '{{ showDeleted }}'
AND pageSize = '{{ pageSize }}'
;
INSERT examples
- create
- Manifest
Creates a new SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance.
INSERT INTO google.cloudkms.proposals (
data__name,
data__deleteSingleTenantHsmInstance,
data__upgradeKeyTrust,
data__addQuorumMember,
data__registerTwoFactorAuthKeys,
data__enableSingleTenantHsmInstance,
data__expireTime,
data__refreshSingleTenantHsmInstance,
data__ttl,
data__disableSingleTenantHsmInstance,
data__removeQuorumMember,
projectsId,
locationsId,
singleTenantHsmInstancesId,
singleTenantHsmInstanceProposalId
)
SELECT
'{{ name }}',
'{{ deleteSingleTenantHsmInstance }}',
'{{ upgradeKeyTrust }}',
'{{ addQuorumMember }}',
'{{ registerTwoFactorAuthKeys }}',
'{{ enableSingleTenantHsmInstance }}',
'{{ expireTime }}',
'{{ refreshSingleTenantHsmInstance }}',
'{{ ttl }}',
'{{ disableSingleTenantHsmInstance }}',
'{{ removeQuorumMember }}',
'{{ projectsId }}',
'{{ locationsId }}',
'{{ singleTenantHsmInstancesId }}',
'{{ singleTenantHsmInstanceProposalId }}'
RETURNING
name,
done,
error,
metadata,
response
;
# Description fields are for documentation purposes
- name: proposals
props:
- name: projectsId
value: "{{ projectsId }}"
description: Required parameter for the proposals resource.
- name: locationsId
value: "{{ locationsId }}"
description: Required parameter for the proposals resource.
- name: singleTenantHsmInstancesId
value: "{{ singleTenantHsmInstancesId }}"
description: Required parameter for the proposals resource.
- name: name
value: "{{ name }}"
description: |
Identifier. The resource name for this SingleTenantHsmInstance in the format `projects/*/locations/*/singleTenantHsmInstances/*/proposals/*`.
- name: deleteSingleTenantHsmInstance
value: "{{ deleteSingleTenantHsmInstance }}"
description: |
Delete the SingleTenantHsmInstance. Deleting a SingleTenantHsmInstance will make all CryptoKeys attached to the SingleTenantHsmInstance unusable. The SingleTenantHsmInstance must be in the DISABLED or PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation.
- name: upgradeKeyTrust
description: |
Promotes a key with the AES_WRAPPING purpose to a trusted wrapping key. The key must be in the ACTIVE state to perform this operation.
value:
name: "{{ name }}"
twoFactorPublicKeyPem: "{{ twoFactorPublicKeyPem }}"
- name: addQuorumMember
description: |
Add a quorum member to the SingleTenantHsmInstance. This will increase the total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation.
value:
twoFactorPublicKeyPem: "{{ twoFactorPublicKeyPem }}"
- name: registerTwoFactorAuthKeys
description: |
Register 2FA keys for the SingleTenantHsmInstance. This operation requires all N Challenges to be signed by 2FA keys. The SingleTenantHsmInstance must be in the PENDING_TWO_FACTOR_AUTH_REGISTRATION state to perform this operation.
value:
requiredApproverCount: {{ requiredApproverCount }}
twoFactorPublicKeyPems:
- "{{ twoFactorPublicKeyPems }}"
- name: enableSingleTenantHsmInstance
value: "{{ enableSingleTenantHsmInstance }}"
description: |
Enable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the DISABLED state to perform this operation.
- name: expireTime
value: "{{ expireTime }}"
description: |
The time at which the SingleTenantHsmInstanceProposal will expire if not approved and executed.
- name: refreshSingleTenantHsmInstance
value: "{{ refreshSingleTenantHsmInstance }}"
description: |
Refreshes the SingleTenantHsmInstance. This operation must be performed periodically to keep the SingleTenantHsmInstance active. This operation must be performed before unrefreshed_duration_until_disable has passed. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation.
- name: ttl
value: "{{ ttl }}"
description: |
Input only. The TTL for the SingleTenantHsmInstanceProposal. Proposals will expire after this duration.
- name: disableSingleTenantHsmInstance
value: "{{ disableSingleTenantHsmInstance }}"
description: |
Disable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation.
- name: removeQuorumMember
description: |
Remove a quorum member from the SingleTenantHsmInstance. This will reduce total_approver_count by 1. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation.
value:
twoFactorPublicKeyPem: "{{ twoFactorPublicKeyPem }}"
- name: singleTenantHsmInstanceProposalId
value: "{{ singleTenantHsmInstanceProposalId }}"
DELETE examples
- delete
Deletes a SingleTenantHsmInstanceProposal.
DELETE FROM google.cloudkms.proposals
WHERE projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND singleTenantHsmInstancesId = '{{ singleTenantHsmInstancesId }}' --required
AND proposalsId = '{{ proposalsId }}' --required
;
Lifecycle Methods
- execute
- approve
Executes a SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance. The proposal must be in the APPROVED state.
EXEC google.cloudkms.proposals.execute
@projectsId='{{ projectsId }}' --required,
@locationsId='{{ locationsId }}' --required,
@singleTenantHsmInstancesId='{{ singleTenantHsmInstancesId }}' --required,
@proposalsId='{{ proposalsId }}' --required
;
Approves a SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance. The proposal must be in the PENDING state.
EXEC google.cloudkms.proposals.approve
@projectsId='{{ projectsId }}' --required,
@locationsId='{{ locationsId }}' --required,
@singleTenantHsmInstancesId='{{ singleTenantHsmInstancesId }}' --required,
@proposalsId='{{ proposalsId }}' --required
@@json=
'{
"quorumReply": "{{ quorumReply }}",
"requiredActionQuorumReply": "{{ requiredActionQuorumReply }}"
}'
;