chore: Update discovery artifacts (#1299)

* chore: update docs/dyn/index.md
* chore(acceleratedmobilepageurl): update the api
* chore(accessapproval): update the api
* chore(accesscontextmanager): update the api
* chore(adexchangebuyer): update the api
* chore(adexchangebuyer2): update the api
* feat(admin): update the api
* feat(admob): update the api
* feat(analyticsadmin): update the api
* chore(analyticsdata): update the api
* chore(androiddeviceprovisioning): update the api
* chore(androidmanagement): update the api
* chore(androidpublisher): update the api
* chore(apigee): update the api
* feat(area120tables): update the api
* chore(assuredworkloads): update the api
* fix(bigquery): update the api
* chore(bigqueryconnection): update the api
* chore(bigquerydatatransfer): update the api
* chore(bigqueryreservation): update the api
* chore(bigtableadmin): update the api
* chore(billingbudgets): update the api
* chore(binaryauthorization): update the api
* chore(blogger): update the api
* chore(books): update the api
* chore(calendar): update the api
* chore(chat): update the api
* chore(chromemanagement): update the api
* chore(chromepolicy): update the api
* chore(chromeuxreport): update the api
* chore(classroom): update the api
* chore(cloudasset): update the api
* chore(cloudbuild): update the api
* chore(cloudchannel): update the api
* chore(clouddebugger): update the api
* chore(clouderrorreporting): update the api
* feat(cloudfunctions): update the api
* chore(cloudiot): update the api
* chore(cloudkms): update the api
* feat(cloudsearch): update the api
* chore(cloudshell): update the api
* chore(cloudtrace): update the api
* chore(composer): update the api
* feat(container): update the api
* feat(containeranalysis): update the api
* chore(content): update the api
* chore(customsearch): update the api
* chore(datacatalog): update the api
* feat(dataflow): update the api
* chore(datalabeling): update the api
* chore(datamigration): update the api
* chore(deploymentmanager): update the api
* feat(dialogflow): update the api
* chore(digitalassetlinks): update the api
* chore(displayvideo): update the api
* chore(dlp): update the api
* chore(dns): update the api
* chore(docs): update the api
* feat(documentai): update the api
* chore(domains): update the api
* chore(domainsrdap): update the api
* chore(doubleclickbidmanager): update the api
* chore(doubleclicksearch): update the api
* chore(drive): update the api
* chore(driveactivity): update the api
* chore(eventarc): update the api
* chore(factchecktools): update the api
* chore(fcm): update the api
* feat(file): update the api
* chore(firebase): update the api
* chore(firebasedatabase): update the api
* chore(firebasedynamiclinks): update the api
* chore(firebasehosting): update the api
* chore(firebaseml): update the api
* chore(fitness): update the api
* chore(games): update the api
* chore(gamesConfiguration): update the api
* chore(gamesManagement): update the api
* chore(gameservices): update the api
* feat(genomics): update the api
* chore(gkehub): update the api
* chore(gmail): update the api
* chore(gmailpostmastertools): update the api
* chore(groupsmigration): update the api
* chore(groupssettings): update the api
* chore(healthcare): update the api
* chore(homegraph): update the api
* chore(iam): update the api
* chore(iamcredentials): update the api
* chore(iap): update the api
* chore(indexing): update the api
* chore(jobs): update the api
* chore(language): update the api
* chore(libraryagent): update the api
* chore(licensing): update the api
* chore(lifesciences): update the api
* chore(localservices): update the api
* chore(logging): update the api
* chore(manufacturers): update the api
* chore(memcache): update the api
* chore(metastore): update the api
* chore(ml): update the api
* chore(monitoring): update the api
* chore(mybusinessaccountmanagement): update the api
* chore(mybusinesslodging): update the api
* feat(networkmanagement): update the api
* chore(notebooks): update the api
* feat(ondemandscanning): update the api
* chore(orgpolicy): update the api
* feat(osconfig): update the api
* chore(oslogin): update the api
* chore(pagespeedonline): update the api
* feat(people): update the api
* chore(playablelocations): update the api
* chore(playcustomapp): update the api
* chore(policysimulator): update the api
* chore(policytroubleshooter): update the api
* chore(prod_tt_sasportal): update the api
* chore(pubsub): update the api
* chore(realtimebidding): update the api
* chore(recommendationengine): update the api
* chore(recommender): update the api
* chore(redis): update the api
* chore(remotebuildexecution): update the api
* chore(reseller): update the api
* chore(retail): update the api
* chore(run): update the api
* chore(runtimeconfig): update the api
* chore(safebrowsing): update the api
* chore(sasportal): update the api
* chore(script): update the api
* chore(searchconsole): update the api
* chore(securitycenter): update the api
* chore(serviceconsumermanagement): update the api
* chore(servicecontrol): update the api
* chore(servicenetworking): update the api
* fix(serviceusage): update the api
* chore(sheets): update the api
* chore(slides): update the api
* chore(smartdevicemanagement): update the api
* chore(spanner): update the api
* chore(speech): update the api
* chore(storage): update the api
* chore(storagetransfer): update the api
* chore(streetviewpublish): update the api
* chore(sts): update the api
* chore(tagmanager): update the api
* chore(tasks): update the api
* chore(testing): update the api
* chore(toolresults): update the api
* chore(tpu): update the api
* chore(trafficdirector): update the api
* chore(transcoder): update the api
* chore(translate): update the api
* chore(vault): update the api
* chore(vectortile): update the api
* chore(vision): update the api
* chore(webrisk): update the api
* feat(websecurityscanner): update the api
* chore(workflowexecutions): update the api
* chore(workflows): update the api
* chore(youtube): update the api
* chore(youtubeAnalytics): update the api
* chore(youtubereporting): update the api
* chore(docs): Add new discovery artifacts and reference documents
diff --git a/docs/dyn/apikeys_v2.projects.locations.keys.html b/docs/dyn/apikeys_v2.projects.locations.keys.html
new file mode 100644
index 0000000..32d7fc7
--- /dev/null
+++ b/docs/dyn/apikeys_v2.projects.locations.keys.html
@@ -0,0 +1,557 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="apikeys_v2.html">API Keys API</a> . <a href="apikeys_v2.projects.html">projects</a> . <a href="apikeys_v2.projects.locations.html">locations</a> . <a href="apikeys_v2.projects.locations.keys.html">keys</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#clone">clone(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Clones the existing key's restriction and display name to a new API key. The service account must have the `apikeys.keys.get` and `apikeys.keys.create` permissions in the project. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, keyId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new API key. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, etag=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes an API key. Deleted key can be retrieved within 30 days of deletion. Afterward, key will be purged from the project. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the metadata for an API key. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<p class="toc_element">
+  <code><a href="#getKeyString">getKeyString(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get the key string for an API key. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the API keys owned by a project. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.</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=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Patches the modifiable fields of an API key. The key string of the API key isn't included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<p class="toc_element">
+  <code><a href="#undelete">undelete(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Undeletes an API key which was deleted within 30 days. NOTE: Key is a global resource; hence the only supported value for location is `global`.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="clone">clone(name, body=None, x__xgafv=None)</code>
+  <pre>Clones the existing key&#x27;s restriction and display name to a new API key. The service account must have the `apikeys.keys.get` and `apikeys.keys.create` permissions in the project. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  name: string, Required. The resource name of the API key to be cloned in the same project. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `CloneKey` method.
+  &quot;keyId&quot;: &quot;A String&quot;, # User specified key id (optional). If specified, it will become the final component of the key resource name. The id must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. In another word, the id must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. The id must NOT be a UUID-like string.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, keyId=None, x__xgafv=None)</code>
+  <pre>Creates a new API key. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  parent: string, Required. The project in which the API key is created. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The representation of a key managed by the API Keys API.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was originally created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. A timestamp when this key was deleted. If the resource is not deleted, this must be empty.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key that you can modify. The maximum length is 63 characters.
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. A checksum computed by the server based on the current value of the Key resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  &quot;keyString&quot;: &quot;A String&quot;, # Output only. An encrypted and signed value held by this key. This field can be accessed only through the `GetKeyString` method.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`.
+  &quot;restrictions&quot;: { # Describes the restrictions on the key. # Key restrictions.
+    &quot;androidKeyRestrictions&quot;: { # The Android apps that are allowed to use the key. # The Android apps that are allowed to use the key.
+      &quot;allowedApplications&quot;: [ # A list of Android applications that are allowed to make API calls with this key.
+        { # Identifier of an Android application for key use.
+          &quot;packageName&quot;: &quot;A String&quot;, # The package name of the application.
+          &quot;sha1Fingerprint&quot;: &quot;A String&quot;, # The SHA1 fingerprint of the application. For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.
+        },
+      ],
+    },
+    &quot;apiTargets&quot;: [ # A restriction for a specific service and optionally one or more specific methods. Requests are allowed if they match any of these restrictions. If no restrictions are specified, all targets are allowed.
+      { # A restriction for a specific service and optionally one or multiple specific methods. Both fields are case insensitive.
+        &quot;methods&quot;: [ # Optional. List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`
+          &quot;A String&quot;,
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # The service for this restriction. It should be the canonical service name, for example: `translate.googleapis.com`. You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) to get a list of services that are enabled in the project.
+      },
+    ],
+    &quot;browserKeyRestrictions&quot;: { # The HTTP referrers (websites) that are allowed to use the key. # The HTTP referrers (websites) that are allowed to use the key.
+      &quot;allowedReferrers&quot;: [ # A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;iosKeyRestrictions&quot;: { # The iOS apps that are allowed to use the key. # The iOS apps that are allowed to use the key.
+      &quot;allowedBundleIds&quot;: [ # A list of bundle IDs that are allowed when making API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;serverKeyRestrictions&quot;: { # The IP addresses of callers that are allowed to use the key. # The IP addresses of callers that are allowed to use the key.
+      &quot;allowedIps&quot;: [ # A list of the caller IP addresses that are allowed to make API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+  },
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique id in UUID4 format.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was last updated.
+}
+
+  keyId: string, User specified key id (optional). If specified, it will become the final component of the key resource name. The id must be unique within the project, must conform with RFC-1034, is restricted to lower-cased letters, and has a maximum length of 63 characters. In another word, the id must match the regular expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. The id must NOT be a UUID-like string.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, etag=None, x__xgafv=None)</code>
+  <pre>Deletes an API key. Deleted key can be retrieved within 30 days of deletion. Afterward, key will be purged from the project. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  name: string, Required. The resource name of the API key to be deleted. (required)
+  etag: string, Optional. The etag known to the client for the expected state of the key. This is to be used for optimistic concurrency.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the metadata for an API key. The key string of the API key isn&#x27;t included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  name: string, Required. The resource name of the API key to get. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The representation of a key managed by the API Keys API.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was originally created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. A timestamp when this key was deleted. If the resource is not deleted, this must be empty.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key that you can modify. The maximum length is 63 characters.
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. A checksum computed by the server based on the current value of the Key resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  &quot;keyString&quot;: &quot;A String&quot;, # Output only. An encrypted and signed value held by this key. This field can be accessed only through the `GetKeyString` method.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`.
+  &quot;restrictions&quot;: { # Describes the restrictions on the key. # Key restrictions.
+    &quot;androidKeyRestrictions&quot;: { # The Android apps that are allowed to use the key. # The Android apps that are allowed to use the key.
+      &quot;allowedApplications&quot;: [ # A list of Android applications that are allowed to make API calls with this key.
+        { # Identifier of an Android application for key use.
+          &quot;packageName&quot;: &quot;A String&quot;, # The package name of the application.
+          &quot;sha1Fingerprint&quot;: &quot;A String&quot;, # The SHA1 fingerprint of the application. For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.
+        },
+      ],
+    },
+    &quot;apiTargets&quot;: [ # A restriction for a specific service and optionally one or more specific methods. Requests are allowed if they match any of these restrictions. If no restrictions are specified, all targets are allowed.
+      { # A restriction for a specific service and optionally one or multiple specific methods. Both fields are case insensitive.
+        &quot;methods&quot;: [ # Optional. List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`
+          &quot;A String&quot;,
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # The service for this restriction. It should be the canonical service name, for example: `translate.googleapis.com`. You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) to get a list of services that are enabled in the project.
+      },
+    ],
+    &quot;browserKeyRestrictions&quot;: { # The HTTP referrers (websites) that are allowed to use the key. # The HTTP referrers (websites) that are allowed to use the key.
+      &quot;allowedReferrers&quot;: [ # A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;iosKeyRestrictions&quot;: { # The iOS apps that are allowed to use the key. # The iOS apps that are allowed to use the key.
+      &quot;allowedBundleIds&quot;: [ # A list of bundle IDs that are allowed when making API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;serverKeyRestrictions&quot;: { # The IP addresses of callers that are allowed to use the key. # The IP addresses of callers that are allowed to use the key.
+      &quot;allowedIps&quot;: [ # A list of the caller IP addresses that are allowed to make API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+  },
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique id in UUID4 format.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getKeyString">getKeyString(name, x__xgafv=None)</code>
+  <pre>Get the key string for an API key. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  name: string, Required. The resource name of the API key to be retrieved. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `GetKeyString` method.
+  &quot;keyString&quot;: &quot;A String&quot;, # An encrypted and signed value of the key.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the API keys owned by a project. The key string of the API key isn&#x27;t included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  parent: string, Required. Lists all API keys associated with this project. (required)
+  filter: string, Optional. Only list keys that conform to the specified filter. The allowed filter strings are `state:ACTIVE` and `state:DELETED`. By default, ListKeys returns only active keys.
+  pageSize: integer, Optional. Specifies the maximum number of results to be returned at a time.
+  pageToken: string, Optional. Requests a specific page of results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `ListKeys` method.
+  &quot;keys&quot;: [ # A list of API keys.
+    { # The representation of a key managed by the API Keys API.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was originally created.
+      &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. A timestamp when this key was deleted. If the resource is not deleted, this must be empty.
+      &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key that you can modify. The maximum length is 63 characters.
+      &quot;etag&quot;: &quot;A String&quot;, # Output only. A checksum computed by the server based on the current value of the Key resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      &quot;keyString&quot;: &quot;A String&quot;, # Output only. An encrypted and signed value held by this key. This field can be accessed only through the `GetKeyString` method.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`.
+      &quot;restrictions&quot;: { # Describes the restrictions on the key. # Key restrictions.
+        &quot;androidKeyRestrictions&quot;: { # The Android apps that are allowed to use the key. # The Android apps that are allowed to use the key.
+          &quot;allowedApplications&quot;: [ # A list of Android applications that are allowed to make API calls with this key.
+            { # Identifier of an Android application for key use.
+              &quot;packageName&quot;: &quot;A String&quot;, # The package name of the application.
+              &quot;sha1Fingerprint&quot;: &quot;A String&quot;, # The SHA1 fingerprint of the application. For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.
+            },
+          ],
+        },
+        &quot;apiTargets&quot;: [ # A restriction for a specific service and optionally one or more specific methods. Requests are allowed if they match any of these restrictions. If no restrictions are specified, all targets are allowed.
+          { # A restriction for a specific service and optionally one or multiple specific methods. Both fields are case insensitive.
+            &quot;methods&quot;: [ # Optional. List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`
+              &quot;A String&quot;,
+            ],
+            &quot;service&quot;: &quot;A String&quot;, # The service for this restriction. It should be the canonical service name, for example: `translate.googleapis.com`. You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) to get a list of services that are enabled in the project.
+          },
+        ],
+        &quot;browserKeyRestrictions&quot;: { # The HTTP referrers (websites) that are allowed to use the key. # The HTTP referrers (websites) that are allowed to use the key.
+          &quot;allowedReferrers&quot;: [ # A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;iosKeyRestrictions&quot;: { # The iOS apps that are allowed to use the key. # The iOS apps that are allowed to use the key.
+          &quot;allowedBundleIds&quot;: [ # A list of bundle IDs that are allowed when making API calls with this key.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;serverKeyRestrictions&quot;: { # The IP addresses of callers that are allowed to use the key. # The IP addresses of callers that are allowed to use the key.
+          &quot;allowedIps&quot;: [ # A list of the caller IP addresses that are allowed to make API calls with this key.
+            &quot;A String&quot;,
+          ],
+        },
+      },
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique id in UUID4 format.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was last updated.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token for the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Patches the modifiable fields of an API key. The key string of the API key isn&#x27;t included in the response. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  name: string, Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The representation of a key managed by the API Keys API.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was originally created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. A timestamp when this key was deleted. If the resource is not deleted, this must be empty.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key that you can modify. The maximum length is 63 characters.
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. A checksum computed by the server based on the current value of the Key resource. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  &quot;keyString&quot;: &quot;A String&quot;, # Output only. An encrypted and signed value held by this key. This field can be accessed only through the `GetKeyString` method.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the key. The `name` has the form: `projects//locations/global/keys/`. For example: `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` NOTE: Key is a global resource; hence the only supported value for location is `global`.
+  &quot;restrictions&quot;: { # Describes the restrictions on the key. # Key restrictions.
+    &quot;androidKeyRestrictions&quot;: { # The Android apps that are allowed to use the key. # The Android apps that are allowed to use the key.
+      &quot;allowedApplications&quot;: [ # A list of Android applications that are allowed to make API calls with this key.
+        { # Identifier of an Android application for key use.
+          &quot;packageName&quot;: &quot;A String&quot;, # The package name of the application.
+          &quot;sha1Fingerprint&quot;: &quot;A String&quot;, # The SHA1 fingerprint of the application. For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.
+        },
+      ],
+    },
+    &quot;apiTargets&quot;: [ # A restriction for a specific service and optionally one or more specific methods. Requests are allowed if they match any of these restrictions. If no restrictions are specified, all targets are allowed.
+      { # A restriction for a specific service and optionally one or multiple specific methods. Both fields are case insensitive.
+        &quot;methods&quot;: [ # Optional. List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`
+          &quot;A String&quot;,
+        ],
+        &quot;service&quot;: &quot;A String&quot;, # The service for this restriction. It should be the canonical service name, for example: `translate.googleapis.com`. You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) to get a list of services that are enabled in the project.
+      },
+    ],
+    &quot;browserKeyRestrictions&quot;: { # The HTTP referrers (websites) that are allowed to use the key. # The HTTP referrers (websites) that are allowed to use the key.
+      &quot;allowedReferrers&quot;: [ # A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;iosKeyRestrictions&quot;: { # The iOS apps that are allowed to use the key. # The iOS apps that are allowed to use the key.
+      &quot;allowedBundleIds&quot;: [ # A list of bundle IDs that are allowed when making API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;serverKeyRestrictions&quot;: { # The IP addresses of callers that are allowed to use the key. # The IP addresses of callers that are allowed to use the key.
+      &quot;allowedIps&quot;: [ # A list of the caller IP addresses that are allowed to make API calls with this key.
+        &quot;A String&quot;,
+      ],
+    },
+  },
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique id in UUID4 format.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. A timestamp identifying the time this key was last updated.
+}
+
+  updateMask: string, The field mask specifies which fields to be updated as part of this request. All other fields are ignored. Mutable fields are: `display_name` and `restrictions`. If an update mask is not provided, the service treats it as an implied mask equivalent to all allowed fields that are set on the wire. If the field mask has a special value &quot;*&quot;, the service treats it equivalent to replace all allowed mutable fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="undelete">undelete(name, body=None, x__xgafv=None)</code>
+  <pre>Undeletes an API key which was deleted within 30 days. NOTE: Key is a global resource; hence the only supported value for location is `global`.
+
+Args:
+  name: string, Required. The resource name of the API key to be undeleted. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `UndeleteKey` method.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file