chore: regens API reference docs (#889)

diff --git a/docs/dyn/iam_v1.projects.serviceAccounts.keys.html b/docs/dyn/iam_v1.projects.serviceAccounts.keys.html
index 49efa79..6fc63ba 100644
--- a/docs/dyn/iam_v1.projects.serviceAccounts.keys.html
+++ b/docs/dyn/iam_v1.projects.serviceAccounts.keys.html
@@ -75,7 +75,7 @@
 <h1><a href="iam_v1.html">Identity and Access Management (IAM) API</a> . <a href="iam_v1.projects.html">projects</a> . <a href="iam_v1.projects.serviceAccounts.html">serviceAccounts</a> . <a href="iam_v1.projects.serviceAccounts.keys.html">keys</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p>
+  <code><a href="#create">create(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a ServiceAccountKey</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
@@ -86,28 +86,31 @@
 <p class="toc_element">
   <code><a href="#list">list(name, keyTypes=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists ServiceAccountKeys.</p>
+<p class="toc_element">
+  <code><a href="#upload">upload(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Upload public key for a given service account.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="create">create(name, body, x__xgafv=None)</code>
+    <code class="details" id="create">create(name, body=None, x__xgafv=None)</code>
   <pre>Creates a ServiceAccountKey
 and returns it.
 
 Args:
-  name: string, The resource name of the service account in the following format:
+  name: string, Required. The resource name of the service account in the following format:
 `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
 Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
 the account. The `ACCOUNT` value can be the `email` address or the
 `unique_id` of the service account. (required)
-  body: object, The request body. (required)
+  body: object, The request body.
     The object takes the form of:
 
 { # The service account key create request.
-    "keyAlgorithm": "A String", # Which type of key and algorithm to use for the key.
-        # The default is currently a 2K RSA key.  However this may change in the
-        # future.
     "privateKeyType": "A String", # The output format of the private key. The default value is
         # `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File
         # format.
+    "keyAlgorithm": "A String", # Which type of key and algorithm to use for the key.
+        # The default is currently a 2K RSA key.  However this may change in the
+        # future.
   }
 
   x__xgafv: string, V1 error format.
@@ -138,14 +141,18 @@
       # Service Account API.
     "keyOrigin": "A String", # The key origin.
     "validAfterTime": "A String", # The key can be used after this timestamp.
+    "keyType": "A String", # The key type.
     "validBeforeTime": "A String", # The key can be used before this timestamp.
+        # For system-managed key pairs, this timestamp is the end time for the
+        # private key signing operation. The public key could still be used
+        # for verification for a few hours after this time.
     "privateKeyData": "A String", # The private key data. Only provided in `CreateServiceAccountKey`
         # responses. Make sure to keep the private key data secure because it
         # allows for the assertion of the service account identity.
         # When base64 decoded, the private key data can be used to authenticate with
         # Google API client libraries and with
-        # <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
-        # auth activate-service-account</a>.
+        # &lt;a href="/sdk/gcloud/reference/auth/activate-service-account"&gt;gcloud
+        # auth activate-service-account&lt;/a&gt;.
     "privateKeyType": "A String", # The output format for the private key.
         # Only provided in `CreateServiceAccountKey` responses, not
         # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
@@ -164,7 +171,7 @@
   <pre>Deletes a ServiceAccountKey.
 
 Args:
-  name: string, The resource name of the service account key in the following format:
+  name: string, Required. The resource name of the service account key in the following format:
 `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
 Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
 the account. The `ACCOUNT` value can be the `email` address or the
@@ -195,7 +202,7 @@
 by key id.
 
 Args:
-  name: string, The resource name of the service account key in the following format:
+  name: string, Required. The resource name of the service account key in the following format:
 `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
 
 Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
@@ -231,14 +238,18 @@
       # Service Account API.
     "keyOrigin": "A String", # The key origin.
     "validAfterTime": "A String", # The key can be used after this timestamp.
+    "keyType": "A String", # The key type.
     "validBeforeTime": "A String", # The key can be used before this timestamp.
+        # For system-managed key pairs, this timestamp is the end time for the
+        # private key signing operation. The public key could still be used
+        # for verification for a few hours after this time.
     "privateKeyData": "A String", # The private key data. Only provided in `CreateServiceAccountKey`
         # responses. Make sure to keep the private key data secure because it
         # allows for the assertion of the service account identity.
         # When base64 decoded, the private key data can be used to authenticate with
         # Google API client libraries and with
-        # <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
-        # auth activate-service-account</a>.
+        # &lt;a href="/sdk/gcloud/reference/auth/activate-service-account"&gt;gcloud
+        # auth activate-service-account&lt;/a&gt;.
     "privateKeyType": "A String", # The output format for the private key.
         # Only provided in `CreateServiceAccountKey` responses, not
         # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
@@ -257,7 +268,7 @@
   <pre>Lists ServiceAccountKeys.
 
 Args:
-  name: string, The resource name of the service account in the following format:
+  name: string, Required. The resource name of the service account in the following format:
 `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
 
 Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from
@@ -296,14 +307,18 @@
           # Service Account API.
         "keyOrigin": "A String", # The key origin.
         "validAfterTime": "A String", # The key can be used after this timestamp.
+        "keyType": "A String", # The key type.
         "validBeforeTime": "A String", # The key can be used before this timestamp.
+            # For system-managed key pairs, this timestamp is the end time for the
+            # private key signing operation. The public key could still be used
+            # for verification for a few hours after this time.
         "privateKeyData": "A String", # The private key data. Only provided in `CreateServiceAccountKey`
             # responses. Make sure to keep the private key data secure because it
             # allows for the assertion of the service account identity.
             # When base64 decoded, the private key data can be used to authenticate with
             # Google API client libraries and with
-            # <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
-            # auth activate-service-account</a>.
+            # &lt;a href="/sdk/gcloud/reference/auth/activate-service-account"&gt;gcloud
+            # auth activate-service-account&lt;/a&gt;.
         "privateKeyType": "A String", # The output format for the private key.
             # Only provided in `CreateServiceAccountKey` responses, not
             # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
@@ -319,4 +334,80 @@
   }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="upload">upload(name, body=None, x__xgafv=None)</code>
+  <pre>Upload public key for a given service account.
+This rpc will create a
+ServiceAccountKey that has the
+provided public key and returns it.
+
+Args:
+  name: string, The resource name of the service account in the following format:
+`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
+Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
+the account. The `ACCOUNT` value can be the `email` address or the
+`unique_id` of the service account. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The service account key upload request.
+    "publicKeyData": "A String", # A field that allows clients to upload their own public key. If set,
+        # use this public key data to create a service account key for given
+        # service account.
+        # Please note, the expected format for this field is X509_PEM.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a service account key.
+      #
+      # A service account has two sets of key-pairs: user-managed, and
+      # system-managed.
+      #
+      # User-managed key-pairs can be created and deleted by users.  Users are
+      # responsible for rotating these keys periodically to ensure security of
+      # their service accounts.  Users retain the private key of these key-pairs,
+      # and Google retains ONLY the public key.
+      #
+      # System-managed keys are automatically rotated by Google, and are used for
+      # signing for a maximum of two weeks. The rotation process is probabilistic,
+      # and usage of the new key will gradually ramp up and down over the key's
+      # lifetime. We recommend caching the public key set for a service account for
+      # no more than 24 hours to ensure you have access to the latest keys.
+      #
+      # Public keys for all service accounts are also published at the OAuth2
+      # Service Account API.
+    "keyOrigin": "A String", # The key origin.
+    "validAfterTime": "A String", # The key can be used after this timestamp.
+    "keyType": "A String", # The key type.
+    "validBeforeTime": "A String", # The key can be used before this timestamp.
+        # For system-managed key pairs, this timestamp is the end time for the
+        # private key signing operation. The public key could still be used
+        # for verification for a few hours after this time.
+    "privateKeyData": "A String", # The private key data. Only provided in `CreateServiceAccountKey`
+        # responses. Make sure to keep the private key data secure because it
+        # allows for the assertion of the service account identity.
+        # When base64 decoded, the private key data can be used to authenticate with
+        # Google API client libraries and with
+        # &lt;a href="/sdk/gcloud/reference/auth/activate-service-account"&gt;gcloud
+        # auth activate-service-account&lt;/a&gt;.
+    "privateKeyType": "A String", # The output format for the private key.
+        # Only provided in `CreateServiceAccountKey` responses, not
+        # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
+        #
+        # Google never exposes system-managed private keys, and never retains
+        # user-managed private keys.
+    "keyAlgorithm": "A String", # Specifies the algorithm (and possibly key size) for the key.
+    "publicKeyData": "A String", # The public key data. Only provided in `GetServiceAccountKey` responses.
+    "name": "A String", # The resource name of the service account key in the following format
+        # `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
+  }</pre>
+</div>
+
 </body></html>
\ No newline at end of file