Google Cloud Key Management Service (KMS) API . projects . locations . keyRings . cryptoKeys . cryptoKeyVersions

Instance Methods

create(parent, body, x__xgafv=None)

Create a new CryptoKeyVersion in a CryptoKey.

destroy(name, body, x__xgafv=None)

Schedule a CryptoKeyVersion for destruction.

get(name, x__xgafv=None)

Returns metadata for a given CryptoKeyVersion.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

Lists CryptoKeyVersions.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(name, body, updateMask=None, x__xgafv=None)

Update a CryptoKeyVersion's metadata.

restore(name, body, x__xgafv=None)

Restore a CryptoKeyVersion in the

Method Details

create(parent, body, x__xgafv=None)
Create a new CryptoKeyVersion in a CryptoKey.

The server will assign the next sequential id. If unset,
state will be set to
ENABLED.

Args:
  parent: string, Required. The name of the CryptoKey associated with
the CryptoKeyVersions. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A CryptoKeyVersion represents an individual cryptographic key, and the
    # associated key material.
    # 
    # It can be used for cryptographic operations either directly, or via its
    # parent CryptoKey, in which case the server will choose the appropriate
    # version for the operation.
  "state": "A String", # The current state of the CryptoKeyVersion.
  "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
      # for destruction. Only present if state is
      # DESTROY_SCHEDULED.
  "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
  "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
      # destroyed. Only present if state is
      # DESTROYED.
  "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
      # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A CryptoKeyVersion represents an individual cryptographic key, and the
      # associated key material.
      #
      # It can be used for cryptographic operations either directly, or via its
      # parent CryptoKey, in which case the server will choose the appropriate
      # version for the operation.
    "state": "A String", # The current state of the CryptoKeyVersion.
    "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
        # for destruction. Only present if state is
        # DESTROY_SCHEDULED.
    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
    "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
        # destroyed. Only present if state is
        # DESTROYED.
    "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
  }
destroy(name, body, x__xgafv=None)
Schedule a CryptoKeyVersion for destruction.

Upon calling this method, CryptoKeyVersion.state will be set to
DESTROY_SCHEDULED
and destroy_time will be set to a time 24
hours in the future, at which point the state
will be changed to
DESTROYED, and the key
material will be irrevocably destroyed.

Before the destroy_time is reached,
RestoreCryptoKeyVersion may be called to reverse the process.

Args:
  name: string, The resource name of the CryptoKeyVersion to destroy. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request message for KeyManagementService.DestroyCryptoKeyVersion.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A CryptoKeyVersion represents an individual cryptographic key, and the
      # associated key material.
      #
      # It can be used for cryptographic operations either directly, or via its
      # parent CryptoKey, in which case the server will choose the appropriate
      # version for the operation.
    "state": "A String", # The current state of the CryptoKeyVersion.
    "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
        # for destruction. Only present if state is
        # DESTROY_SCHEDULED.
    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
    "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
        # destroyed. Only present if state is
        # DESTROYED.
    "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
  }
get(name, x__xgafv=None)
Returns metadata for a given CryptoKeyVersion.

Args:
  name: string, The name of the CryptoKeyVersion to get. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A CryptoKeyVersion represents an individual cryptographic key, and the
      # associated key material.
      #
      # It can be used for cryptographic operations either directly, or via its
      # parent CryptoKey, in which case the server will choose the appropriate
      # version for the operation.
    "state": "A String", # The current state of the CryptoKeyVersion.
    "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
        # for destruction. Only present if state is
        # DESTROY_SCHEDULED.
    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
    "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
        # destroyed. Only present if state is
        # DESTROYED.
    "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
  }
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
Lists CryptoKeyVersions.

Args:
  parent: string, Required. The resource name of the CryptoKey to list, in the format
`projects/*/locations/*/keyRings/*/cryptoKeys/*`. (required)
  pageSize: integer, Optional limit on the number of CryptoKeyVersions to
include in the response. Further CryptoKeyVersions can
subsequently be obtained by including the
ListCryptoKeyVersionsResponse.next_page_token in a subsequent request.
If unspecified, the server will pick an appropriate default.
  pageToken: string, Optional pagination token, returned earlier via
ListCryptoKeyVersionsResponse.next_page_token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for KeyManagementService.ListCryptoKeyVersions.
    "nextPageToken": "A String", # A token to retrieve next page of results. Pass this value in
        # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
        # results.
    "totalSize": 42, # The total number of CryptoKeyVersions that matched the
        # query.
    "cryptoKeyVersions": [ # The list of CryptoKeyVersions.
      { # A CryptoKeyVersion represents an individual cryptographic key, and the
          # associated key material.
          #
          # It can be used for cryptographic operations either directly, or via its
          # parent CryptoKey, in which case the server will choose the appropriate
          # version for the operation.
        "state": "A String", # The current state of the CryptoKeyVersion.
        "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
            # for destruction. Only present if state is
            # DESTROY_SCHEDULED.
        "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
        "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
            # destroyed. Only present if state is
            # DESTROYED.
        "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
            # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
      },
    ],
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(name, body, updateMask=None, x__xgafv=None)
Update a CryptoKeyVersion's metadata.

state may be changed between
ENABLED and
DISABLED using this
method. See DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to
move between other states.

Args:
  name: string, Output only. The resource name for this CryptoKeyVersion in the format
`projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A CryptoKeyVersion represents an individual cryptographic key, and the
    # associated key material.
    # 
    # It can be used for cryptographic operations either directly, or via its
    # parent CryptoKey, in which case the server will choose the appropriate
    # version for the operation.
  "state": "A String", # The current state of the CryptoKeyVersion.
  "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
      # for destruction. Only present if state is
      # DESTROY_SCHEDULED.
  "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
  "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
      # destroyed. Only present if state is
      # DESTROYED.
  "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
      # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
}

  updateMask: string, Required list of fields to be updated in this request.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A CryptoKeyVersion represents an individual cryptographic key, and the
      # associated key material.
      #
      # It can be used for cryptographic operations either directly, or via its
      # parent CryptoKey, in which case the server will choose the appropriate
      # version for the operation.
    "state": "A String", # The current state of the CryptoKeyVersion.
    "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
        # for destruction. Only present if state is
        # DESTROY_SCHEDULED.
    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
    "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
        # destroyed. Only present if state is
        # DESTROYED.
    "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
  }
restore(name, body, x__xgafv=None)
Restore a CryptoKeyVersion in the
DESTROY_SCHEDULED,
state.

Upon restoration of the CryptoKeyVersion, state
will be set to DISABLED,
and destroy_time will be cleared.

Args:
  name: string, The resource name of the CryptoKeyVersion to restore. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request message for KeyManagementService.RestoreCryptoKeyVersion.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A CryptoKeyVersion represents an individual cryptographic key, and the
      # associated key material.
      #
      # It can be used for cryptographic operations either directly, or via its
      # parent CryptoKey, in which case the server will choose the appropriate
      # version for the operation.
    "state": "A String", # The current state of the CryptoKeyVersion.
    "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
        # for destruction. Only present if state is
        # DESTROY_SCHEDULED.
    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
    "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
        # destroyed. Only present if state is
        # DESTROYED.
    "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
  }