Skip to main content

proposals

Creates, updates, deletes, gets or lists a proposals resource.

Overview

Nameproposals
TypeResource
Idgoogle.cloudkms.proposals

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
namestringIdentifier. The resource name for this SingleTenantHsmInstance in the format projects/*/locations/*/singleTenantHsmInstances/*/proposals/*.
addQuorumMemberobjectAdd 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)
createTimestring (google-datetime)Output only. The time at which the SingleTenantHsmInstanceProposal was created.
deleteSingleTenantHsmInstanceobjectDelete 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)
deleteTimestring (google-datetime)Output only. The time at which the SingleTenantHsmInstanceProposal was deleted.
disableSingleTenantHsmInstanceobjectDisable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the ACTIVE state to perform this operation. (id: DisableSingleTenantHsmInstance)
enableSingleTenantHsmInstanceobjectEnable the SingleTenantHsmInstance. The SingleTenantHsmInstance must be in the DISABLED state to perform this operation. (id: EnableSingleTenantHsmInstance)
expireTimestring (google-datetime)The time at which the SingleTenantHsmInstanceProposal will expire if not approved and executed.
failureReasonstringOutput only. The root cause of the most recent failure. Only present if state is FAILED.
purgeTimestring (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).
quorumParametersobjectOutput only. The quorum approval parameters for the SingleTenantHsmInstanceProposal. (id: QuorumParameters)
refreshSingleTenantHsmInstanceobjectRefreshes 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)
registerTwoFactorAuthKeysobjectRegister 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)
removeQuorumMemberobjectRemove 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)
requiredActionQuorumParametersobjectOutput only. Parameters for an approval of a SingleTenantHsmInstanceProposal that has both required challenges and a quorum. (id: RequiredActionQuorumParameters)
statestringOutput only. The state of the SingleTenantHsmInstanceProposal. (STATE_UNSPECIFIED, CREATING, PENDING, APPROVED, RUNNING, SUCCEEDED, FAILED, DELETED)
ttlstring (google-duration)Input only. The TTL for the SingleTenantHsmInstanceProposal. Proposals will expire after this duration.
upgradeKeyTrustobjectPromotes 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:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectprojectsId, locationsId, singleTenantHsmInstancesId, proposalsIdReturns metadata for a given SingleTenantHsmInstanceProposal.
listselectprojectsId, locationsId, singleTenantHsmInstancesIdorderBy, filter, pageToken, showDeleted, pageSizeLists SingleTenantHsmInstanceProposals.
createinsertprojectsId, locationsId, singleTenantHsmInstancesIdsingleTenantHsmInstanceProposalIdCreates a new SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance.
deletedeleteprojectsId, locationsId, singleTenantHsmInstancesId, proposalsIdDeletes a SingleTenantHsmInstanceProposal.
executeexecprojectsId, locationsId, singleTenantHsmInstancesId, proposalsIdExecutes a SingleTenantHsmInstanceProposal for a given SingleTenantHsmInstance. The proposal must be in the APPROVED state.
approveexecprojectsId, locationsId, singleTenantHsmInstancesId, proposalsIdApproves 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.

NameDatatypeDescription
locationsIdstring
projectsIdstring
proposalsIdstring
singleTenantHsmInstancesIdstring
filterstring
orderBystring
pageSizeinteger (int32)
pageTokenstring
showDeletedboolean
singleTenantHsmInstanceProposalIdstring

SELECT examples

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
;

INSERT examples

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
;

DELETE examples

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

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
;