chore: regens API reference docs (#889)

diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html
index 579400a..ed628d9 100644
--- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html
+++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html
@@ -75,13 +75,13 @@
 <h1><a href="cloudkms_v1.html">Cloud Key Management Service (KMS) API</a> . <a href="cloudkms_v1.projects.html">projects</a> . <a href="cloudkms_v1.projects.locations.html">locations</a> . <a href="cloudkms_v1.projects.locations.keyRings.html">keyRings</a> . <a href="cloudkms_v1.projects.locations.keyRings.cryptoKeys.html">cryptoKeys</a> . <a href="cloudkms_v1.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.html">cryptoKeyVersions</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#asymmetricDecrypt">asymmetricDecrypt(name, body, x__xgafv=None)</a></code></p>
+  <code><a href="#asymmetricDecrypt">asymmetricDecrypt(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Decrypts data that was encrypted with a public key retrieved from</p>
 <p class="toc_element">
-  <code><a href="#asymmetricSign">asymmetricSign(name, body, x__xgafv=None)</a></code></p>
+  <code><a href="#asymmetricSign">asymmetricSign(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Signs data using a CryptoKeyVersion with CryptoKey.purpose</p>
 <p class="toc_element">
-  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Create a new CryptoKeyVersion in a CryptoKey.</p>
 <p class="toc_element">
   <code><a href="#destroy">destroy(name, body=None, x__xgafv=None)</a></code></p>
@@ -93,20 +93,23 @@
   <code><a href="#getPublicKey">getPublicKey(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Returns the public key for the given CryptoKeyVersion. The</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, view=None)</a></code></p>
+  <code><a href="#import_">import_(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Imports a new CryptoKeyVersion into an existing CryptoKey using the</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None, filter=None, view=None)</a></code></p>
 <p class="firstline">Lists CryptoKeyVersions.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
 <p class="toc_element">
-  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Update a CryptoKeyVersion's metadata.</p>
 <p class="toc_element">
   <code><a href="#restore">restore(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Restore a CryptoKeyVersion in the</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="asymmetricDecrypt">asymmetricDecrypt(name, body, x__xgafv=None)</code>
+    <code class="details" id="asymmetricDecrypt">asymmetricDecrypt(name, body=None, x__xgafv=None)</code>
   <pre>Decrypts data that was encrypted with a public key retrieved from
 GetPublicKey corresponding to a CryptoKeyVersion with
 CryptoKey.purpose ASYMMETRIC_DECRYPT.
@@ -114,7 +117,7 @@
 Args:
   name: string, Required. The resource name of the CryptoKeyVersion to use for
 decryption. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request message for KeyManagementService.AsymmetricDecrypt.
@@ -136,14 +139,14 @@
 </div>
 
 <div class="method">
-    <code class="details" id="asymmetricSign">asymmetricSign(name, body, x__xgafv=None)</code>
+    <code class="details" id="asymmetricSign">asymmetricSign(name, body=None, x__xgafv=None)</code>
   <pre>Signs data using a CryptoKeyVersion with CryptoKey.purpose
 ASYMMETRIC_SIGN, producing a signature that can be verified with the public
 key retrieved from GetPublicKey.
 
 Args:
   name: string, Required. The resource name of the CryptoKeyVersion to use for signing. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # Request message for KeyManagementService.AsymmetricSign.
@@ -170,7 +173,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
   <pre>Create a new CryptoKeyVersion in a CryptoKey.
 
 The server will assign the next sequential id. If unset,
@@ -180,7 +183,7 @@
 Args:
   parent: string, Required. The name of the CryptoKey associated with
 the CryptoKeyVersions. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A CryptoKeyVersion represents an individual cryptographic key, and the
@@ -196,10 +199,11 @@
   "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
       # for destruction. Only present if state is
       # DESTROY_SCHEDULED.
+  "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+      # state is
+      # IMPORT_FAILED.
   "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
       # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-  "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-      # CryptoKeyVersion supports.
   "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
       # performed with this CryptoKeyVersion.
   "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -213,12 +217,26 @@
     "format": "A String", # Output only. The format of the attestation data.
   },
   "state": "A String", # The current state of the CryptoKeyVersion.
+  "importJob": "A String", # Output only. The name of the ImportJob used to import this
+      # CryptoKeyVersion. Only present if the underlying key material was
+      # imported.
+  "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+      # generated.
+  "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+      # was imported.
+  "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+      # CryptoKeyVersion supports.
+  "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+  "externalProtectionLevelOptions": { # 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.
+    "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+  },
   "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
       # destroyed. Only present if state is
       # DESTROYED.
-  "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-      # generated.
-  "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
 }
 
   x__xgafv: string, V1 error format.
@@ -242,10 +260,11 @@
     "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
         # for destruction. Only present if state is
         # DESTROY_SCHEDULED.
+    "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+        # state is
+        # IMPORT_FAILED.
     "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
         # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
     "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
     "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -259,12 +278,26 @@
       "format": "A String", # Output only. The format of the attestation data.
     },
     "state": "A String", # The current state of the CryptoKeyVersion.
+    "importJob": "A String", # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # generated.
+    "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+        # was imported.
+    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
+    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+    "externalProtectionLevelOptions": { # 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.
+      "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+    },
     "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
         # destroyed. Only present if state is
         # DESTROYED.
-    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-        # generated.
-    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
   }</pre>
 </div>
 
@@ -284,7 +317,7 @@
 RestoreCryptoKeyVersion may be called to reverse the process.
 
 Args:
-  name: string, The resource name of the CryptoKeyVersion to destroy. (required)
+  name: string, Required. The resource name of the CryptoKeyVersion to destroy. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -312,10 +345,11 @@
     "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
         # for destruction. Only present if state is
         # DESTROY_SCHEDULED.
+    "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+        # state is
+        # IMPORT_FAILED.
     "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
         # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
     "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
     "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -329,12 +363,26 @@
       "format": "A String", # Output only. The format of the attestation data.
     },
     "state": "A String", # The current state of the CryptoKeyVersion.
+    "importJob": "A String", # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # generated.
+    "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+        # was imported.
+    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
+    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+    "externalProtectionLevelOptions": { # 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.
+      "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+    },
     "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
         # destroyed. Only present if state is
         # DESTROYED.
-    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-        # generated.
-    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
   }</pre>
 </div>
 
@@ -343,7 +391,7 @@
   <pre>Returns metadata for a given CryptoKeyVersion.
 
 Args:
-  name: string, The name of the CryptoKeyVersion to get. (required)
+  name: string, Required. The name of the CryptoKeyVersion to get. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -365,10 +413,11 @@
     "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
         # for destruction. Only present if state is
         # DESTROY_SCHEDULED.
+    "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+        # state is
+        # IMPORT_FAILED.
     "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
         # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
     "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
     "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -382,12 +431,26 @@
       "format": "A String", # Output only. The format of the attestation data.
     },
     "state": "A String", # The current state of the CryptoKeyVersion.
+    "importJob": "A String", # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # generated.
+    "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+        # was imported.
+    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
+    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+    "externalProtectionLevelOptions": { # 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.
+      "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+    },
     "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
         # destroyed. Only present if state is
         # DESTROYED.
-    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-        # generated.
-    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
   }</pre>
 </div>
 
@@ -399,7 +462,7 @@
 ASYMMETRIC_DECRYPT.
 
 Args:
-  name: string, The name of the CryptoKeyVersion public key to
+  name: string, Required. The name of the CryptoKeyVersion public key to
 get. (required)
   x__xgafv: string, V1 error format.
     Allowed values
@@ -422,23 +485,139 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None, view=None)</code>
+    <code class="details" id="import_">import_(parent, body=None, x__xgafv=None)</code>
+  <pre>Imports a new CryptoKeyVersion into an existing CryptoKey using the
+wrapped key material provided in the request.
+
+The version ID will be assigned the next sequential id within the
+CryptoKey.
+
+Args:
+  parent: string, Required. The name of the CryptoKey to
+be imported into. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeyManagementService.ImportCryptoKeyVersion.
+    "importJob": "A String", # Required. The name of the ImportJob that was used to
+        # wrap this key material.
+    "algorithm": "A String", # Required. The algorithm of
+        # the key being imported. This does not need to match the
+        # version_template of the CryptoKey this
+        # version imports into.
+    "rsaAesWrappedKey": "A String", # Wrapped key material produced with
+        # RSA_OAEP_3072_SHA1_AES_256
+        # or
+        # RSA_OAEP_4096_SHA1_AES_256.
+        # 
+        # This field contains the concatenation of two wrapped keys:
+        # &lt;ol&gt;
+        #   &lt;li&gt;An ephemeral AES-256 wrapping key wrapped with the
+        #       public_key using RSAES-OAEP with SHA-1,
+        #       MGF1 with SHA-1, and an empty label.
+        #   &lt;/li&gt;
+        #   &lt;li&gt;The key to be imported, wrapped with the ephemeral AES-256 key
+        #       using AES-KWP (RFC 5649).
+        #   &lt;/li&gt;
+        # &lt;/ol&gt;
+        # 
+        # If importing symmetric key material, it is expected that the unwrapped
+        # key contains plain bytes. If importing asymmetric key material, it is
+        # expected that the unwrapped key is in PKCS#8-encoded DER format (the
+        # PrivateKeyInfo structure from RFC 5208).
+        # 
+        # This format is the same as the format produced by PKCS#11 mechanism
+        # CKM_RSA_AES_KEY_WRAP.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A CryptoKeyVersion represents an individual cryptographic key, and the
+      # associated key material.
+      #
+      # An ENABLED version can be
+      # used for cryptographic operations.
+      #
+      # For security reasons, the raw cryptographic key material represented by a
+      # 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.
+    "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
+        # for destruction. Only present if state is
+        # DESTROY_SCHEDULED.
+    "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+        # state is
+        # IMPORT_FAILED.
+    "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
+        # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
+    "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
+        # performed with this CryptoKeyVersion.
+    "attestation": { # 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
+        # protection_level HSM.
+        # information, see [Verifying attestations]
+        # (https://cloud.google.com/kms/docs/attest-key).
+      "content": "A String", # Output only. The attestation data provided by the HSM when the key
+          # operation was performed.
+      "format": "A String", # Output only. The format of the attestation data.
+    },
+    "state": "A String", # The current state of the CryptoKeyVersion.
+    "importJob": "A String", # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # generated.
+    "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+        # was imported.
+    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
+    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+    "externalProtectionLevelOptions": { # 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.
+      "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+    },
+    "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # destroyed. Only present if state is
+        # DESTROYED.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None, filter=None, view=None)</code>
   <pre>Lists CryptoKeyVersions.
 
 Args:
   parent: string, Required. The resource name of the CryptoKey to list, in the format
 `projects/*/locations/*/keyRings/*/cryptoKeys/*`. (required)
-  pageSize: integer, Optional limit on the number of CryptoKeyVersions to
+  orderBy: string, Optional. Specify how the results should be sorted. If not specified, the
+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).
+  pageSize: integer, Optional. Optional limit on the number of CryptoKeyVersions to
 include in the response. Further CryptoKeyVersions can
 subsequently be obtained by including the
 ListCryptoKeyVersionsResponse.next_page_token in a subsequent request.
 If unspecified, the server will pick an appropriate default.
-  pageToken: string, Optional pagination token, returned earlier via
+  pageToken: string, Optional. Optional pagination token, returned earlier via
 ListCryptoKeyVersionsResponse.next_page_token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
       2 - v2 error format
+  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).
   view: string, The fields to include in the response.
 
 Returns:
@@ -464,10 +643,11 @@
         "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
             # for destruction. Only present if state is
             # DESTROY_SCHEDULED.
+        "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+            # state is
+            # IMPORT_FAILED.
         "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
             # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-        "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-            # CryptoKeyVersion supports.
         "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
             # performed with this CryptoKeyVersion.
         "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -481,12 +661,26 @@
           "format": "A String", # Output only. The format of the attestation data.
         },
         "state": "A String", # The current state of the CryptoKeyVersion.
+        "importJob": "A String", # Output only. The name of the ImportJob used to import this
+            # CryptoKeyVersion. Only present if the underlying key material was
+            # imported.
+        "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+            # generated.
+        "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+            # was imported.
+        "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+            # CryptoKeyVersion supports.
+        "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+        "externalProtectionLevelOptions": { # 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.
+          "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+        },
         "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
             # destroyed. Only present if state is
             # DESTROYED.
-        "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-            # generated.
-        "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
       },
     ],
   }</pre>
@@ -507,7 +701,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
   <pre>Update a CryptoKeyVersion's metadata.
 
 state may be changed between
@@ -519,7 +713,7 @@
 Args:
   name: string, Output only. The resource name for this CryptoKeyVersion in the format
 `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # A CryptoKeyVersion represents an individual cryptographic key, and the
@@ -535,10 +729,11 @@
   "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
       # for destruction. Only present if state is
       # DESTROY_SCHEDULED.
+  "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+      # state is
+      # IMPORT_FAILED.
   "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
       # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-  "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-      # CryptoKeyVersion supports.
   "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
       # performed with this CryptoKeyVersion.
   "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -552,15 +747,29 @@
     "format": "A String", # Output only. The format of the attestation data.
   },
   "state": "A String", # The current state of the CryptoKeyVersion.
+  "importJob": "A String", # Output only. The name of the ImportJob used to import this
+      # CryptoKeyVersion. Only present if the underlying key material was
+      # imported.
+  "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+      # generated.
+  "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+      # was imported.
+  "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+      # CryptoKeyVersion supports.
+  "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+  "externalProtectionLevelOptions": { # 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.
+    "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+  },
   "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
       # destroyed. Only present if state is
       # DESTROYED.
-  "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-      # generated.
-  "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
 }
 
-  updateMask: string, Required list of fields to be updated in this request.
+  updateMask: string, Required. List of fields to be updated in this request.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -582,10 +791,11 @@
     "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
         # for destruction. Only present if state is
         # DESTROY_SCHEDULED.
+    "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+        # state is
+        # IMPORT_FAILED.
     "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
         # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
     "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
     "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -599,12 +809,26 @@
       "format": "A String", # Output only. The format of the attestation data.
     },
     "state": "A String", # The current state of the CryptoKeyVersion.
+    "importJob": "A String", # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # generated.
+    "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+        # was imported.
+    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
+    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+    "externalProtectionLevelOptions": { # 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.
+      "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+    },
     "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
         # destroyed. Only present if state is
         # DESTROYED.
-    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-        # generated.
-    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
   }</pre>
 </div>
 
@@ -619,7 +843,7 @@
 and destroy_time will be cleared.
 
 Args:
-  name: string, The resource name of the CryptoKeyVersion to restore. (required)
+  name: string, Required. The resource name of the CryptoKeyVersion to restore. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -647,10 +871,11 @@
     "destroyTime": "A String", # Output only. The time this CryptoKeyVersion's key material is scheduled
         # for destruction. Only present if state is
         # DESTROY_SCHEDULED.
+    "importFailureReason": "A String", # Output only. The root cause of an import failure. Only present if
+        # state is
+        # IMPORT_FAILED.
     "name": "A String", # Output only. The resource name for this CryptoKeyVersion in the format
         # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
-    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
-        # CryptoKeyVersion supports.
     "protectionLevel": "A String", # Output only. The ProtectionLevel describing how crypto operations are
         # performed with this CryptoKeyVersion.
     "attestation": { # Contains an HSM-generated attestation about a key operation. For more # Output only. Statement that was generated and signed by the HSM at key
@@ -664,12 +889,26 @@
       "format": "A String", # Output only. The format of the attestation data.
     },
     "state": "A String", # The current state of the CryptoKeyVersion.
+    "importJob": "A String", # Output only. The name of the ImportJob used to import this
+        # CryptoKeyVersion. Only present if the underlying key material was
+        # imported.
+    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
+        # generated.
+    "importTime": "A String", # Output only. The time at which this CryptoKeyVersion's key material
+        # was imported.
+    "algorithm": "A String", # Output only. The CryptoKeyVersionAlgorithm that this
+        # CryptoKeyVersion supports.
+    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
+    "externalProtectionLevelOptions": { # 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.
+      "externalKeyUri": "A String", # The URI for an external resource that this CryptoKeyVersion represents.
+    },
     "destroyEventTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
         # destroyed. Only present if state is
         # DESTROYED.
-    "generateTime": "A String", # Output only. The time this CryptoKeyVersion's key material was
-        # generated.
-    "createTime": "A String", # Output only. The time at which this CryptoKeyVersion was created.
   }</pre>
 </div>