docs: update generated docs (#981)

diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html
index 5124453..db59a1a 100644
--- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html
+++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.html
@@ -95,7 +95,7 @@
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the access control policy for a resource.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, orderBy=None, versionView=None, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, orderBy=None, pageToken=None, pageSize=None, versionView=None, filter=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists CryptoKeys.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -132,33 +132,14 @@
     # 
     # A CryptoKey is made up of zero or more versions,
     # which represent the actual key material used in cryptographic operations.
-  &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-      # 
-      # 1. Create a new version of this CryptoKey.
-      # 2. Mark the new version as primary.
-      # 
-      # Key rotations performed manually via
-      # CreateCryptoKeyVersion and
-      # UpdateCryptoKeyPrimaryVersion
-      # do not affect next_rotation_time.
-      # 
-      # Keys with purpose
-      # ENCRYPT_DECRYPT support
-      # automatic rotation. For other keys, this field must be omitted.
   &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-      # [Labeling Keys](/kms/docs/labeling-keys).
+      # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
     &quot;a_key&quot;: &quot;A String&quot;,
   },
+  &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-  &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-      # automatically rotates a key. Must be at least 24 hours and at most
-      # 876,000 hours.
-      # 
-      # If rotation_period is set, next_rotation_time must also be set.
-      # 
-      # Keys with purpose
-      # ENCRYPT_DECRYPT support
-      # automatic rotation. For other keys, this field must be omitted.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+      # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
   &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
       # by Encrypt when this CryptoKey is given
       # in EncryptRequest.name.
@@ -178,33 +159,16 @@
       # CryptoKeyVersion can never be viewed or exported. It can only be used to
       # encrypt, decrypt, or sign data when an authorized user or application invokes
       # Cloud KMS.
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-    &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
-    &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-        # CryptoKeyVersion. Only present if the underlying key material was
-        # imported.
-    &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-        # configuring a CryptoKeyVersion that are specific to the
-        # EXTERNAL protection level.
-        # configuring a CryptoKeyVersion that are specific to the
-        # EXTERNAL protection level.
-      &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-    },
-    &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-        # destroyed. Only present if state is
-        # DESTROYED.
+    &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+        # generated.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
     &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
         # was imported.
-    &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-        # for destruction. Only present if state is
-        # DESTROY_SCHEDULED.
     &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
         # state is
         # IMPORT_FAILED.
     &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
     &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
         # creation time. Use this statement to verify attributes of the key as stored
         # on the HSM, independently of Google. Only provided for key versions with
@@ -215,13 +179,28 @@
       &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
           # operation was performed.
     },
-    &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-        # generated.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+    &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+        # for destruction. Only present if state is
+        # DESTROY_SCHEDULED.
+    &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+        # destroyed. Only present if state is
+        # DESTROYED.
     &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
+    &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+        # configuring a CryptoKeyVersion that are specific to the
+        # EXTERNAL protection level.
+        # configuring a CryptoKeyVersion that are specific to the
+        # EXTERNAL protection level.
+      &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+    },
+    &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
   },
-  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-      # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
   &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
       # The properties of new CryptoKeyVersion instances created by either
       # CreateCryptoKeyVersion or
@@ -238,7 +217,28 @@
     &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
         # this template. Immutable. Defaults to SOFTWARE.
   },
-  &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+  &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+      # automatically rotates a key. Must be at least 24 hours and at most
+      # 876,000 hours.
+      # 
+      # If rotation_period is set, next_rotation_time must also be set.
+      # 
+      # Keys with purpose
+      # ENCRYPT_DECRYPT support
+      # automatic rotation. For other keys, this field must be omitted.
+  &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+      # 
+      # 1. Create a new version of this CryptoKey.
+      # 2. Mark the new version as primary.
+      # 
+      # Key rotations performed manually via
+      # CreateCryptoKeyVersion and
+      # UpdateCryptoKeyPrimaryVersion
+      # do not affect next_rotation_time.
+      # 
+      # Keys with purpose
+      # ENCRYPT_DECRYPT support
+      # automatic rotation. For other keys, this field must be omitted.
 }
 
   cryptoKeyId: string, Required. It must be unique within a KeyRing and match the regular
@@ -261,33 +261,14 @@
       #
       # A CryptoKey is made up of zero or more versions,
       # which represent the actual key material used in cryptographic operations.
-    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-        #
-        # 1. Create a new version of this CryptoKey.
-        # 2. Mark the new version as primary.
-        #
-        # Key rotations performed manually via
-        # CreateCryptoKeyVersion and
-        # UpdateCryptoKeyPrimaryVersion
-        # do not affect next_rotation_time.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
     &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-        # [Labeling Keys](/kms/docs/labeling-keys).
+        # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       &quot;a_key&quot;: &quot;A String&quot;,
     },
+    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-        # automatically rotates a key. Must be at least 24 hours and at most
-        # 876,000 hours.
-        #
-        # If rotation_period is set, next_rotation_time must also be set.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
         # by Encrypt when this CryptoKey is given
         # in EncryptRequest.name.
@@ -307,33 +288,16 @@
         # CryptoKeyVersion can never be viewed or exported. It can only be used to
         # encrypt, decrypt, or sign data when an authorized user or application invokes
         # Cloud KMS.
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-          # CryptoKeyVersion supports.
-      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-          # CryptoKeyVersion. Only present if the underlying key material was
-          # imported.
-      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-      },
-      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # destroyed. Only present if state is
-          # DESTROYED.
+      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # generated.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
           # was imported.
-      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-          # for destruction. Only present if state is
-          # DESTROY_SCHEDULED.
       &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
           # state is
           # IMPORT_FAILED.
       &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
           # creation time. Use this statement to verify attributes of the key as stored
           # on the HSM, independently of Google. Only provided for key versions with
@@ -344,13 +308,28 @@
         &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
             # operation was performed.
       },
-      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # generated.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+          # for destruction. Only present if state is
+          # DESTROY_SCHEDULED.
+      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # destroyed. Only present if state is
+          # DESTROYED.
       &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
           # performed with this CryptoKeyVersion.
+      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+      },
+      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+          # CryptoKeyVersion. Only present if the underlying key material was
+          # imported.
+      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+          # CryptoKeyVersion supports.
     },
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
         # The properties of new CryptoKeyVersion instances created by either
         # CreateCryptoKeyVersion or
@@ -367,7 +346,28 @@
       &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
           # this template. Immutable. Defaults to SOFTWARE.
     },
-    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+        # automatically rotates a key. Must be at least 24 hours and at most
+        # 876,000 hours.
+        #
+        # If rotation_period is set, next_rotation_time must also be set.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
+    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+        #
+        # 1. Create a new version of this CryptoKey.
+        # 2. Mark the new version as primary.
+        #
+        # Key rotations performed manually via
+        # CreateCryptoKeyVersion and
+        # UpdateCryptoKeyPrimaryVersion
+        # do not affect next_rotation_time.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
   }</pre>
 </div>
 
@@ -383,10 +383,41 @@
     The object takes the form of:
 
 { # Request message for KeyManagementService.Decrypt.
-    &quot;ciphertext&quot;: &quot;A String&quot;, # Required. The encrypted data originally returned in
-        # EncryptResponse.ciphertext.
+    &quot;ciphertextCrc32c&quot;: &quot;A String&quot;, # Optional. An optional CRC32C checksum of the DecryptRequest.ciphertext. If
+        # specified, KeyManagementService will verify the integrity of the
+        # received DecryptRequest.ciphertext using this checksum.
+        # KeyManagementService will report an error if the checksum verification
+        # fails. If you receive a checksum error, your client should verify that
+        # CRC32C(DecryptRequest.ciphertext) is equal to
+        # DecryptRequest.ciphertext_crc32c, and if so, perform a limited number
+        # of retries. A persistent mismatch may indicate an issue in your computation
+        # of the CRC32C checksum.
+        # Note: This field is defined as int64 for reasons of compatibility across
+        # different languages. However, it is a non-negative integer, which will
+        # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
+        # that support this type.
+        # 
+        # NOTE: This field is in Beta.
     &quot;additionalAuthenticatedData&quot;: &quot;A String&quot;, # Optional. Optional data that must match the data originally supplied in
         # EncryptRequest.additional_authenticated_data.
+    &quot;ciphertext&quot;: &quot;A String&quot;, # Required. The encrypted data originally returned in
+        # EncryptResponse.ciphertext.
+    &quot;additionalAuthenticatedDataCrc32c&quot;: &quot;A String&quot;, # Optional. An optional CRC32C checksum of the
+        # DecryptRequest.additional_authenticated_data. If specified,
+        # KeyManagementService will verify the integrity of the received
+        # DecryptRequest.additional_authenticated_data using this checksum.
+        # KeyManagementService will report an error if the checksum verification
+        # fails. If you receive a checksum error, your client should verify that
+        # CRC32C(DecryptRequest.additional_authenticated_data) is equal to
+        # DecryptRequest.additional_authenticated_data_crc32c, and if so, perform
+        # a limited number of retries. A persistent mismatch may indicate an issue in
+        # your computation of the CRC32C checksum.
+        # Note: This field is defined as int64 for reasons of compatibility across
+        # different languages. However, it is a non-negative integer, which will
+        # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
+        # that support this type.
+        # 
+        # NOTE: This field is in Beta.
   }
 
   x__xgafv: string, V1 error format.
@@ -398,6 +429,21 @@
   An object of the form:
 
     { # Response message for KeyManagementService.Decrypt.
+    &quot;plaintextCrc32c&quot;: &quot;A String&quot;, # Integrity verification field. A CRC32C checksum of the returned
+        # DecryptResponse.plaintext. An integrity check of
+        # DecryptResponse.plaintext can be performed by computing the CRC32C
+        # checksum of DecryptResponse.plaintext and comparing your results to
+        # this field. Discard the response in case of non-matching checksum values,
+        # and perform a limited number of retries. A persistent mismatch may indicate
+        # an issue in your computation of the CRC32C checksum. Note: receiving this
+        # response message indicates that KeyManagementService is able to
+        # successfully decrypt the ciphertext.
+        # Note: This field is defined as int64 for reasons of compatibility across
+        # different languages. However, it is a non-negative integer, which will
+        # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
+        # that support this type.
+        #
+        # NOTE: This field is in Beta.
     &quot;plaintext&quot;: &quot;A String&quot;, # The decrypted data originally supplied in EncryptRequest.plaintext.
   }</pre>
 </div>
@@ -418,6 +464,21 @@
     The object takes the form of:
 
 { # Request message for KeyManagementService.Encrypt.
+    &quot;plaintextCrc32c&quot;: &quot;A String&quot;, # Optional. An optional CRC32C checksum of the EncryptRequest.plaintext. If
+        # specified, KeyManagementService will verify the integrity of the
+        # received EncryptRequest.plaintext using this checksum.
+        # KeyManagementService will report an error if the checksum verification
+        # fails. If you receive a checksum error, your client should verify that
+        # CRC32C(EncryptRequest.plaintext) is equal to
+        # EncryptRequest.plaintext_crc32c, and if so, perform a limited number of
+        # retries. A persistent mismatch may indicate an issue in your computation of
+        # the CRC32C checksum.
+        # Note: This field is defined as int64 for reasons of compatibility across
+        # different languages. However, it is a non-negative integer, which will
+        # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
+        # that support this type.
+        # 
+        # NOTE: This field is in Beta.
     &quot;plaintext&quot;: &quot;A String&quot;, # Required. The data to encrypt. Must be no larger than 64KiB.
         # 
         # The maximum size depends on the key version&#x27;s
@@ -435,6 +496,22 @@
         # 64KiB. For HSM keys, the combined length of the
         # plaintext and additional_authenticated_data fields must be no larger than
         # 8KiB.
+    &quot;additionalAuthenticatedDataCrc32c&quot;: &quot;A String&quot;, # Optional. An optional CRC32C checksum of the
+        # EncryptRequest.additional_authenticated_data. If specified,
+        # KeyManagementService will verify the integrity of the received
+        # EncryptRequest.additional_authenticated_data using this checksum.
+        # KeyManagementService will report an error if the checksum verification
+        # fails. If you receive a checksum error, your client should verify that
+        # CRC32C(EncryptRequest.additional_authenticated_data) is equal to
+        # EncryptRequest.additional_authenticated_data_crc32c, and if so, perform
+        # a limited number of retries. A persistent mismatch may indicate an issue in
+        # your computation of the CRC32C checksum.
+        # Note: This field is defined as int64 for reasons of compatibility across
+        # different languages. However, it is a non-negative integer, which will
+        # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
+        # that support this type.
+        # 
+        # NOTE: This field is in Beta.
   }
 
   x__xgafv: string, V1 error format.
@@ -446,6 +523,40 @@
   An object of the form:
 
     { # Response message for KeyManagementService.Encrypt.
+    &quot;verifiedAdditionalAuthenticatedDataCrc32c&quot;: True or False, # Integrity verification field. A flag indicating whether
+        # EncryptRequest.additional_authenticated_data_crc32c was received by
+        # KeyManagementService and used for the integrity verification of the
+        # AAD. A false value of this
+        # field indicates either that
+        # EncryptRequest.additional_authenticated_data_crc32c was left unset or
+        # that it was not delivered to KeyManagementService. If you&#x27;ve set
+        # EncryptRequest.additional_authenticated_data_crc32c but this field is
+        # still false, discard the response and perform a limited number of retries.
+        #
+        # NOTE: This field is in Beta.
+    &quot;ciphertextCrc32c&quot;: &quot;A String&quot;, # Integrity verification field. A CRC32C checksum of the returned
+        # EncryptResponse.ciphertext. An integrity check of
+        # EncryptResponse.ciphertext can be performed by computing the CRC32C
+        # checksum of EncryptResponse.ciphertext and comparing your results to
+        # this field. Discard the response in case of non-matching checksum values,
+        # and perform a limited number of retries. A persistent mismatch may indicate
+        # an issue in your computation of the CRC32C checksum.
+        # Note: This field is defined as int64 for reasons of compatibility across
+        # different languages. However, it is a non-negative integer, which will
+        # never exceed 2^32-1, and can be safely downconverted to uint32 in languages
+        # that support this type.
+        #
+        # NOTE: This field is in Beta.
+    &quot;verifiedPlaintextCrc32c&quot;: True or False, # Integrity verification field. A flag indicating whether
+        # EncryptRequest.plaintext_crc32c was received by
+        # KeyManagementService and used for the integrity verification of the
+        # plaintext. A false value of this field
+        # indicates either that EncryptRequest.plaintext_crc32c was left unset or
+        # that it was not delivered to KeyManagementService. If you&#x27;ve set
+        # EncryptRequest.plaintext_crc32c but this field is still false, discard
+        # the response and perform a limited number of retries.
+        #
+        # NOTE: This field is in Beta.
     &quot;ciphertext&quot;: &quot;A String&quot;, # The encrypted data.
     &quot;name&quot;: &quot;A String&quot;, # The resource name of the CryptoKeyVersion used in encryption. Check
         # this field to verify that the intended resource was used for encryption.
@@ -472,33 +583,14 @@
       #
       # A CryptoKey is made up of zero or more versions,
       # which represent the actual key material used in cryptographic operations.
-    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-        #
-        # 1. Create a new version of this CryptoKey.
-        # 2. Mark the new version as primary.
-        #
-        # Key rotations performed manually via
-        # CreateCryptoKeyVersion and
-        # UpdateCryptoKeyPrimaryVersion
-        # do not affect next_rotation_time.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
     &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-        # [Labeling Keys](/kms/docs/labeling-keys).
+        # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       &quot;a_key&quot;: &quot;A String&quot;,
     },
+    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-        # automatically rotates a key. Must be at least 24 hours and at most
-        # 876,000 hours.
-        #
-        # If rotation_period is set, next_rotation_time must also be set.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
         # by Encrypt when this CryptoKey is given
         # in EncryptRequest.name.
@@ -518,33 +610,16 @@
         # CryptoKeyVersion can never be viewed or exported. It can only be used to
         # encrypt, decrypt, or sign data when an authorized user or application invokes
         # Cloud KMS.
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-          # CryptoKeyVersion supports.
-      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-          # CryptoKeyVersion. Only present if the underlying key material was
-          # imported.
-      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-      },
-      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # destroyed. Only present if state is
-          # DESTROYED.
+      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # generated.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
           # was imported.
-      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-          # for destruction. Only present if state is
-          # DESTROY_SCHEDULED.
       &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
           # state is
           # IMPORT_FAILED.
       &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
           # creation time. Use this statement to verify attributes of the key as stored
           # on the HSM, independently of Google. Only provided for key versions with
@@ -555,13 +630,28 @@
         &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
             # operation was performed.
       },
-      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # generated.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+          # for destruction. Only present if state is
+          # DESTROY_SCHEDULED.
+      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # destroyed. Only present if state is
+          # DESTROYED.
       &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
           # performed with this CryptoKeyVersion.
+      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+      },
+      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+          # CryptoKeyVersion. Only present if the underlying key material was
+          # imported.
+      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+          # CryptoKeyVersion supports.
     },
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
         # The properties of new CryptoKeyVersion instances created by either
         # CreateCryptoKeyVersion or
@@ -578,7 +668,28 @@
       &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
           # this template. Immutable. Defaults to SOFTWARE.
     },
-    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+        # automatically rotates a key. Must be at least 24 hours and at most
+        # 876,000 hours.
+        #
+        # If rotation_period is set, next_rotation_time must also be set.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
+    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+        #
+        # 1. Create a new version of this CryptoKey.
+        # 2. Mark the new version as primary.
+        #
+        # Key rotations performed manually via
+        # CreateCryptoKeyVersion and
+        # UpdateCryptoKeyPrimaryVersion
+        # do not affect next_rotation_time.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
   }</pre>
 </div>
 
@@ -714,95 +825,12 @@
         #
         # To learn which resources support conditions in their IAM policies, see the
         # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
-    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
-      { # Specifies the audit configuration for a service.
-          # The configuration determines which permission types are logged, and what
-          # identities, if any, are exempted from logging.
-          # An AuditConfig must have one or more AuditLogConfigs.
-          #
-          # If there are AuditConfigs for both `allServices` and a specific service,
-          # the union of the two AuditConfigs is used for that service: the log_types
-          # specified in each AuditConfig are enabled, and the exempted_members in each
-          # AuditLogConfig are exempted.
-          #
-          # Example Policy with multiple AuditConfigs:
-          #
-          #     {
-          #       &quot;audit_configs&quot;: [
-          #         {
-          #           &quot;service&quot;: &quot;allServices&quot;
-          #           &quot;audit_log_configs&quot;: [
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
-          #               &quot;exempted_members&quot;: [
-          #                 &quot;user:jose@example.com&quot;
-          #               ]
-          #             },
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-          #             },
-          #             {
-          #               &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
-          #             }
-          #           ]
-          #         },
-          #         {
-          #           &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
-          #           &quot;audit_log_configs&quot;: [
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
-          #             },
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-          #               &quot;exempted_members&quot;: [
-          #                 &quot;user:aliya@example.com&quot;
-          #               ]
-          #             }
-          #           ]
-          #         }
-          #       ]
-          #     }
-          #
-          # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
-          # logging. It also exempts jose@example.com from DATA_READ logging, and
-          # aliya@example.com from DATA_WRITE logging.
-        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
-          { # Provides the configuration for logging a type of permissions.
-              # Example:
-              #
-              #     {
-              #       &quot;audit_log_configs&quot;: [
-              #         {
-              #           &quot;log_type&quot;: &quot;DATA_READ&quot;,
-              #           &quot;exempted_members&quot;: [
-              #             &quot;user:jose@example.com&quot;
-              #           ]
-              #         },
-              #         {
-              #           &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-              #         }
-              #       ]
-              #     }
-              #
-              # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
-              # jose@example.com from DATA_READ logging.
-            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
-                # permission.
-                # Follows the same format of Binding.members.
-              &quot;A String&quot;,
-            ],
-            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
-          },
-        ],
-        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
-            # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
-            # `allServices` is a special value that covers all services.
-      },
-    ],
     &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
         # `condition` that determines how and when the `bindings` are applied. Each
         # of the `bindings` must contain at least one member.
       { # Associates `members` with a `role`.
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
             #
             # If the condition evaluates to `true`, then this binding applies to the
@@ -845,15 +873,15 @@
             # The exact variables and functions that may be referenced within an expression
             # are determined by the service that evaluates it. See the service
             # documentation for additional information.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
           &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
               # its purpose. This can be used e.g. in UIs which allow to enter the
               # expression.
-          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
-              # reporting, e.g. a file name and a position in the file.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
           &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
               # syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
         },
         &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
@@ -900,15 +928,98 @@
             #
           &quot;A String&quot;,
         ],
-        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+      },
+    ],
+    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+      { # Specifies the audit configuration for a service.
+          # The configuration determines which permission types are logged, and what
+          # identities, if any, are exempted from logging.
+          # An AuditConfig must have one or more AuditLogConfigs.
+          #
+          # If there are AuditConfigs for both `allServices` and a specific service,
+          # the union of the two AuditConfigs is used for that service: the log_types
+          # specified in each AuditConfig are enabled, and the exempted_members in each
+          # AuditLogConfig are exempted.
+          #
+          # Example Policy with multiple AuditConfigs:
+          #
+          #     {
+          #       &quot;audit_configs&quot;: [
+          #         {
+          #           &quot;service&quot;: &quot;allServices&quot;,
+          #           &quot;audit_log_configs&quot;: [
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
+          #               &quot;exempted_members&quot;: [
+          #                 &quot;user:jose@example.com&quot;
+          #               ]
+          #             },
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;
+          #             },
+          #             {
+          #               &quot;log_type&quot;: &quot;ADMIN_READ&quot;
+          #             }
+          #           ]
+          #         },
+          #         {
+          #           &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;,
+          #           &quot;audit_log_configs&quot;: [
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_READ&quot;
+          #             },
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
+          #               &quot;exempted_members&quot;: [
+          #                 &quot;user:aliya@example.com&quot;
+          #               ]
+          #             }
+          #           ]
+          #         }
+          #       ]
+          #     }
+          #
+          # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
+          # logging. It also exempts jose@example.com from DATA_READ logging, and
+          # aliya@example.com from DATA_WRITE logging.
+        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+          { # Provides the configuration for logging a type of permissions.
+              # Example:
+              #
+              #     {
+              #       &quot;audit_log_configs&quot;: [
+              #         {
+              #           &quot;log_type&quot;: &quot;DATA_READ&quot;,
+              #           &quot;exempted_members&quot;: [
+              #             &quot;user:jose@example.com&quot;
+              #           ]
+              #         },
+              #         {
+              #           &quot;log_type&quot;: &quot;DATA_WRITE&quot;
+              #         }
+              #       ]
+              #     }
+              #
+              # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
+              # jose@example.com from DATA_READ logging.
+            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
+                # permission.
+                # Follows the same format of Binding.members.
+              &quot;A String&quot;,
+            ],
+            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+          },
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
+            # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
+            # `allServices` is a special value that covers all services.
       },
     ],
   }</pre>
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, orderBy=None, versionView=None, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, orderBy=None, pageToken=None, pageSize=None, versionView=None, filter=None, x__xgafv=None)</code>
   <pre>Lists CryptoKeys.
 
 Args:
@@ -918,17 +1029,17 @@
 results will be sorted in the default order. For more information, see
 [Sorting and filtering list
 results](https://cloud.google.com/kms/docs/sorting-and-filtering).
-  versionView: string, The fields of the primary version to include in the response.
-  filter: string, Optional. Only include resources that match the filter in the response. For
-more information, see
-[Sorting and filtering list
-results](https://cloud.google.com/kms/docs/sorting-and-filtering).
   pageToken: string, Optional. Optional pagination token, returned earlier via
 ListCryptoKeysResponse.next_page_token.
   pageSize: integer, Optional. Optional limit on the number of CryptoKeys to include in the
 response.  Further CryptoKeys can subsequently be obtained by
 including the ListCryptoKeysResponse.next_page_token in a subsequent
 request.  If unspecified, the server will pick an appropriate default.
+  versionView: string, The fields of the primary version to include in the response.
+  filter: string, Optional. Only include resources that match the filter in the response. For
+more information, see
+[Sorting and filtering list
+results](https://cloud.google.com/kms/docs/sorting-and-filtering).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -940,39 +1051,21 @@
     { # Response message for KeyManagementService.ListCryptoKeys.
     &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve next page of results. Pass this value in
         # ListCryptoKeysRequest.page_token to retrieve the next page of results.
+    &quot;totalSize&quot;: 42, # The total number of CryptoKeys that matched the query.
     &quot;cryptoKeys&quot;: [ # The list of CryptoKeys.
       { # A CryptoKey represents a logical key that can be used for cryptographic
           # operations.
           #
           # A CryptoKey is made up of zero or more versions,
           # which represent the actual key material used in cryptographic operations.
-        &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-            #
-            # 1. Create a new version of this CryptoKey.
-            # 2. Mark the new version as primary.
-            #
-            # Key rotations performed manually via
-            # CreateCryptoKeyVersion and
-            # UpdateCryptoKeyPrimaryVersion
-            # do not affect next_rotation_time.
-            #
-            # Keys with purpose
-            # ENCRYPT_DECRYPT support
-            # automatic rotation. For other keys, this field must be omitted.
         &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-            # [Labeling Keys](/kms/docs/labeling-keys).
+            # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
           &quot;a_key&quot;: &quot;A String&quot;,
         },
+        &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-        &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-            # automatically rotates a key. Must be at least 24 hours and at most
-            # 876,000 hours.
-            #
-            # If rotation_period is set, next_rotation_time must also be set.
-            #
-            # Keys with purpose
-            # ENCRYPT_DECRYPT support
-            # automatic rotation. For other keys, this field must be omitted.
+        &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+            # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
         &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
             # by Encrypt when this CryptoKey is given
             # in EncryptRequest.name.
@@ -992,33 +1085,16 @@
             # CryptoKeyVersion can never be viewed or exported. It can only be used to
             # encrypt, decrypt, or sign data when an authorized user or application invokes
             # Cloud KMS.
-          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-          &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-              # CryptoKeyVersion supports.
-          &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-              # CryptoKeyVersion. Only present if the underlying key material was
-              # imported.
-          &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-              # configuring a CryptoKeyVersion that are specific to the
-              # EXTERNAL protection level.
-              # configuring a CryptoKeyVersion that are specific to the
-              # EXTERNAL protection level.
-            &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-          },
-          &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-              # destroyed. Only present if state is
-              # DESTROYED.
+          &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+              # generated.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+              # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
           &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
               # was imported.
-          &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-              # for destruction. Only present if state is
-              # DESTROY_SCHEDULED.
           &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
               # state is
               # IMPORT_FAILED.
           &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-          &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-              # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
           &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
               # creation time. Use this statement to verify attributes of the key as stored
               # on the HSM, independently of Google. Only provided for key versions with
@@ -1029,13 +1105,28 @@
             &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
                 # operation was performed.
           },
-          &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-              # generated.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+          &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+              # for destruction. Only present if state is
+              # DESTROY_SCHEDULED.
+          &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+              # destroyed. Only present if state is
+              # DESTROYED.
           &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
               # performed with this CryptoKeyVersion.
+          &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+              # configuring a CryptoKeyVersion that are specific to the
+              # EXTERNAL protection level.
+              # configuring a CryptoKeyVersion that are specific to the
+              # EXTERNAL protection level.
+            &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+          },
+          &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+              # CryptoKeyVersion. Only present if the underlying key material was
+              # imported.
+          &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+              # CryptoKeyVersion supports.
         },
-        &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-            # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
         &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
             # The properties of new CryptoKeyVersion instances created by either
             # CreateCryptoKeyVersion or
@@ -1052,10 +1143,30 @@
           &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
               # this template. Immutable. Defaults to SOFTWARE.
         },
-        &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+        &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+            # automatically rotates a key. Must be at least 24 hours and at most
+            # 876,000 hours.
+            #
+            # If rotation_period is set, next_rotation_time must also be set.
+            #
+            # Keys with purpose
+            # ENCRYPT_DECRYPT support
+            # automatic rotation. For other keys, this field must be omitted.
+        &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+            #
+            # 1. Create a new version of this CryptoKey.
+            # 2. Mark the new version as primary.
+            #
+            # Key rotations performed manually via
+            # CreateCryptoKeyVersion and
+            # UpdateCryptoKeyPrimaryVersion
+            # do not affect next_rotation_time.
+            #
+            # Keys with purpose
+            # ENCRYPT_DECRYPT support
+            # automatic rotation. For other keys, this field must be omitted.
       },
     ],
-    &quot;totalSize&quot;: 42, # The total number of CryptoKeys that matched the query.
   }</pre>
 </div>
 
@@ -1088,33 +1199,14 @@
     # 
     # A CryptoKey is made up of zero or more versions,
     # which represent the actual key material used in cryptographic operations.
-  &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-      # 
-      # 1. Create a new version of this CryptoKey.
-      # 2. Mark the new version as primary.
-      # 
-      # Key rotations performed manually via
-      # CreateCryptoKeyVersion and
-      # UpdateCryptoKeyPrimaryVersion
-      # do not affect next_rotation_time.
-      # 
-      # Keys with purpose
-      # ENCRYPT_DECRYPT support
-      # automatic rotation. For other keys, this field must be omitted.
   &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-      # [Labeling Keys](/kms/docs/labeling-keys).
+      # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
     &quot;a_key&quot;: &quot;A String&quot;,
   },
+  &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-  &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-      # automatically rotates a key. Must be at least 24 hours and at most
-      # 876,000 hours.
-      # 
-      # If rotation_period is set, next_rotation_time must also be set.
-      # 
-      # Keys with purpose
-      # ENCRYPT_DECRYPT support
-      # automatic rotation. For other keys, this field must be omitted.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+      # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
   &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
       # by Encrypt when this CryptoKey is given
       # in EncryptRequest.name.
@@ -1134,33 +1226,16 @@
       # CryptoKeyVersion can never be viewed or exported. It can only be used to
       # encrypt, decrypt, or sign data when an authorized user or application invokes
       # Cloud KMS.
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-    &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
-    &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-        # CryptoKeyVersion. Only present if the underlying key material was
-        # imported.
-    &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-        # configuring a CryptoKeyVersion that are specific to the
-        # EXTERNAL protection level.
-        # configuring a CryptoKeyVersion that are specific to the
-        # EXTERNAL protection level.
-      &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-    },
-    &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-        # destroyed. Only present if state is
-        # DESTROYED.
+    &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+        # generated.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
     &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
         # was imported.
-    &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-        # for destruction. Only present if state is
-        # DESTROY_SCHEDULED.
     &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
         # state is
         # IMPORT_FAILED.
     &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
     &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
         # creation time. Use this statement to verify attributes of the key as stored
         # on the HSM, independently of Google. Only provided for key versions with
@@ -1171,13 +1246,28 @@
       &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
           # operation was performed.
     },
-    &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-        # generated.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+    &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+        # for destruction. Only present if state is
+        # DESTROY_SCHEDULED.
+    &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+        # destroyed. Only present if state is
+        # DESTROYED.
     &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
+    &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+        # configuring a CryptoKeyVersion that are specific to the
+        # EXTERNAL protection level.
+        # configuring a CryptoKeyVersion that are specific to the
+        # EXTERNAL protection level.
+      &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+    },
+    &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
   },
-  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-      # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
   &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
       # The properties of new CryptoKeyVersion instances created by either
       # CreateCryptoKeyVersion or
@@ -1194,7 +1284,28 @@
     &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
         # this template. Immutable. Defaults to SOFTWARE.
   },
-  &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+  &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+      # automatically rotates a key. Must be at least 24 hours and at most
+      # 876,000 hours.
+      # 
+      # If rotation_period is set, next_rotation_time must also be set.
+      # 
+      # Keys with purpose
+      # ENCRYPT_DECRYPT support
+      # automatic rotation. For other keys, this field must be omitted.
+  &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+      # 
+      # 1. Create a new version of this CryptoKey.
+      # 2. Mark the new version as primary.
+      # 
+      # Key rotations performed manually via
+      # CreateCryptoKeyVersion and
+      # UpdateCryptoKeyPrimaryVersion
+      # do not affect next_rotation_time.
+      # 
+      # Keys with purpose
+      # ENCRYPT_DECRYPT support
+      # automatic rotation. For other keys, this field must be omitted.
 }
 
   updateMask: string, Required. List of fields to be updated in this request.
@@ -1211,33 +1322,14 @@
       #
       # A CryptoKey is made up of zero or more versions,
       # which represent the actual key material used in cryptographic operations.
-    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-        #
-        # 1. Create a new version of this CryptoKey.
-        # 2. Mark the new version as primary.
-        #
-        # Key rotations performed manually via
-        # CreateCryptoKeyVersion and
-        # UpdateCryptoKeyPrimaryVersion
-        # do not affect next_rotation_time.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
     &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-        # [Labeling Keys](/kms/docs/labeling-keys).
+        # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       &quot;a_key&quot;: &quot;A String&quot;,
     },
+    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-        # automatically rotates a key. Must be at least 24 hours and at most
-        # 876,000 hours.
-        #
-        # If rotation_period is set, next_rotation_time must also be set.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
         # by Encrypt when this CryptoKey is given
         # in EncryptRequest.name.
@@ -1257,33 +1349,16 @@
         # CryptoKeyVersion can never be viewed or exported. It can only be used to
         # encrypt, decrypt, or sign data when an authorized user or application invokes
         # Cloud KMS.
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-          # CryptoKeyVersion supports.
-      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-          # CryptoKeyVersion. Only present if the underlying key material was
-          # imported.
-      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-      },
-      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # destroyed. Only present if state is
-          # DESTROYED.
+      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # generated.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
           # was imported.
-      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-          # for destruction. Only present if state is
-          # DESTROY_SCHEDULED.
       &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
           # state is
           # IMPORT_FAILED.
       &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
           # creation time. Use this statement to verify attributes of the key as stored
           # on the HSM, independently of Google. Only provided for key versions with
@@ -1294,13 +1369,28 @@
         &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
             # operation was performed.
       },
-      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # generated.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+          # for destruction. Only present if state is
+          # DESTROY_SCHEDULED.
+      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # destroyed. Only present if state is
+          # DESTROYED.
       &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
           # performed with this CryptoKeyVersion.
+      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+      },
+      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+          # CryptoKeyVersion. Only present if the underlying key material was
+          # imported.
+      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+          # CryptoKeyVersion supports.
     },
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
         # The properties of new CryptoKeyVersion instances created by either
         # CreateCryptoKeyVersion or
@@ -1317,7 +1407,28 @@
       &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
           # this template. Immutable. Defaults to SOFTWARE.
     },
-    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+        # automatically rotates a key. Must be at least 24 hours and at most
+        # 876,000 hours.
+        #
+        # If rotation_period is set, next_rotation_time must also be set.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
+    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+        #
+        # 1. Create a new version of this CryptoKey.
+        # 2. Mark the new version as primary.
+        #
+        # Key rotations performed manually via
+        # CreateCryptoKeyVersion and
+        # UpdateCryptoKeyPrimaryVersion
+        # do not affect next_rotation_time.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
   }</pre>
 </div>
 
@@ -1335,6 +1446,11 @@
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
+    &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
+        # the fields in the mask will be modified. If no mask is provided, the
+        # following default mask is used:
+        # 
+        # `paths: &quot;bindings, etag&quot;`
     &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
         # the policy is limited to a few 10s of KB. An empty policy is a
         # valid policy but certain Cloud Platform services (such as Projects)
@@ -1441,95 +1557,12 @@
           #
           # To learn which resources support conditions in their IAM policies, see the
           # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
-      &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
-        { # Specifies the audit configuration for a service.
-            # The configuration determines which permission types are logged, and what
-            # identities, if any, are exempted from logging.
-            # An AuditConfig must have one or more AuditLogConfigs.
-            #
-            # If there are AuditConfigs for both `allServices` and a specific service,
-            # the union of the two AuditConfigs is used for that service: the log_types
-            # specified in each AuditConfig are enabled, and the exempted_members in each
-            # AuditLogConfig are exempted.
-            #
-            # Example Policy with multiple AuditConfigs:
-            #
-            #     {
-            #       &quot;audit_configs&quot;: [
-            #         {
-            #           &quot;service&quot;: &quot;allServices&quot;
-            #           &quot;audit_log_configs&quot;: [
-            #             {
-            #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
-            #               &quot;exempted_members&quot;: [
-            #                 &quot;user:jose@example.com&quot;
-            #               ]
-            #             },
-            #             {
-            #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-            #             },
-            #             {
-            #               &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
-            #             }
-            #           ]
-            #         },
-            #         {
-            #           &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
-            #           &quot;audit_log_configs&quot;: [
-            #             {
-            #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
-            #             },
-            #             {
-            #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-            #               &quot;exempted_members&quot;: [
-            #                 &quot;user:aliya@example.com&quot;
-            #               ]
-            #             }
-            #           ]
-            #         }
-            #       ]
-            #     }
-            #
-            # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
-            # logging. It also exempts jose@example.com from DATA_READ logging, and
-            # aliya@example.com from DATA_WRITE logging.
-          &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
-            { # Provides the configuration for logging a type of permissions.
-                # Example:
-                #
-                #     {
-                #       &quot;audit_log_configs&quot;: [
-                #         {
-                #           &quot;log_type&quot;: &quot;DATA_READ&quot;,
-                #           &quot;exempted_members&quot;: [
-                #             &quot;user:jose@example.com&quot;
-                #           ]
-                #         },
-                #         {
-                #           &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-                #         }
-                #       ]
-                #     }
-                #
-                # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
-                # jose@example.com from DATA_READ logging.
-              &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
-                  # permission.
-                  # Follows the same format of Binding.members.
-                &quot;A String&quot;,
-              ],
-              &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
-            },
-          ],
-          &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
-              # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
-              # `allServices` is a special value that covers all services.
-        },
-      ],
       &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
           # `condition` that determines how and when the `bindings` are applied. Each
           # of the `bindings` must contain at least one member.
         { # Associates `members` with a `role`.
+          &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
           &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
               #
               # If the condition evaluates to `true`, then this binding applies to the
@@ -1572,15 +1605,15 @@
               # The exact variables and functions that may be referenced within an expression
               # are determined by the service that evaluates it. See the service
               # documentation for additional information.
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+                # describes the expression, e.g. when hovered over it in a UI.
             &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
                 # its purpose. This can be used e.g. in UIs which allow to enter the
                 # expression.
-            &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
-                # reporting, e.g. a file name and a position in the file.
-            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-                # describes the expression, e.g. when hovered over it in a UI.
             &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
                 # syntax.
+            &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+                # reporting, e.g. a file name and a position in the file.
           },
           &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
               # `members` can have the following values:
@@ -1627,16 +1660,94 @@
               #
             &quot;A String&quot;,
           ],
-          &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+        },
+      ],
+      &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+        { # Specifies the audit configuration for a service.
+            # The configuration determines which permission types are logged, and what
+            # identities, if any, are exempted from logging.
+            # An AuditConfig must have one or more AuditLogConfigs.
+            #
+            # If there are AuditConfigs for both `allServices` and a specific service,
+            # the union of the two AuditConfigs is used for that service: the log_types
+            # specified in each AuditConfig are enabled, and the exempted_members in each
+            # AuditLogConfig are exempted.
+            #
+            # Example Policy with multiple AuditConfigs:
+            #
+            #     {
+            #       &quot;audit_configs&quot;: [
+            #         {
+            #           &quot;service&quot;: &quot;allServices&quot;,
+            #           &quot;audit_log_configs&quot;: [
+            #             {
+            #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
+            #               &quot;exempted_members&quot;: [
+            #                 &quot;user:jose@example.com&quot;
+            #               ]
+            #             },
+            #             {
+            #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;
+            #             },
+            #             {
+            #               &quot;log_type&quot;: &quot;ADMIN_READ&quot;
+            #             }
+            #           ]
+            #         },
+            #         {
+            #           &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;,
+            #           &quot;audit_log_configs&quot;: [
+            #             {
+            #               &quot;log_type&quot;: &quot;DATA_READ&quot;
+            #             },
+            #             {
+            #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
+            #               &quot;exempted_members&quot;: [
+            #                 &quot;user:aliya@example.com&quot;
+            #               ]
+            #             }
+            #           ]
+            #         }
+            #       ]
+            #     }
+            #
+            # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
+            # logging. It also exempts jose@example.com from DATA_READ logging, and
+            # aliya@example.com from DATA_WRITE logging.
+          &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+            { # Provides the configuration for logging a type of permissions.
+                # Example:
+                #
+                #     {
+                #       &quot;audit_log_configs&quot;: [
+                #         {
+                #           &quot;log_type&quot;: &quot;DATA_READ&quot;,
+                #           &quot;exempted_members&quot;: [
+                #             &quot;user:jose@example.com&quot;
+                #           ]
+                #         },
+                #         {
+                #           &quot;log_type&quot;: &quot;DATA_WRITE&quot;
+                #         }
+                #       ]
+                #     }
+                #
+                # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
+                # jose@example.com from DATA_READ logging.
+              &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
+                  # permission.
+                  # Follows the same format of Binding.members.
+                &quot;A String&quot;,
+              ],
+              &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+            },
+          ],
+          &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
+              # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
+              # `allServices` is a special value that covers all services.
         },
       ],
     },
-    &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
-        # the fields in the mask will be modified. If no mask is provided, the
-        # following default mask is used:
-        # 
-        # `paths: &quot;bindings, etag&quot;`
   }
 
   x__xgafv: string, V1 error format.
@@ -1750,95 +1861,12 @@
         #
         # To learn which resources support conditions in their IAM policies, see the
         # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
-    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
-      { # Specifies the audit configuration for a service.
-          # The configuration determines which permission types are logged, and what
-          # identities, if any, are exempted from logging.
-          # An AuditConfig must have one or more AuditLogConfigs.
-          #
-          # If there are AuditConfigs for both `allServices` and a specific service,
-          # the union of the two AuditConfigs is used for that service: the log_types
-          # specified in each AuditConfig are enabled, and the exempted_members in each
-          # AuditLogConfig are exempted.
-          #
-          # Example Policy with multiple AuditConfigs:
-          #
-          #     {
-          #       &quot;audit_configs&quot;: [
-          #         {
-          #           &quot;service&quot;: &quot;allServices&quot;
-          #           &quot;audit_log_configs&quot;: [
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
-          #               &quot;exempted_members&quot;: [
-          #                 &quot;user:jose@example.com&quot;
-          #               ]
-          #             },
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-          #             },
-          #             {
-          #               &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
-          #             }
-          #           ]
-          #         },
-          #         {
-          #           &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
-          #           &quot;audit_log_configs&quot;: [
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
-          #             },
-          #             {
-          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-          #               &quot;exempted_members&quot;: [
-          #                 &quot;user:aliya@example.com&quot;
-          #               ]
-          #             }
-          #           ]
-          #         }
-          #       ]
-          #     }
-          #
-          # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
-          # logging. It also exempts jose@example.com from DATA_READ logging, and
-          # aliya@example.com from DATA_WRITE logging.
-        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
-          { # Provides the configuration for logging a type of permissions.
-              # Example:
-              #
-              #     {
-              #       &quot;audit_log_configs&quot;: [
-              #         {
-              #           &quot;log_type&quot;: &quot;DATA_READ&quot;,
-              #           &quot;exempted_members&quot;: [
-              #             &quot;user:jose@example.com&quot;
-              #           ]
-              #         },
-              #         {
-              #           &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
-              #         }
-              #       ]
-              #     }
-              #
-              # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
-              # jose@example.com from DATA_READ logging.
-            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
-                # permission.
-                # Follows the same format of Binding.members.
-              &quot;A String&quot;,
-            ],
-            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
-          },
-        ],
-        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
-            # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
-            # `allServices` is a special value that covers all services.
-      },
-    ],
     &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
         # `condition` that determines how and when the `bindings` are applied. Each
         # of the `bindings` must contain at least one member.
       { # Associates `members` with a `role`.
+        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
+            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
         &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
             #
             # If the condition evaluates to `true`, then this binding applies to the
@@ -1881,15 +1909,15 @@
             # The exact variables and functions that may be referenced within an expression
             # are determined by the service that evaluates it. See the service
             # documentation for additional information.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
+              # describes the expression, e.g. when hovered over it in a UI.
           &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
               # its purpose. This can be used e.g. in UIs which allow to enter the
               # expression.
-          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
-              # reporting, e.g. a file name and a position in the file.
-          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
-              # describes the expression, e.g. when hovered over it in a UI.
           &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
               # syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
+              # reporting, e.g. a file name and a position in the file.
         },
         &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
             # `members` can have the following values:
@@ -1936,8 +1964,91 @@
             #
           &quot;A String&quot;,
         ],
-        &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
-            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+      },
+    ],
+    &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+      { # Specifies the audit configuration for a service.
+          # The configuration determines which permission types are logged, and what
+          # identities, if any, are exempted from logging.
+          # An AuditConfig must have one or more AuditLogConfigs.
+          #
+          # If there are AuditConfigs for both `allServices` and a specific service,
+          # the union of the two AuditConfigs is used for that service: the log_types
+          # specified in each AuditConfig are enabled, and the exempted_members in each
+          # AuditLogConfig are exempted.
+          #
+          # Example Policy with multiple AuditConfigs:
+          #
+          #     {
+          #       &quot;audit_configs&quot;: [
+          #         {
+          #           &quot;service&quot;: &quot;allServices&quot;,
+          #           &quot;audit_log_configs&quot;: [
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_READ&quot;,
+          #               &quot;exempted_members&quot;: [
+          #                 &quot;user:jose@example.com&quot;
+          #               ]
+          #             },
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;
+          #             },
+          #             {
+          #               &quot;log_type&quot;: &quot;ADMIN_READ&quot;
+          #             }
+          #           ]
+          #         },
+          #         {
+          #           &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;,
+          #           &quot;audit_log_configs&quot;: [
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_READ&quot;
+          #             },
+          #             {
+          #               &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
+          #               &quot;exempted_members&quot;: [
+          #                 &quot;user:aliya@example.com&quot;
+          #               ]
+          #             }
+          #           ]
+          #         }
+          #       ]
+          #     }
+          #
+          # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
+          # logging. It also exempts jose@example.com from DATA_READ logging, and
+          # aliya@example.com from DATA_WRITE logging.
+        &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+          { # Provides the configuration for logging a type of permissions.
+              # Example:
+              #
+              #     {
+              #       &quot;audit_log_configs&quot;: [
+              #         {
+              #           &quot;log_type&quot;: &quot;DATA_READ&quot;,
+              #           &quot;exempted_members&quot;: [
+              #             &quot;user:jose@example.com&quot;
+              #           ]
+              #         },
+              #         {
+              #           &quot;log_type&quot;: &quot;DATA_WRITE&quot;
+              #         }
+              #       ]
+              #     }
+              #
+              # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
+              # jose@example.com from DATA_READ logging.
+            &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
+                # permission.
+                # Follows the same format of Binding.members.
+              &quot;A String&quot;,
+            ],
+            &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+          },
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
+            # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
+            # `allServices` is a special value that covers all services.
       },
     ],
   }</pre>
@@ -2012,33 +2123,14 @@
       #
       # A CryptoKey is made up of zero or more versions,
       # which represent the actual key material used in cryptographic operations.
-    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
-        #
-        # 1. Create a new version of this CryptoKey.
-        # 2. Mark the new version as primary.
-        #
-        # Key rotations performed manually via
-        # CreateCryptoKeyVersion and
-        # UpdateCryptoKeyPrimaryVersion
-        # do not affect next_rotation_time.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
     &quot;labels&quot;: { # Labels with user-defined metadata. For more information, see
-        # [Labeling Keys](/kms/docs/labeling-keys).
+        # [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       &quot;a_key&quot;: &quot;A String&quot;,
     },
+    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKey was created.
-    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
-        # automatically rotates a key. Must be at least 24 hours and at most
-        # 876,000 hours.
-        #
-        # If rotation_period is set, next_rotation_time must also be set.
-        #
-        # Keys with purpose
-        # ENCRYPT_DECRYPT support
-        # automatic rotation. For other keys, this field must be omitted.
+    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;primary&quot;: { # A CryptoKeyVersion represents an individual cryptographic key, and the # Output only. A copy of the &quot;primary&quot; CryptoKeyVersion that will be used
         # by Encrypt when this CryptoKey is given
         # in EncryptRequest.name.
@@ -2058,33 +2150,16 @@
         # CryptoKeyVersion can never be viewed or exported. It can only be used to
         # encrypt, decrypt, or sign data when an authorized user or application invokes
         # Cloud KMS.
-      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
-      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
-          # CryptoKeyVersion supports.
-      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
-          # CryptoKeyVersion. Only present if the underlying key material was
-          # imported.
-      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-          # configuring a CryptoKeyVersion that are specific to the
-          # EXTERNAL protection level.
-        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
-      },
-      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # destroyed. Only present if state is
-          # DESTROYED.
+      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # generated.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
+          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;importTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion&#x27;s key material
           # was imported.
-      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
-          # for destruction. Only present if state is
-          # DESTROY_SCHEDULED.
       &quot;importFailureReason&quot;: &quot;A String&quot;, # Output only. The root cause of an import failure. Only present if
           # state is
           # IMPORT_FAILED.
       &quot;state&quot;: &quot;A String&quot;, # The current state of the CryptoKeyVersion.
-      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKeyVersion in the format
-          # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
       &quot;attestation&quot;: { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
           # creation time. Use this statement to verify attributes of the key as stored
           # on the HSM, independently of Google. Only provided for key versions with
@@ -2095,13 +2170,28 @@
         &quot;content&quot;: &quot;A String&quot;, # Output only. The attestation data provided by the HSM when the key
             # operation was performed.
       },
-      &quot;generateTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
-          # generated.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which this CryptoKeyVersion was created.
+      &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material is scheduled
+          # for destruction. Only present if state is
+          # DESTROY_SCHEDULED.
+      &quot;destroyEventTime&quot;: &quot;A String&quot;, # Output only. The time this CryptoKeyVersion&#x27;s key material was
+          # destroyed. Only present if state is
+          # DESTROYED.
       &quot;protectionLevel&quot;: &quot;A String&quot;, # Output only. The ProtectionLevel describing how crypto operations are
           # performed with this CryptoKeyVersion.
+      &quot;externalProtectionLevelOptions&quot;: { # ExternalProtectionLevelOptions stores a group of additional fields for # ExternalProtectionLevelOptions stores a group of additional fields for
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+          # configuring a CryptoKeyVersion that are specific to the
+          # EXTERNAL protection level.
+        &quot;externalKeyUri&quot;: &quot;A String&quot;, # The URI for an external resource that this CryptoKeyVersion represents.
+      },
+      &quot;importJob&quot;: &quot;A String&quot;, # Output only. The name of the ImportJob used to import this
+          # CryptoKeyVersion. Only present if the underlying key material was
+          # imported.
+      &quot;algorithm&quot;: &quot;A String&quot;, # Output only. The CryptoKeyVersionAlgorithm that this
+          # CryptoKeyVersion supports.
     },
-    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for this CryptoKey in the format
-        # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
     &quot;versionTemplate&quot;: { # A CryptoKeyVersionTemplate specifies the properties to use when creating # A template describing settings for new CryptoKeyVersion instances.
         # The properties of new CryptoKeyVersion instances created by either
         # CreateCryptoKeyVersion or
@@ -2118,7 +2208,28 @@
       &quot;protectionLevel&quot;: &quot;A String&quot;, # ProtectionLevel to use when creating a CryptoKeyVersion based on
           # this template. Immutable. Defaults to SOFTWARE.
     },
-    &quot;purpose&quot;: &quot;A String&quot;, # Immutable. The immutable purpose of this CryptoKey.
+    &quot;rotationPeriod&quot;: &quot;A String&quot;, # next_rotation_time will be advanced by this period when the service
+        # automatically rotates a key. Must be at least 24 hours and at most
+        # 876,000 hours.
+        #
+        # If rotation_period is set, next_rotation_time must also be set.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
+    &quot;nextRotationTime&quot;: &quot;A String&quot;, # At next_rotation_time, the Key Management Service will automatically:
+        #
+        # 1. Create a new version of this CryptoKey.
+        # 2. Mark the new version as primary.
+        #
+        # Key rotations performed manually via
+        # CreateCryptoKeyVersion and
+        # UpdateCryptoKeyPrimaryVersion
+        # do not affect next_rotation_time.
+        #
+        # Keys with purpose
+        # ENCRYPT_DECRYPT support
+        # automatic rotation. For other keys, this field must be omitted.
   }</pre>
 </div>