blob: 8489ea2ccd2885e1f83d9ba57a97aa146d8e85ff [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="serviceusage_v1.html">Service Usage API</a> . <a href="serviceusage_v1.services.html">services</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#batchEnable">batchEnable(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070079<p class="firstline">Enable multiple services on a project. The operation is atomic: if enabling</p>
80<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070081 <code><a href="#batchGet">batchGet(parent, names=None, x__xgafv=None)</a></code></p>
82<p class="firstline">Returns the service configurations and enabled states for a given list of</p>
83<p class="toc_element">
84 <code><a href="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070085<p class="firstline">Disable a service so that it can no longer be used with a project.</p>
86<p class="toc_element">
87 <code><a href="#enable">enable(name, body=None, x__xgafv=None)</a></code></p>
88<p class="firstline">Enable a service so that it can be used with a project.</p>
89<p class="toc_element">
90 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
91<p class="firstline">Returns the service configuration and enabled state for a given service.</p>
92<p class="toc_element">
Bu Sun Kimd059ad82020-07-22 17:02:09 -070093 <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070094<p class="firstline">List all services available to the specified project, and the current</p>
95<p class="toc_element">
96 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
97<p class="firstline">Retrieves the next page of results.</p>
98<h3>Method Details</h3>
99<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700100 <code class="details" id="batchEnable">batchEnable(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700101 <pre>Enable multiple services on a project. The operation is atomic: if enabling
102any service fails, then the entire batch fails, and no state changes occur.
Dan O'Mearadd494642020-05-01 07:42:23 -0700103To enable a single service, use the `EnableService` method instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700104
105Args:
106 parent: string, Parent to enable services on.
107
108An example name would be:
109`projects/123` where `123` is the project number.
110
111The `BatchEnableServices` method currently only supports projects. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700113 The object takes the form of:
114
115{ # Request message for the `BatchEnableServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700116 &quot;serviceIds&quot;: [ # The identifiers of the services to enable on the project.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700117 #
118 # A valid identifier would be:
119 # serviceusage.googleapis.com
120 #
121 # Enabling services requires that each service is public or is shared with
122 # the user enabling the service.
123 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700124 # A single request can enable a maximum of 20 services at a time. If more
125 # than 20 services are specified, the request will fail, and no state changes
126 # will occur.
Bu Sun Kim65020912020-05-20 12:08:20 -0700127 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700128 ],
129 }
130
131 x__xgafv: string, V1 error format.
132 Allowed values
133 1 - v1 error format
134 2 - v2 error format
135
136Returns:
137 An object of the form:
138
139 { # This resource represents a long-running operation that is the result of a
140 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700141 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
142 # different programming environments, including REST APIs and RPC APIs. It is
143 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
144 # three pieces of data: error code, error message, and error details.
145 #
146 # You can find out more about this error model and how to work with it in the
147 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700148 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
149 # user-facing error message should be localized and sent in the
150 # google.rpc.Status.details field, or localized by the client.
151 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim65020912020-05-20 12:08:20 -0700152 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
153 # message types for APIs to use.
154 {
155 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
156 },
157 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700158 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700159 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
160 # contains progress information and common metadata such as create time.
161 # Some services might not provide such metadata. Any method that returns a
162 # long-running operation should document the metadata type, if any.
163 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
164 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700165 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700166 # method returns no data on success, such as `Delete`, the response is
167 # `google.protobuf.Empty`. If the original method is standard
168 # `Get`/`Create`/`Update`, the response should be the resource. For other
169 # methods, the response should have the type `XxxResponse`, where `Xxx`
170 # is the original method name. For example, if the original method name
171 # is `TakeSnapshot()`, the inferred response type is
172 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700173 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700174 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700175 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
176 # originally returns it. If you use the default HTTP mapping, the
177 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700178 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
179 # If `true`, the operation is completed, and either `error` or `response` is
180 # available.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700181 }</pre>
182</div>
183
184<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700185 <code class="details" id="batchGet">batchGet(parent, names=None, x__xgafv=None)</code>
186 <pre>Returns the service configurations and enabled states for a given list of
187services.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700188
189Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700190 parent: string, Parent to retrieve services from.
191If this is set, the parent of all of the services specified in `names` must
192match this field. An example name would be: `projects/123` where `123` is
193the project number. The `BatchGetServices` method currently only supports
194projects. (required)
195 names: string, Names of the services to retrieve.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700196
197An example name would be:
198`projects/123/services/serviceusage.googleapis.com` where `123` is the
Dan O'Mearadd494642020-05-01 07:42:23 -0700199project number.
Bu Sun Kim65020912020-05-20 12:08:20 -0700200A single request can get a maximum of 30 services at a time. (repeated)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700201 x__xgafv: string, V1 error format.
202 Allowed values
203 1 - v1 error format
204 2 - v2 error format
205
206Returns:
207 An object of the form:
208
Dan O'Mearadd494642020-05-01 07:42:23 -0700209 { # Response message for the `BatchGetServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700210 &quot;services&quot;: [ # The requested Service states.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700211 { # A service that is available for use by the consumer.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700212 &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -0700213 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700214 # Some fields may be filtered out of the configuration in responses to
215 # the `ListServices` method. These fields are present only in responses to
216 # the `GetService` method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700217 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
218 # usage.
219 #
220 # The metric based quota configuration works this way:
221 # - The service configuration defines a set of metrics.
222 # - For API calls, the quota.metric_rules maps methods to metrics with
223 # corresponding costs.
224 # - The quota.limits defines limits on the metrics, which will be used for
225 # quota checks at runtime.
226 #
227 # An example quota configuration in yaml format:
228 #
229 # quota:
230 # limits:
231 #
232 # - name: apiWriteQpsPerProject
233 # metric: library.googleapis.com/write_calls
234 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
235 # values:
236 # STANDARD: 10000
237 #
238 #
239 # # The metric rules bind all methods to the read_calls metric,
240 # # except for the UpdateBook and DeleteBook methods. These two methods
241 # # are mapped to the write_calls metric, with the UpdateBook method
242 # # consuming at twice rate as the DeleteBook method.
243 # metric_rules:
244 # - selector: &quot;*&quot;
245 # metric_costs:
246 # library.googleapis.com/read_calls: 1
247 # - selector: google.example.library.v1.LibraryService.UpdateBook
248 # metric_costs:
249 # library.googleapis.com/write_calls: 2
250 # - selector: google.example.library.v1.LibraryService.DeleteBook
251 # metric_costs:
252 # library.googleapis.com/write_calls: 1
253 #
254 # Corresponding Metric definition:
255 #
256 # metrics:
257 # - name: library.googleapis.com/read_calls
258 # display_name: Read requests
259 # metric_kind: DELTA
260 # value_type: INT64
261 #
262 # - name: library.googleapis.com/write_calls
263 # display_name: Write requests
264 # metric_kind: DELTA
265 # value_type: INT64
266 #
267 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
268 { # `QuotaLimit` defines a specific limit that applies over a specified duration
269 # for a limit type. There can be at most one limit for a duration and limit
270 # type combination defined within a `QuotaGroup`.
271 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
272 # duration. Client application developers can override the default limit up
273 # to this maximum. If specified, this value cannot be set to a value less
274 # than the default limit. If not specified, it is set to the default limit.
275 #
276 # To allow clients to apply overrides with no upper bound, set this to -1,
277 # indicating unlimited maximum quota.
278 #
279 # Used by group-based quotas only.
280 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
281 #
282 # The name must be provided, and it must be unique within the service. The
283 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
284 #
285 # The maximum length of the limit name is 64 characters.
286 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
287 # the same metric will be checked together during runtime. The metric must be
288 # defined within the service config.
289 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
290 # Should be used only when more context is needed to understand this limit
291 # than provided by the limit&#x27;s display name (see: `display_name`).
292 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
293 #
294 # Used by group-based quotas only.
295 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
296 # Metric.unit. The supported unit kinds are determined by the quota
297 # backend system.
298 #
299 # Here are some examples:
300 # * &quot;1/min/{project}&quot; for quota per minute per project.
301 #
302 # Note: the order of unit components is insignificant.
303 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
304 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
305 # integer value that is the maximum number of requests allowed for the
306 # specified unit. Currently only STANDARD is supported.
307 &quot;a_key&quot;: &quot;A String&quot;,
308 },
309 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
310 # duration. This is the number of tokens assigned when a client
311 # application developer activates the service for his/her project.
312 #
313 # Specifying a value of 0 will block all requests. This can be used if you
314 # are provisioning quota to selected consumers and blocking others.
315 # Similarly, a value of -1 will indicate an unlimited quota. No other
316 # negative values are allowed.
317 #
318 # Used by group-based quotas only.
319 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
320 # The free tier is the number of tokens that will be subtracted from the
321 # billed amount when billing is enabled.
322 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
323 # group; it is invalid on any other limit. If this field is not set, it
324 # defaults to 0, indicating that there is no free tier for this service.
325 #
326 # Used by group-based quotas only.
327 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
328 # Optional. If not set, the UI will provide a default display name based on
329 # the quota configuration. This field can be used to override the default
330 # display name generated from the configuration.
331 },
332 ],
333 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
334 # or more metrics.
335 { # Bind API methods to metrics. Binding a method to a metric causes that
336 # metric&#x27;s configured quota behaviors to apply to the method call.
337 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
338 # cost applied to each metric.
339 #
340 # The key of the map is the metric name, and the values are the amount
341 # increased for the metric against which the quota limits are defined.
342 # The value must not be negative.
343 &quot;a_key&quot;: &quot;A String&quot;,
344 },
345 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
346 #
347 # Refer to selector for syntax details.
348 },
349 ],
350 },
351 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
352 # of the endpoints.
353 { # `Endpoint` describes a network endpoint that serves a set of APIs.
354 # A service may expose any number of endpoints, and all endpoints share the
355 # same service configuration, such as quota configuration and monitoring
356 # configuration.
357 #
358 # Example service configuration:
359 #
360 # name: library-example.googleapis.com
361 # endpoints:
362 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
363 # # API be served from endpoint address library-example.googleapis.com.
364 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
365 # # it to decide whether the subsequent cross-origin request is
366 # # allowed to proceed.
367 # - name: library-example.googleapis.com
368 # allow_cors: true
369 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
370 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
371 # please specify multiple google.api.Endpoint for each of the intended
372 # aliases.
373 #
374 # Additional names that this endpoint will be hosted on.
375 &quot;A String&quot;,
376 ],
377 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
378 # handle requests to this [API
379 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
380 # either a valid IPv4 address or a fully-qualified domain name. For example,
381 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
382 &quot;allowCors&quot;: True or False, # Allowing
383 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
384 # cross-domain traffic, would allow the backends served from this endpoint to
385 # receive and respond to HTTP OPTIONS requests. The response will be used by
386 # the browser to determine whether the subsequent cross-origin request is
387 # allowed to proceed.
388 },
389 ],
390 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
391 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
392 #
393 #
394 # Use this field to configure per-product per-project service identity.
395 # Example of a service identity configuration.
396 #
397 # usage:
398 # service_identity:
399 # - service_account_parent: &quot;projects/123456789&quot;
400 # display_name: &quot;Cloud XXX Service Agent&quot;
401 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
402 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
403 # Must be less than or equal to 100 UTF-8 bytes.
404 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
405 # Must be less than or equal to 256 UTF-8 bytes.
406 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
407 #
408 # An example name would be:
409 # `projects/123456789`
410 },
411 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
412 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
413 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
414 &quot;A String&quot;,
415 ],
416 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
417 #
418 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
419 { # Usage configuration rules for the service.
420 #
421 # NOTE: Under development.
422 #
423 #
424 # Use this rule to configure unregistered calls for the service. Unregistered
425 # calls are calls that do not contain consumer project identity.
426 # (Example: calls that do not contain an API key).
427 # By default, API methods do not allow unregistered calls, and each method call
428 # must be identified by a consumer project identity. Use this rule to
429 # allow/disallow unregistered calls.
430 #
431 # Example of an API that wants to allow unregistered calls for entire service.
432 #
433 # usage:
434 # rules:
435 # - selector: &quot;*&quot;
436 # allow_unregistered_calls: true
437 #
438 # Example of a method that wants to allow unregistered calls.
439 #
440 # usage:
441 # rules:
442 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
443 # allow_unregistered_calls: true
444 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
445 # methods in all APIs.
446 #
447 # Refer to selector for syntax details.
448 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
449 # that don&#x27;t identify any user or application.
450 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
451 # plane features, such as quota and billing, will not be available.
452 # This flag is used by Google Cloud Endpoints to bypass checks for internal
453 # methods, such as service health check methods.
454 },
455 ],
456 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
457 # service producer.
458 #
459 # Google Service Management currently only supports
460 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
461 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
462 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
463 # documented in https://cloud.google.com/pubsub/docs/overview.
464 },
465 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
466 # documentation URL.
467 #
468 # Example:
469 # &lt;pre&gt;&lt;code&gt;documentation:
470 # summary: &gt;
471 # The Google Calendar API gives access
472 # to most calendar features.
473 # pages:
474 # - name: Overview
475 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
476 # - name: Tutorial
477 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
478 # subpages;
479 # - name: Java
480 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
481 # rules:
482 # - selector: google.calendar.Calendar.Get
483 # description: &gt;
484 # ...
485 # - selector: google.calendar.Calendar.Put
486 # description: &gt;
487 # ...
488 # &lt;/code&gt;&lt;/pre&gt;
489 # Documentation is provided in markdown syntax. In addition to
490 # standard markdown features, definition lists, tables and fenced
491 # code blocks are supported. Section headers can be provided and are
492 # interpreted relative to the section nesting of the context where
493 # a documentation fragment is embedded.
494 #
495 # Documentation from the IDL is merged with documentation defined
496 # via the config at normalization time, where documentation provided
497 # by config rules overrides IDL provided.
498 #
499 # A number of constructs specific to the API platform are supported
500 # in documentation text.
501 #
502 # In order to reference a proto element, the following
503 # notation can be used:
504 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
505 # To override the display text used for the link, this can be used:
506 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
507 # Text can be excluded from doc using the following notation:
508 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
509 #
510 # A few directives are available in documentation. Note that
511 # directives must appear on a single line to be properly
512 # identified. The `include` directive includes a markdown file from
513 # an external source:
514 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
515 # The `resource_for` directive marks a message to be the resource of
516 # a collection in REST view. If it is not specified, tools attempt
517 # to infer the resource from the operations in a collection:
518 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
519 # The directive `suppress_warning` does not directly affect documentation
520 # and is documented together with service config validation.
521 &quot;pages&quot;: [ # The top level pages for the documentation set.
522 { # Represents a documentation page. A page can contain subpages to represent
523 # nested documentation set structure.
524 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
525 # generate URI of the page, text of the link to this page in navigation,
526 # etc. The full page name (start from the root page name to this page
527 # concatenated with `.`) can be used as reference to the page in your
528 # documentation. For example:
529 # &lt;pre&gt;&lt;code&gt;pages:
530 # - name: Tutorial
531 # content: &amp;#40;== include tutorial.md ==&amp;#41;
532 # subpages:
533 # - name: Java
534 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
535 # &lt;/code&gt;&lt;/pre&gt;
536 # You can reference `Java` page using Markdown reference link syntax:
537 # `Java`.
538 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
539 # honored in the generated docset.
540 # Object with schema name: Page
541 ],
542 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
543 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
544 },
545 ],
546 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
547 # plain text.
548 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
549 # &lt;pre&gt;&lt;code&gt;documentation:
550 # summary: ...
551 # overview: &amp;#40;== include overview.md ==&amp;#41;
552 # &lt;/code&gt;&lt;/pre&gt;
553 # This is a shortcut for the following declaration (using pages style):
554 # &lt;pre&gt;&lt;code&gt;documentation:
555 # summary: ...
556 # pages:
557 # - name: Overview
558 # content: &amp;#40;== include overview.md ==&amp;#41;
559 # &lt;/code&gt;&lt;/pre&gt;
560 # Note: you cannot specify both `overview` field and `pages` field.
561 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
562 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
563 #
564 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
565 { # A documentation rule provides information about individual API elements.
566 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
567 # an element is marked as `deprecated`.
568 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
569 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
570 # Wildcards are only allowed at the end and for a whole component of the
571 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
572 # wildcard will match one or more components. To specify a default for all
573 # applicable elements, the whole pattern &quot;*&quot; is used.
574 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
575 },
576 ],
577 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
578 # from the yaml file) is not suitable. This can be seen in any fully
579 # specified service urls as well as sections that show a base that other
580 # urls are relative to.
581 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700582 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700583 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700584 # Example for an API targeted for external use:
Bu Sun Kim65020912020-05-20 12:08:20 -0700585 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700586 # name: calendar.googleapis.com
587 # authentication:
588 # providers:
589 # - id: google_calendar_auth
590 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
591 # issuer: https://securetoken.google.com
592 # rules:
593 # - selector: &quot;*&quot;
594 # requirements:
595 # provider_id: google_calendar_auth
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700596 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
597 #
598 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
599 { # Authentication rules for the service.
600 #
601 # By default, if a method has any authentication requirements, every request
602 # must include a valid credential matching one of the requirements.
603 # It&#x27;s an error to include more than one kind of credential in a single
604 # request.
605 #
606 # If a method doesn&#x27;t have any auth requirements, request credentials will be
607 # ignored.
608 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
609 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
610 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
611 # giving it permission to access that data on their behalf.
612 #
613 # OAuth scope specifications should be fairly coarse grained; a user will need
614 # to see and understand the text description of what your scope means.
615 #
616 # In most cases: use one or at most two OAuth scopes for an entire family of
617 # products. If your product has multiple APIs, you should probably be sharing
618 # the OAuth scope across all of those APIs.
619 #
620 # When you need finer grained OAuth consent screens: talk with your product
621 # management about how developers will use them in practice.
622 #
623 # Please note that even though each of the canonical scopes is enough for a
624 # request to be accepted and passed to the backend, a request can still fail
625 # due to the backend requiring additional scopes or permissions.
626 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
627 # OAuth token containing any of these scopes will be accepted.
628 #
629 # Example:
630 #
631 # canonical_scopes: https://www.googleapis.com/auth/calendar,
632 # https://www.googleapis.com/auth/calendar.read
633 },
634 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
635 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
636 #
637 # Refer to selector for syntax details.
638 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
639 { # User-defined authentication requirements, including support for
640 # [JSON Web Token
641 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
642 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
643 #
644 # Example:
645 #
646 # provider_id: bookstore_auth
647 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
648 # implemented and accepted in all the runtime components.
649 #
650 # The list of JWT
651 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
652 # that are allowed to access. A JWT containing any of these audiences will
653 # be accepted. When this setting is absent, only JWTs with audience
654 # &quot;https://Service_name/API_name&quot;
655 # will be accepted. For example, if no audiences are in the setting,
656 # LibraryService API will only accept JWTs with the following audience
657 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
658 #
659 # Example:
660 #
661 # audiences: bookstore_android.apps.googleusercontent.com,
662 # bookstore_web.apps.googleusercontent.com
663 },
664 ],
665 },
666 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700667 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
668 { # Configuration for an authentication provider, including support for
669 # [JSON Web Token
670 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700671 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
672 # [OpenID
673 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
674 # Optional if the key set document:
675 # - can be retrieved from
676 # [OpenID
677 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
678 # the issuer.
679 # - can be inferred from the email domain of the issuer (e.g. a Google
680 # service account).
681 #
682 # Example: https://www.googleapis.com/oauth2/v1/certs
683 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
684 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700685 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
686 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
687 # that are allowed to access. A JWT containing any of these audiences will
688 # be accepted. When this setting is absent, JWTs with audiences:
689 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
690 # - &quot;https://[service.name]/&quot;
691 # will be accepted.
692 # For example, if no audiences are in the setting, LibraryService API will
693 # accept JWTs with the following audiences:
694 # -
695 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
696 # - https://library-example.googleapis.com/
Bu Sun Kim65020912020-05-20 12:08:20 -0700697 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700698 # Example:
Bu Sun Kim65020912020-05-20 12:08:20 -0700699 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700700 # audiences: bookstore_android.apps.googleusercontent.com,
701 # bookstore_web.apps.googleusercontent.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700702 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
Bu Sun Kim65020912020-05-20 12:08:20 -0700703 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700704 # JWT locations can be either from HTTP headers or URL query parameters.
705 # The rule is that the first match wins. The checking order is: checking
706 # all headers first, then URL query parameters.
Bu Sun Kim65020912020-05-20 12:08:20 -0700707 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700708 # If not specified, default to use following 3 locations:
709 # 1) Authorization: Bearer
710 # 2) x-goog-iap-jwt-assertion
711 # 3) access_token query parameter
Bu Sun Kim65020912020-05-20 12:08:20 -0700712 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700713 # Default locations can be specified as followings:
714 # jwt_locations:
715 # - header: Authorization
716 # value_prefix: &quot;Bearer &quot;
717 # - header: x-goog-iap-jwt-assertion
718 # - query: access_token
719 { # Specifies a location to extract JWT from an API request.
720 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
721 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
722 # If not empty, the header value has to match (case sensitive) this prefix.
723 # If not matched, JWT will not be extracted. If matched, JWT will be
724 # extracted after the prefix is removed.
725 #
726 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
727 # value_prefix=&quot;Bearer &quot; with a space at the end.
728 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
729 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
730 },
731 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700732 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
733 # `AuthRequirement.provider_id`.
734 #
735 # Example: &quot;bookstore_auth&quot;.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700736 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
737 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
738 # Usually a URL or an email address.
Bu Sun Kim65020912020-05-20 12:08:20 -0700739 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700740 # Example: https://securetoken.google.com
741 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim65020912020-05-20 12:08:20 -0700742 },
743 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700744 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700745 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
Bu Sun Kim65020912020-05-20 12:08:20 -0700746 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
747 # versions, and method names of the interfaces.
748 { # Api is a light-weight descriptor for an API Interface.
749 #
750 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
751 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
752 # from API Services, which represent a concrete implementation of an interface
753 # as opposed to simply a description of methods and bindings. They are also
754 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
755 # this message itself. See https://cloud.google.com/apis/design/glossary for
756 # detailed terminology.
Bu Sun Kim65020912020-05-20 12:08:20 -0700757 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
758 # message.
759 # protobuf element, like the file in which it is defined.
760 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
761 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
762 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700763 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
764 # followed by the interface&#x27;s simple name.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700765 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
766 { # Method represents a method of an API interface.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700767 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700768 &quot;options&quot;: [ # Any metadata attached to the method.
769 { # A protocol buffer option, which can be attached to a message, field,
770 # enumeration, etc.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700771 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
772 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
773 # should be used. If the value is an enum, it should be stored as an int32
774 # value using the google.protobuf.Int32Value type.
775 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
776 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700777 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
778 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
779 # For custom options, it should be the fully-qualified name. For example,
780 # `&quot;google.api.http&quot;`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700781 },
782 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700783 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700784 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
785 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
786 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
787 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700788 },
789 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700790 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
791 { # Declares an API Interface to be included in this interface. The including
792 # interface must redeclare all the methods from the included interface, but
793 # documentation and options are inherited as follows:
794 #
795 # - If after comment and whitespace stripping, the documentation
796 # string of the redeclared method is empty, it will be inherited
797 # from the original method.
798 #
799 # - Each annotation belonging to the service config (http,
800 # visibility) which is not set in the redeclared method will be
801 # inherited.
802 #
803 # - If an http annotation is inherited, the path pattern will be
804 # modified as follows. Any version prefix will be replaced by the
805 # version of the including interface plus the root path if
806 # specified.
807 #
808 # Example of a simple mixin:
809 #
810 # package google.acl.v1;
811 # service AccessControl {
812 # // Get the underlying ACL object.
813 # rpc GetAcl(GetAclRequest) returns (Acl) {
814 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
815 # }
816 # }
817 #
818 # package google.storage.v2;
819 # service Storage {
820 # // rpc GetAcl(GetAclRequest) returns (Acl);
821 #
822 # // Get a data record.
823 # rpc GetData(GetDataRequest) returns (Data) {
824 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
825 # }
826 # }
827 #
828 # Example of a mixin configuration:
829 #
830 # apis:
831 # - name: google.storage.v2.Storage
832 # mixins:
833 # - name: google.acl.v1.AccessControl
834 #
835 # The mixin construct implies that all methods in `AccessControl` are
836 # also declared with same name and request/response types in
837 # `Storage`. A documentation generator or annotation processor will
838 # see the effective `Storage.GetAcl` method after inherting
839 # documentation and annotations as follows:
840 #
841 # service Storage {
842 # // Get the underlying ACL object.
843 # rpc GetAcl(GetAclRequest) returns (Acl) {
844 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
845 # }
846 # ...
847 # }
848 #
849 # Note how the version in the path pattern changed from `v1` to `v2`.
850 #
851 # If the `root` field in the mixin is specified, it should be a
852 # relative path under which inherited HTTP paths are placed. Example:
853 #
854 # apis:
855 # - name: google.storage.v2.Storage
856 # mixins:
857 # - name: google.acl.v1.AccessControl
858 # root: acls
859 #
860 # This implies the following inherited HTTP annotation:
861 #
862 # service Storage {
863 # // Get the underlying ACL object.
864 # rpc GetAcl(GetAclRequest) returns (Acl) {
865 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
866 # }
867 # ...
868 # }
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700869 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim65020912020-05-20 12:08:20 -0700870 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
871 # are rooted.
872 },
873 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700874 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
875 &quot;options&quot;: [ # Any metadata attached to the interface.
876 { # A protocol buffer option, which can be attached to a message, field,
877 # enumeration, etc.
878 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
879 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
880 # should be used. If the value is an enum, it should be stored as an int32
881 # value using the google.protobuf.Int32Value type.
882 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
883 },
884 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
885 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
886 # For custom options, it should be the fully-qualified name. For example,
887 # `&quot;google.api.http&quot;`.
888 },
889 ],
890 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
891 # `major-version.minor-version`, as in `1.10`. If the minor version is
892 # omitted, it defaults to zero. If the entire version field is empty, the
893 # major version is derived from the package name, as outlined below. If the
894 # field is not empty, the version in the package name will be verified to be
895 # consistent with what is provided here.
896 #
897 # The versioning schema uses [semantic
898 # versioning](http://semver.org) where the major version number
899 # indicates a breaking change and the minor version an additive,
900 # non-breaking change. Both version numbers are signals to users
901 # what to expect from different versions, and should be carefully
902 # chosen based on the product plan.
903 #
904 # The major version is also reflected in the package name of the
905 # interface, which must end in `v&lt;major-version&gt;`, as in
906 # `google.feature.v1`. For major versions 0 and 1, the suffix can
907 # be omitted. Zero major versions must only be used for
908 # experimental, non-GA interfaces.
Bu Sun Kim65020912020-05-20 12:08:20 -0700909 },
910 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700911 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
912 #
913 # An example DNS address would be:
914 # `calendar.googleapis.com`.
Dan O'Mearadd494642020-05-01 07:42:23 -0700915 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700916 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
Dan O'Mearadd494642020-05-01 07:42:23 -0700917 #
918 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700919 # - projects/123/services/serviceusage.googleapis.com
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700920 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
921 #
922 # A valid name would be:
923 # - projects/123
Dan O'Mearadd494642020-05-01 07:42:23 -0700924 },
925 ],
926 }</pre>
927</div>
928
929<div class="method">
930 <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
931 <pre>Disable a service so that it can no longer be used with a project.
932This prevents unintended usage that may cause unexpected billing
933charges or security leaks.
934
935It is not valid to call the disable method on a service that is not
936currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
937the target service is not currently enabled.
938
939Args:
940 name: string, Name of the consumer and service to disable the service on.
941
942The enable and disable methods currently only support projects.
943
944An example name would be:
945`projects/123/services/serviceusage.googleapis.com` where `123` is the
946project number. (required)
947 body: object, The request body.
948 The object takes the form of:
949
950{ # Request message for the `DisableService` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700951 &quot;disableDependentServices&quot;: True or False, # Indicates if services that are enabled and which depend on this service
Dan O'Mearadd494642020-05-01 07:42:23 -0700952 # should also be disabled. If not set, an error will be generated if any
953 # enabled services depend on the service to be disabled. When set, the
954 # service, and any enabled services that depend on it, will be disabled
955 # together.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700956 &quot;checkIfServiceHasUsage&quot;: &quot;A String&quot;, # Defines the behavior for checking service usage when disabling a service.
Dan O'Mearadd494642020-05-01 07:42:23 -0700957 }
958
959 x__xgafv: string, V1 error format.
960 Allowed values
961 1 - v1 error format
962 2 - v2 error format
963
964Returns:
965 An object of the form:
966
967 { # This resource represents a long-running operation that is the result of a
968 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700969 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
970 # different programming environments, including REST APIs and RPC APIs. It is
971 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
972 # three pieces of data: error code, error message, and error details.
973 #
974 # You can find out more about this error model and how to work with it in the
975 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700976 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
977 # user-facing error message should be localized and sent in the
978 # google.rpc.Status.details field, or localized by the client.
979 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim65020912020-05-20 12:08:20 -0700980 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
981 # message types for APIs to use.
982 {
983 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
984 },
985 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700986 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700987 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
988 # contains progress information and common metadata such as create time.
989 # Some services might not provide such metadata. Any method that returns a
990 # long-running operation should document the metadata type, if any.
991 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
992 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700993 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700994 # method returns no data on success, such as `Delete`, the response is
995 # `google.protobuf.Empty`. If the original method is standard
996 # `Get`/`Create`/`Update`, the response should be the resource. For other
997 # methods, the response should have the type `XxxResponse`, where `Xxx`
998 # is the original method name. For example, if the original method name
999 # is `TakeSnapshot()`, the inferred response type is
1000 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001001 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -07001002 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001003 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
1004 # originally returns it. If you use the default HTTP mapping, the
1005 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001006 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
1007 # If `true`, the operation is completed, and either `error` or `response` is
1008 # available.
Dan O'Mearadd494642020-05-01 07:42:23 -07001009 }</pre>
1010</div>
1011
1012<div class="method">
1013 <code class="details" id="enable">enable(name, body=None, x__xgafv=None)</code>
1014 <pre>Enable a service so that it can be used with a project.
1015
1016Args:
1017 name: string, Name of the consumer and service to enable the service on.
1018
1019The `EnableService` and `DisableService` methods currently only support
1020projects.
1021
1022Enabling a service requires that the service is public or is shared with
1023the user enabling the service.
1024
1025An example name would be:
1026`projects/123/services/serviceusage.googleapis.com` where `123` is the
1027project number. (required)
1028 body: object, The request body.
1029 The object takes the form of:
1030
1031{ # Request message for the `EnableService` method.
1032 }
1033
1034 x__xgafv: string, V1 error format.
1035 Allowed values
1036 1 - v1 error format
1037 2 - v2 error format
1038
1039Returns:
1040 An object of the form:
1041
1042 { # This resource represents a long-running operation that is the result of a
1043 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07001044 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1045 # different programming environments, including REST APIs and RPC APIs. It is
1046 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1047 # three pieces of data: error code, error message, and error details.
1048 #
1049 # You can find out more about this error model and how to work with it in the
1050 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001051 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1052 # user-facing error message should be localized and sent in the
1053 # google.rpc.Status.details field, or localized by the client.
1054 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim65020912020-05-20 12:08:20 -07001055 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1056 # message types for APIs to use.
1057 {
1058 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1059 },
1060 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001061 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001062 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
1063 # contains progress information and common metadata such as create time.
1064 # Some services might not provide such metadata. Any method that returns a
1065 # long-running operation should document the metadata type, if any.
1066 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1067 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001068 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -07001069 # method returns no data on success, such as `Delete`, the response is
1070 # `google.protobuf.Empty`. If the original method is standard
1071 # `Get`/`Create`/`Update`, the response should be the resource. For other
1072 # methods, the response should have the type `XxxResponse`, where `Xxx`
1073 # is the original method name. For example, if the original method name
1074 # is `TakeSnapshot()`, the inferred response type is
1075 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001076 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -07001077 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001078 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
1079 # originally returns it. If you use the default HTTP mapping, the
1080 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001081 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
1082 # If `true`, the operation is completed, and either `error` or `response` is
1083 # available.
Dan O'Mearadd494642020-05-01 07:42:23 -07001084 }</pre>
1085</div>
1086
1087<div class="method">
1088 <code class="details" id="get">get(name, x__xgafv=None)</code>
1089 <pre>Returns the service configuration and enabled state for a given service.
1090
1091Args:
1092 name: string, Name of the consumer and service to get the `ConsumerState` for.
1093
1094An example name would be:
1095`projects/123/services/serviceusage.googleapis.com` where `123` is the
1096project number. (required)
1097 x__xgafv: string, V1 error format.
1098 Allowed values
1099 1 - v1 error format
1100 2 - v2 error format
1101
1102Returns:
1103 An object of the form:
1104
1105 { # A service that is available for use by the consumer.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001106 &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -07001107 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001108 # Some fields may be filtered out of the configuration in responses to
1109 # the `ListServices` method. These fields are present only in responses to
1110 # the `GetService` method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001111 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
1112 # usage.
1113 #
1114 # The metric based quota configuration works this way:
1115 # - The service configuration defines a set of metrics.
1116 # - For API calls, the quota.metric_rules maps methods to metrics with
1117 # corresponding costs.
1118 # - The quota.limits defines limits on the metrics, which will be used for
1119 # quota checks at runtime.
1120 #
1121 # An example quota configuration in yaml format:
1122 #
1123 # quota:
1124 # limits:
1125 #
1126 # - name: apiWriteQpsPerProject
1127 # metric: library.googleapis.com/write_calls
1128 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
1129 # values:
1130 # STANDARD: 10000
1131 #
1132 #
1133 # # The metric rules bind all methods to the read_calls metric,
1134 # # except for the UpdateBook and DeleteBook methods. These two methods
1135 # # are mapped to the write_calls metric, with the UpdateBook method
1136 # # consuming at twice rate as the DeleteBook method.
1137 # metric_rules:
1138 # - selector: &quot;*&quot;
1139 # metric_costs:
1140 # library.googleapis.com/read_calls: 1
1141 # - selector: google.example.library.v1.LibraryService.UpdateBook
1142 # metric_costs:
1143 # library.googleapis.com/write_calls: 2
1144 # - selector: google.example.library.v1.LibraryService.DeleteBook
1145 # metric_costs:
1146 # library.googleapis.com/write_calls: 1
1147 #
1148 # Corresponding Metric definition:
1149 #
1150 # metrics:
1151 # - name: library.googleapis.com/read_calls
1152 # display_name: Read requests
1153 # metric_kind: DELTA
1154 # value_type: INT64
1155 #
1156 # - name: library.googleapis.com/write_calls
1157 # display_name: Write requests
1158 # metric_kind: DELTA
1159 # value_type: INT64
1160 #
1161 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
1162 { # `QuotaLimit` defines a specific limit that applies over a specified duration
1163 # for a limit type. There can be at most one limit for a duration and limit
1164 # type combination defined within a `QuotaGroup`.
1165 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
1166 # duration. Client application developers can override the default limit up
1167 # to this maximum. If specified, this value cannot be set to a value less
1168 # than the default limit. If not specified, it is set to the default limit.
1169 #
1170 # To allow clients to apply overrides with no upper bound, set this to -1,
1171 # indicating unlimited maximum quota.
1172 #
1173 # Used by group-based quotas only.
1174 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
1175 #
1176 # The name must be provided, and it must be unique within the service. The
1177 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
1178 #
1179 # The maximum length of the limit name is 64 characters.
1180 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
1181 # the same metric will be checked together during runtime. The metric must be
1182 # defined within the service config.
1183 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
1184 # Should be used only when more context is needed to understand this limit
1185 # than provided by the limit&#x27;s display name (see: `display_name`).
1186 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
1187 #
1188 # Used by group-based quotas only.
1189 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
1190 # Metric.unit. The supported unit kinds are determined by the quota
1191 # backend system.
1192 #
1193 # Here are some examples:
1194 # * &quot;1/min/{project}&quot; for quota per minute per project.
1195 #
1196 # Note: the order of unit components is insignificant.
1197 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
1198 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
1199 # integer value that is the maximum number of requests allowed for the
1200 # specified unit. Currently only STANDARD is supported.
1201 &quot;a_key&quot;: &quot;A String&quot;,
1202 },
1203 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
1204 # duration. This is the number of tokens assigned when a client
1205 # application developer activates the service for his/her project.
1206 #
1207 # Specifying a value of 0 will block all requests. This can be used if you
1208 # are provisioning quota to selected consumers and blocking others.
1209 # Similarly, a value of -1 will indicate an unlimited quota. No other
1210 # negative values are allowed.
1211 #
1212 # Used by group-based quotas only.
1213 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
1214 # The free tier is the number of tokens that will be subtracted from the
1215 # billed amount when billing is enabled.
1216 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
1217 # group; it is invalid on any other limit. If this field is not set, it
1218 # defaults to 0, indicating that there is no free tier for this service.
1219 #
1220 # Used by group-based quotas only.
1221 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
1222 # Optional. If not set, the UI will provide a default display name based on
1223 # the quota configuration. This field can be used to override the default
1224 # display name generated from the configuration.
1225 },
1226 ],
1227 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
1228 # or more metrics.
1229 { # Bind API methods to metrics. Binding a method to a metric causes that
1230 # metric&#x27;s configured quota behaviors to apply to the method call.
1231 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
1232 # cost applied to each metric.
1233 #
1234 # The key of the map is the metric name, and the values are the amount
1235 # increased for the metric against which the quota limits are defined.
1236 # The value must not be negative.
1237 &quot;a_key&quot;: &quot;A String&quot;,
1238 },
1239 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
1240 #
1241 # Refer to selector for syntax details.
1242 },
1243 ],
1244 },
1245 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
1246 # of the endpoints.
1247 { # `Endpoint` describes a network endpoint that serves a set of APIs.
1248 # A service may expose any number of endpoints, and all endpoints share the
1249 # same service configuration, such as quota configuration and monitoring
1250 # configuration.
1251 #
1252 # Example service configuration:
1253 #
1254 # name: library-example.googleapis.com
1255 # endpoints:
1256 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
1257 # # API be served from endpoint address library-example.googleapis.com.
1258 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
1259 # # it to decide whether the subsequent cross-origin request is
1260 # # allowed to proceed.
1261 # - name: library-example.googleapis.com
1262 # allow_cors: true
1263 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
1264 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
1265 # please specify multiple google.api.Endpoint for each of the intended
1266 # aliases.
1267 #
1268 # Additional names that this endpoint will be hosted on.
1269 &quot;A String&quot;,
1270 ],
1271 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
1272 # handle requests to this [API
1273 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
1274 # either a valid IPv4 address or a fully-qualified domain name. For example,
1275 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
1276 &quot;allowCors&quot;: True or False, # Allowing
1277 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
1278 # cross-domain traffic, would allow the backends served from this endpoint to
1279 # receive and respond to HTTP OPTIONS requests. The response will be used by
1280 # the browser to determine whether the subsequent cross-origin request is
1281 # allowed to proceed.
1282 },
1283 ],
1284 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
1285 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
1286 #
1287 #
1288 # Use this field to configure per-product per-project service identity.
1289 # Example of a service identity configuration.
1290 #
1291 # usage:
1292 # service_identity:
1293 # - service_account_parent: &quot;projects/123456789&quot;
1294 # display_name: &quot;Cloud XXX Service Agent&quot;
1295 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
1296 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
1297 # Must be less than or equal to 100 UTF-8 bytes.
1298 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
1299 # Must be less than or equal to 256 UTF-8 bytes.
1300 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
1301 #
1302 # An example name would be:
1303 # `projects/123456789`
1304 },
1305 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
1306 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
1307 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
1308 &quot;A String&quot;,
1309 ],
1310 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
1311 #
1312 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1313 { # Usage configuration rules for the service.
1314 #
1315 # NOTE: Under development.
1316 #
1317 #
1318 # Use this rule to configure unregistered calls for the service. Unregistered
1319 # calls are calls that do not contain consumer project identity.
1320 # (Example: calls that do not contain an API key).
1321 # By default, API methods do not allow unregistered calls, and each method call
1322 # must be identified by a consumer project identity. Use this rule to
1323 # allow/disallow unregistered calls.
1324 #
1325 # Example of an API that wants to allow unregistered calls for entire service.
1326 #
1327 # usage:
1328 # rules:
1329 # - selector: &quot;*&quot;
1330 # allow_unregistered_calls: true
1331 #
1332 # Example of a method that wants to allow unregistered calls.
1333 #
1334 # usage:
1335 # rules:
1336 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
1337 # allow_unregistered_calls: true
1338 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
1339 # methods in all APIs.
1340 #
1341 # Refer to selector for syntax details.
1342 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
1343 # that don&#x27;t identify any user or application.
1344 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
1345 # plane features, such as quota and billing, will not be available.
1346 # This flag is used by Google Cloud Endpoints to bypass checks for internal
1347 # methods, such as service health check methods.
1348 },
1349 ],
1350 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
1351 # service producer.
1352 #
1353 # Google Service Management currently only supports
1354 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
1355 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
1356 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
1357 # documented in https://cloud.google.com/pubsub/docs/overview.
1358 },
1359 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
1360 # documentation URL.
1361 #
1362 # Example:
1363 # &lt;pre&gt;&lt;code&gt;documentation:
1364 # summary: &gt;
1365 # The Google Calendar API gives access
1366 # to most calendar features.
1367 # pages:
1368 # - name: Overview
1369 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
1370 # - name: Tutorial
1371 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
1372 # subpages;
1373 # - name: Java
1374 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
1375 # rules:
1376 # - selector: google.calendar.Calendar.Get
1377 # description: &gt;
1378 # ...
1379 # - selector: google.calendar.Calendar.Put
1380 # description: &gt;
1381 # ...
1382 # &lt;/code&gt;&lt;/pre&gt;
1383 # Documentation is provided in markdown syntax. In addition to
1384 # standard markdown features, definition lists, tables and fenced
1385 # code blocks are supported. Section headers can be provided and are
1386 # interpreted relative to the section nesting of the context where
1387 # a documentation fragment is embedded.
1388 #
1389 # Documentation from the IDL is merged with documentation defined
1390 # via the config at normalization time, where documentation provided
1391 # by config rules overrides IDL provided.
1392 #
1393 # A number of constructs specific to the API platform are supported
1394 # in documentation text.
1395 #
1396 # In order to reference a proto element, the following
1397 # notation can be used:
1398 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
1399 # To override the display text used for the link, this can be used:
1400 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
1401 # Text can be excluded from doc using the following notation:
1402 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1403 #
1404 # A few directives are available in documentation. Note that
1405 # directives must appear on a single line to be properly
1406 # identified. The `include` directive includes a markdown file from
1407 # an external source:
1408 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1409 # The `resource_for` directive marks a message to be the resource of
1410 # a collection in REST view. If it is not specified, tools attempt
1411 # to infer the resource from the operations in a collection:
1412 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1413 # The directive `suppress_warning` does not directly affect documentation
1414 # and is documented together with service config validation.
1415 &quot;pages&quot;: [ # The top level pages for the documentation set.
1416 { # Represents a documentation page. A page can contain subpages to represent
1417 # nested documentation set structure.
1418 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
1419 # generate URI of the page, text of the link to this page in navigation,
1420 # etc. The full page name (start from the root page name to this page
1421 # concatenated with `.`) can be used as reference to the page in your
1422 # documentation. For example:
1423 # &lt;pre&gt;&lt;code&gt;pages:
1424 # - name: Tutorial
1425 # content: &amp;#40;== include tutorial.md ==&amp;#41;
1426 # subpages:
1427 # - name: Java
1428 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
1429 # &lt;/code&gt;&lt;/pre&gt;
1430 # You can reference `Java` page using Markdown reference link syntax:
1431 # `Java`.
1432 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
1433 # honored in the generated docset.
1434 # Object with schema name: Page
1435 ],
1436 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
1437 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
1438 },
1439 ],
1440 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
1441 # plain text.
1442 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
1443 # &lt;pre&gt;&lt;code&gt;documentation:
1444 # summary: ...
1445 # overview: &amp;#40;== include overview.md ==&amp;#41;
1446 # &lt;/code&gt;&lt;/pre&gt;
1447 # This is a shortcut for the following declaration (using pages style):
1448 # &lt;pre&gt;&lt;code&gt;documentation:
1449 # summary: ...
1450 # pages:
1451 # - name: Overview
1452 # content: &amp;#40;== include overview.md ==&amp;#41;
1453 # &lt;/code&gt;&lt;/pre&gt;
1454 # Note: you cannot specify both `overview` field and `pages` field.
1455 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
1456 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
1457 #
1458 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1459 { # A documentation rule provides information about individual API elements.
1460 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
1461 # an element is marked as `deprecated`.
1462 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
1463 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
1464 # Wildcards are only allowed at the end and for a whole component of the
1465 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
1466 # wildcard will match one or more components. To specify a default for all
1467 # applicable elements, the whole pattern &quot;*&quot; is used.
1468 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
1469 },
1470 ],
1471 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
1472 # from the yaml file) is not suitable. This can be seen in any fully
1473 # specified service urls as well as sections that show a base that other
1474 # urls are relative to.
1475 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001476 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
Dan O'Mearadd494642020-05-01 07:42:23 -07001477 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001478 # Example for an API targeted for external use:
Bu Sun Kim65020912020-05-20 12:08:20 -07001479 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001480 # name: calendar.googleapis.com
1481 # authentication:
1482 # providers:
1483 # - id: google_calendar_auth
1484 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
1485 # issuer: https://securetoken.google.com
1486 # rules:
1487 # - selector: &quot;*&quot;
1488 # requirements:
1489 # provider_id: google_calendar_auth
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001490 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
1491 #
1492 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1493 { # Authentication rules for the service.
1494 #
1495 # By default, if a method has any authentication requirements, every request
1496 # must include a valid credential matching one of the requirements.
1497 # It&#x27;s an error to include more than one kind of credential in a single
1498 # request.
1499 #
1500 # If a method doesn&#x27;t have any auth requirements, request credentials will be
1501 # ignored.
1502 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
1503 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
1504 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
1505 # giving it permission to access that data on their behalf.
1506 #
1507 # OAuth scope specifications should be fairly coarse grained; a user will need
1508 # to see and understand the text description of what your scope means.
1509 #
1510 # In most cases: use one or at most two OAuth scopes for an entire family of
1511 # products. If your product has multiple APIs, you should probably be sharing
1512 # the OAuth scope across all of those APIs.
1513 #
1514 # When you need finer grained OAuth consent screens: talk with your product
1515 # management about how developers will use them in practice.
1516 #
1517 # Please note that even though each of the canonical scopes is enough for a
1518 # request to be accepted and passed to the backend, a request can still fail
1519 # due to the backend requiring additional scopes or permissions.
1520 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
1521 # OAuth token containing any of these scopes will be accepted.
1522 #
1523 # Example:
1524 #
1525 # canonical_scopes: https://www.googleapis.com/auth/calendar,
1526 # https://www.googleapis.com/auth/calendar.read
1527 },
1528 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
1529 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
1530 #
1531 # Refer to selector for syntax details.
1532 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
1533 { # User-defined authentication requirements, including support for
1534 # [JSON Web Token
1535 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1536 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
1537 #
1538 # Example:
1539 #
1540 # provider_id: bookstore_auth
1541 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
1542 # implemented and accepted in all the runtime components.
1543 #
1544 # The list of JWT
1545 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1546 # that are allowed to access. A JWT containing any of these audiences will
1547 # be accepted. When this setting is absent, only JWTs with audience
1548 # &quot;https://Service_name/API_name&quot;
1549 # will be accepted. For example, if no audiences are in the setting,
1550 # LibraryService API will only accept JWTs with the following audience
1551 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
1552 #
1553 # Example:
1554 #
1555 # audiences: bookstore_android.apps.googleusercontent.com,
1556 # bookstore_web.apps.googleusercontent.com
1557 },
1558 ],
1559 },
1560 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001561 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
1562 { # Configuration for an authentication provider, including support for
1563 # [JSON Web Token
1564 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001565 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
1566 # [OpenID
1567 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
1568 # Optional if the key set document:
1569 # - can be retrieved from
1570 # [OpenID
1571 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
1572 # the issuer.
1573 # - can be inferred from the email domain of the issuer (e.g. a Google
1574 # service account).
1575 #
1576 # Example: https://www.googleapis.com/oauth2/v1/certs
1577 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
1578 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001579 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
1580 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1581 # that are allowed to access. A JWT containing any of these audiences will
1582 # be accepted. When this setting is absent, JWTs with audiences:
1583 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
1584 # - &quot;https://[service.name]/&quot;
1585 # will be accepted.
1586 # For example, if no audiences are in the setting, LibraryService API will
1587 # accept JWTs with the following audiences:
1588 # -
1589 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
1590 # - https://library-example.googleapis.com/
Bu Sun Kim65020912020-05-20 12:08:20 -07001591 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001592 # Example:
Bu Sun Kim65020912020-05-20 12:08:20 -07001593 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001594 # audiences: bookstore_android.apps.googleusercontent.com,
1595 # bookstore_web.apps.googleusercontent.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001596 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
Bu Sun Kim65020912020-05-20 12:08:20 -07001597 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001598 # JWT locations can be either from HTTP headers or URL query parameters.
1599 # The rule is that the first match wins. The checking order is: checking
1600 # all headers first, then URL query parameters.
Bu Sun Kim65020912020-05-20 12:08:20 -07001601 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001602 # If not specified, default to use following 3 locations:
1603 # 1) Authorization: Bearer
1604 # 2) x-goog-iap-jwt-assertion
1605 # 3) access_token query parameter
Bu Sun Kim65020912020-05-20 12:08:20 -07001606 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001607 # Default locations can be specified as followings:
1608 # jwt_locations:
1609 # - header: Authorization
1610 # value_prefix: &quot;Bearer &quot;
1611 # - header: x-goog-iap-jwt-assertion
1612 # - query: access_token
1613 { # Specifies a location to extract JWT from an API request.
1614 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
1615 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
1616 # If not empty, the header value has to match (case sensitive) this prefix.
1617 # If not matched, JWT will not be extracted. If matched, JWT will be
1618 # extracted after the prefix is removed.
1619 #
1620 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
1621 # value_prefix=&quot;Bearer &quot; with a space at the end.
1622 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
1623 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
1624 },
1625 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001626 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
1627 # `AuthRequirement.provider_id`.
1628 #
1629 # Example: &quot;bookstore_auth&quot;.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001630 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
1631 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
1632 # Usually a URL or an email address.
Bu Sun Kim65020912020-05-20 12:08:20 -07001633 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001634 # Example: https://securetoken.google.com
1635 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim65020912020-05-20 12:08:20 -07001636 },
1637 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001638 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001639 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
Bu Sun Kim65020912020-05-20 12:08:20 -07001640 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
1641 # versions, and method names of the interfaces.
1642 { # Api is a light-weight descriptor for an API Interface.
1643 #
1644 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
1645 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
1646 # from API Services, which represent a concrete implementation of an interface
1647 # as opposed to simply a description of methods and bindings. They are also
1648 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
1649 # this message itself. See https://cloud.google.com/apis/design/glossary for
1650 # detailed terminology.
Bu Sun Kim65020912020-05-20 12:08:20 -07001651 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
1652 # message.
1653 # protobuf element, like the file in which it is defined.
1654 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
1655 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
1656 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001657 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
1658 # followed by the interface&#x27;s simple name.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001659 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
1660 { # Method represents a method of an API interface.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001661 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001662 &quot;options&quot;: [ # Any metadata attached to the method.
1663 { # A protocol buffer option, which can be attached to a message, field,
1664 # enumeration, etc.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001665 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
1666 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1667 # should be used. If the value is an enum, it should be stored as an int32
1668 # value using the google.protobuf.Int32Value type.
1669 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1670 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001671 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
1672 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
1673 # For custom options, it should be the fully-qualified name. For example,
1674 # `&quot;google.api.http&quot;`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001675 },
1676 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001677 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001678 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
1679 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
1680 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
1681 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001682 },
1683 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001684 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
1685 { # Declares an API Interface to be included in this interface. The including
1686 # interface must redeclare all the methods from the included interface, but
1687 # documentation and options are inherited as follows:
1688 #
1689 # - If after comment and whitespace stripping, the documentation
1690 # string of the redeclared method is empty, it will be inherited
1691 # from the original method.
1692 #
1693 # - Each annotation belonging to the service config (http,
1694 # visibility) which is not set in the redeclared method will be
1695 # inherited.
1696 #
1697 # - If an http annotation is inherited, the path pattern will be
1698 # modified as follows. Any version prefix will be replaced by the
1699 # version of the including interface plus the root path if
1700 # specified.
1701 #
1702 # Example of a simple mixin:
1703 #
1704 # package google.acl.v1;
1705 # service AccessControl {
1706 # // Get the underlying ACL object.
1707 # rpc GetAcl(GetAclRequest) returns (Acl) {
1708 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
1709 # }
1710 # }
1711 #
1712 # package google.storage.v2;
1713 # service Storage {
1714 # // rpc GetAcl(GetAclRequest) returns (Acl);
1715 #
1716 # // Get a data record.
1717 # rpc GetData(GetDataRequest) returns (Data) {
1718 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
1719 # }
1720 # }
1721 #
1722 # Example of a mixin configuration:
1723 #
1724 # apis:
1725 # - name: google.storage.v2.Storage
1726 # mixins:
1727 # - name: google.acl.v1.AccessControl
1728 #
1729 # The mixin construct implies that all methods in `AccessControl` are
1730 # also declared with same name and request/response types in
1731 # `Storage`. A documentation generator or annotation processor will
1732 # see the effective `Storage.GetAcl` method after inherting
1733 # documentation and annotations as follows:
1734 #
1735 # service Storage {
1736 # // Get the underlying ACL object.
1737 # rpc GetAcl(GetAclRequest) returns (Acl) {
1738 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
1739 # }
1740 # ...
1741 # }
1742 #
1743 # Note how the version in the path pattern changed from `v1` to `v2`.
1744 #
1745 # If the `root` field in the mixin is specified, it should be a
1746 # relative path under which inherited HTTP paths are placed. Example:
1747 #
1748 # apis:
1749 # - name: google.storage.v2.Storage
1750 # mixins:
1751 # - name: google.acl.v1.AccessControl
1752 # root: acls
1753 #
1754 # This implies the following inherited HTTP annotation:
1755 #
1756 # service Storage {
1757 # // Get the underlying ACL object.
1758 # rpc GetAcl(GetAclRequest) returns (Acl) {
1759 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
1760 # }
1761 # ...
1762 # }
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001763 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim65020912020-05-20 12:08:20 -07001764 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
1765 # are rooted.
1766 },
1767 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001768 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
1769 &quot;options&quot;: [ # Any metadata attached to the interface.
1770 { # A protocol buffer option, which can be attached to a message, field,
1771 # enumeration, etc.
1772 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
1773 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1774 # should be used. If the value is an enum, it should be stored as an int32
1775 # value using the google.protobuf.Int32Value type.
1776 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1777 },
1778 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
1779 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
1780 # For custom options, it should be the fully-qualified name. For example,
1781 # `&quot;google.api.http&quot;`.
1782 },
1783 ],
1784 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
1785 # `major-version.minor-version`, as in `1.10`. If the minor version is
1786 # omitted, it defaults to zero. If the entire version field is empty, the
1787 # major version is derived from the package name, as outlined below. If the
1788 # field is not empty, the version in the package name will be verified to be
1789 # consistent with what is provided here.
1790 #
1791 # The versioning schema uses [semantic
1792 # versioning](http://semver.org) where the major version number
1793 # indicates a breaking change and the minor version an additive,
1794 # non-breaking change. Both version numbers are signals to users
1795 # what to expect from different versions, and should be carefully
1796 # chosen based on the product plan.
1797 #
1798 # The major version is also reflected in the package name of the
1799 # interface, which must end in `v&lt;major-version&gt;`, as in
1800 # `google.feature.v1`. For major versions 0 and 1, the suffix can
1801 # be omitted. Zero major versions must only be used for
1802 # experimental, non-GA interfaces.
Bu Sun Kim65020912020-05-20 12:08:20 -07001803 },
1804 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001805 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
1806 #
1807 # An example DNS address would be:
1808 # `calendar.googleapis.com`.
Dan O'Mearadd494642020-05-01 07:42:23 -07001809 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001810 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001811 #
1812 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001813 # - projects/123/services/serviceusage.googleapis.com
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001814 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
1815 #
1816 # A valid name would be:
1817 # - projects/123
Dan O'Mearadd494642020-05-01 07:42:23 -07001818 }</pre>
1819</div>
1820
1821<div class="method">
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001822 <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
Dan O'Mearadd494642020-05-01 07:42:23 -07001823 <pre>List all services available to the specified project, and the current
1824state of those services with respect to the project. The list includes
1825all public services, all services for which the calling user has the
1826`servicemanagement.services.bind` permission, and all services that have
1827already been enabled on the project. The list can be filtered to
1828only include services in a specific state, for example to only include
1829services enabled on the project.
1830
1831Args:
1832 parent: string, Parent to search for services on.
1833
1834An example name would be:
1835`projects/123` where `123` is the project number. (required)
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001836 filter: string, Only list services that conform to the given filter.
1837The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001838 pageToken: string, Token identifying which result to start with, which is returned by a
1839previous list call.
Bu Sun Kim65020912020-05-20 12:08:20 -07001840 pageSize: integer, Requested size of the next page of data.
1841Requested page size cannot exceed 200.
1842 If not set, the default page size is 50.
Dan O'Mearadd494642020-05-01 07:42:23 -07001843 x__xgafv: string, V1 error format.
1844 Allowed values
1845 1 - v1 error format
1846 2 - v2 error format
Dan O'Mearadd494642020-05-01 07:42:23 -07001847
1848Returns:
1849 An object of the form:
1850
1851 { # Response message for the `ListServices` method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001852 &quot;nextPageToken&quot;: &quot;A String&quot;, # Token that can be passed to `ListServices` to resume a paginated
1853 # query.
Bu Sun Kim65020912020-05-20 12:08:20 -07001854 &quot;services&quot;: [ # The available services for the requested project.
Dan O'Mearadd494642020-05-01 07:42:23 -07001855 { # A service that is available for use by the consumer.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001856 &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -07001857 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001858 # Some fields may be filtered out of the configuration in responses to
1859 # the `ListServices` method. These fields are present only in responses to
1860 # the `GetService` method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001861 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
1862 # usage.
1863 #
1864 # The metric based quota configuration works this way:
1865 # - The service configuration defines a set of metrics.
1866 # - For API calls, the quota.metric_rules maps methods to metrics with
1867 # corresponding costs.
1868 # - The quota.limits defines limits on the metrics, which will be used for
1869 # quota checks at runtime.
1870 #
1871 # An example quota configuration in yaml format:
1872 #
1873 # quota:
1874 # limits:
1875 #
1876 # - name: apiWriteQpsPerProject
1877 # metric: library.googleapis.com/write_calls
1878 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
1879 # values:
1880 # STANDARD: 10000
1881 #
1882 #
1883 # # The metric rules bind all methods to the read_calls metric,
1884 # # except for the UpdateBook and DeleteBook methods. These two methods
1885 # # are mapped to the write_calls metric, with the UpdateBook method
1886 # # consuming at twice rate as the DeleteBook method.
1887 # metric_rules:
1888 # - selector: &quot;*&quot;
1889 # metric_costs:
1890 # library.googleapis.com/read_calls: 1
1891 # - selector: google.example.library.v1.LibraryService.UpdateBook
1892 # metric_costs:
1893 # library.googleapis.com/write_calls: 2
1894 # - selector: google.example.library.v1.LibraryService.DeleteBook
1895 # metric_costs:
1896 # library.googleapis.com/write_calls: 1
1897 #
1898 # Corresponding Metric definition:
1899 #
1900 # metrics:
1901 # - name: library.googleapis.com/read_calls
1902 # display_name: Read requests
1903 # metric_kind: DELTA
1904 # value_type: INT64
1905 #
1906 # - name: library.googleapis.com/write_calls
1907 # display_name: Write requests
1908 # metric_kind: DELTA
1909 # value_type: INT64
1910 #
1911 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
1912 { # `QuotaLimit` defines a specific limit that applies over a specified duration
1913 # for a limit type. There can be at most one limit for a duration and limit
1914 # type combination defined within a `QuotaGroup`.
1915 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
1916 # duration. Client application developers can override the default limit up
1917 # to this maximum. If specified, this value cannot be set to a value less
1918 # than the default limit. If not specified, it is set to the default limit.
1919 #
1920 # To allow clients to apply overrides with no upper bound, set this to -1,
1921 # indicating unlimited maximum quota.
1922 #
1923 # Used by group-based quotas only.
1924 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
1925 #
1926 # The name must be provided, and it must be unique within the service. The
1927 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
1928 #
1929 # The maximum length of the limit name is 64 characters.
1930 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
1931 # the same metric will be checked together during runtime. The metric must be
1932 # defined within the service config.
1933 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
1934 # Should be used only when more context is needed to understand this limit
1935 # than provided by the limit&#x27;s display name (see: `display_name`).
1936 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
1937 #
1938 # Used by group-based quotas only.
1939 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
1940 # Metric.unit. The supported unit kinds are determined by the quota
1941 # backend system.
1942 #
1943 # Here are some examples:
1944 # * &quot;1/min/{project}&quot; for quota per minute per project.
1945 #
1946 # Note: the order of unit components is insignificant.
1947 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
1948 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
1949 # integer value that is the maximum number of requests allowed for the
1950 # specified unit. Currently only STANDARD is supported.
1951 &quot;a_key&quot;: &quot;A String&quot;,
1952 },
1953 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
1954 # duration. This is the number of tokens assigned when a client
1955 # application developer activates the service for his/her project.
1956 #
1957 # Specifying a value of 0 will block all requests. This can be used if you
1958 # are provisioning quota to selected consumers and blocking others.
1959 # Similarly, a value of -1 will indicate an unlimited quota. No other
1960 # negative values are allowed.
1961 #
1962 # Used by group-based quotas only.
1963 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
1964 # The free tier is the number of tokens that will be subtracted from the
1965 # billed amount when billing is enabled.
1966 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
1967 # group; it is invalid on any other limit. If this field is not set, it
1968 # defaults to 0, indicating that there is no free tier for this service.
1969 #
1970 # Used by group-based quotas only.
1971 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
1972 # Optional. If not set, the UI will provide a default display name based on
1973 # the quota configuration. This field can be used to override the default
1974 # display name generated from the configuration.
1975 },
1976 ],
1977 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
1978 # or more metrics.
1979 { # Bind API methods to metrics. Binding a method to a metric causes that
1980 # metric&#x27;s configured quota behaviors to apply to the method call.
1981 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
1982 # cost applied to each metric.
1983 #
1984 # The key of the map is the metric name, and the values are the amount
1985 # increased for the metric against which the quota limits are defined.
1986 # The value must not be negative.
1987 &quot;a_key&quot;: &quot;A String&quot;,
1988 },
1989 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
1990 #
1991 # Refer to selector for syntax details.
1992 },
1993 ],
1994 },
1995 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
1996 # of the endpoints.
1997 { # `Endpoint` describes a network endpoint that serves a set of APIs.
1998 # A service may expose any number of endpoints, and all endpoints share the
1999 # same service configuration, such as quota configuration and monitoring
2000 # configuration.
2001 #
2002 # Example service configuration:
2003 #
2004 # name: library-example.googleapis.com
2005 # endpoints:
2006 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
2007 # # API be served from endpoint address library-example.googleapis.com.
2008 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
2009 # # it to decide whether the subsequent cross-origin request is
2010 # # allowed to proceed.
2011 # - name: library-example.googleapis.com
2012 # allow_cors: true
2013 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
2014 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
2015 # please specify multiple google.api.Endpoint for each of the intended
2016 # aliases.
2017 #
2018 # Additional names that this endpoint will be hosted on.
2019 &quot;A String&quot;,
2020 ],
2021 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
2022 # handle requests to this [API
2023 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
2024 # either a valid IPv4 address or a fully-qualified domain name. For example,
2025 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
2026 &quot;allowCors&quot;: True or False, # Allowing
2027 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
2028 # cross-domain traffic, would allow the backends served from this endpoint to
2029 # receive and respond to HTTP OPTIONS requests. The response will be used by
2030 # the browser to determine whether the subsequent cross-origin request is
2031 # allowed to proceed.
2032 },
2033 ],
2034 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
2035 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
2036 #
2037 #
2038 # Use this field to configure per-product per-project service identity.
2039 # Example of a service identity configuration.
2040 #
2041 # usage:
2042 # service_identity:
2043 # - service_account_parent: &quot;projects/123456789&quot;
2044 # display_name: &quot;Cloud XXX Service Agent&quot;
2045 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
2046 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
2047 # Must be less than or equal to 100 UTF-8 bytes.
2048 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
2049 # Must be less than or equal to 256 UTF-8 bytes.
2050 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
2051 #
2052 # An example name would be:
2053 # `projects/123456789`
2054 },
2055 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
2056 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
2057 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
2058 &quot;A String&quot;,
2059 ],
2060 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
2061 #
2062 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
2063 { # Usage configuration rules for the service.
2064 #
2065 # NOTE: Under development.
2066 #
2067 #
2068 # Use this rule to configure unregistered calls for the service. Unregistered
2069 # calls are calls that do not contain consumer project identity.
2070 # (Example: calls that do not contain an API key).
2071 # By default, API methods do not allow unregistered calls, and each method call
2072 # must be identified by a consumer project identity. Use this rule to
2073 # allow/disallow unregistered calls.
2074 #
2075 # Example of an API that wants to allow unregistered calls for entire service.
2076 #
2077 # usage:
2078 # rules:
2079 # - selector: &quot;*&quot;
2080 # allow_unregistered_calls: true
2081 #
2082 # Example of a method that wants to allow unregistered calls.
2083 #
2084 # usage:
2085 # rules:
2086 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
2087 # allow_unregistered_calls: true
2088 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
2089 # methods in all APIs.
2090 #
2091 # Refer to selector for syntax details.
2092 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
2093 # that don&#x27;t identify any user or application.
2094 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
2095 # plane features, such as quota and billing, will not be available.
2096 # This flag is used by Google Cloud Endpoints to bypass checks for internal
2097 # methods, such as service health check methods.
2098 },
2099 ],
2100 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
2101 # service producer.
2102 #
2103 # Google Service Management currently only supports
2104 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
2105 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
2106 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
2107 # documented in https://cloud.google.com/pubsub/docs/overview.
2108 },
2109 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
2110 # documentation URL.
2111 #
2112 # Example:
2113 # &lt;pre&gt;&lt;code&gt;documentation:
2114 # summary: &gt;
2115 # The Google Calendar API gives access
2116 # to most calendar features.
2117 # pages:
2118 # - name: Overview
2119 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
2120 # - name: Tutorial
2121 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
2122 # subpages;
2123 # - name: Java
2124 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
2125 # rules:
2126 # - selector: google.calendar.Calendar.Get
2127 # description: &gt;
2128 # ...
2129 # - selector: google.calendar.Calendar.Put
2130 # description: &gt;
2131 # ...
2132 # &lt;/code&gt;&lt;/pre&gt;
2133 # Documentation is provided in markdown syntax. In addition to
2134 # standard markdown features, definition lists, tables and fenced
2135 # code blocks are supported. Section headers can be provided and are
2136 # interpreted relative to the section nesting of the context where
2137 # a documentation fragment is embedded.
2138 #
2139 # Documentation from the IDL is merged with documentation defined
2140 # via the config at normalization time, where documentation provided
2141 # by config rules overrides IDL provided.
2142 #
2143 # A number of constructs specific to the API platform are supported
2144 # in documentation text.
2145 #
2146 # In order to reference a proto element, the following
2147 # notation can be used:
2148 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
2149 # To override the display text used for the link, this can be used:
2150 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
2151 # Text can be excluded from doc using the following notation:
2152 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
2153 #
2154 # A few directives are available in documentation. Note that
2155 # directives must appear on a single line to be properly
2156 # identified. The `include` directive includes a markdown file from
2157 # an external source:
2158 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
2159 # The `resource_for` directive marks a message to be the resource of
2160 # a collection in REST view. If it is not specified, tools attempt
2161 # to infer the resource from the operations in a collection:
2162 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
2163 # The directive `suppress_warning` does not directly affect documentation
2164 # and is documented together with service config validation.
2165 &quot;pages&quot;: [ # The top level pages for the documentation set.
2166 { # Represents a documentation page. A page can contain subpages to represent
2167 # nested documentation set structure.
2168 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
2169 # generate URI of the page, text of the link to this page in navigation,
2170 # etc. The full page name (start from the root page name to this page
2171 # concatenated with `.`) can be used as reference to the page in your
2172 # documentation. For example:
2173 # &lt;pre&gt;&lt;code&gt;pages:
2174 # - name: Tutorial
2175 # content: &amp;#40;== include tutorial.md ==&amp;#41;
2176 # subpages:
2177 # - name: Java
2178 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
2179 # &lt;/code&gt;&lt;/pre&gt;
2180 # You can reference `Java` page using Markdown reference link syntax:
2181 # `Java`.
2182 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
2183 # honored in the generated docset.
2184 # Object with schema name: Page
2185 ],
2186 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
2187 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
2188 },
2189 ],
2190 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
2191 # plain text.
2192 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
2193 # &lt;pre&gt;&lt;code&gt;documentation:
2194 # summary: ...
2195 # overview: &amp;#40;== include overview.md ==&amp;#41;
2196 # &lt;/code&gt;&lt;/pre&gt;
2197 # This is a shortcut for the following declaration (using pages style):
2198 # &lt;pre&gt;&lt;code&gt;documentation:
2199 # summary: ...
2200 # pages:
2201 # - name: Overview
2202 # content: &amp;#40;== include overview.md ==&amp;#41;
2203 # &lt;/code&gt;&lt;/pre&gt;
2204 # Note: you cannot specify both `overview` field and `pages` field.
2205 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
2206 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
2207 #
2208 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
2209 { # A documentation rule provides information about individual API elements.
2210 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
2211 # an element is marked as `deprecated`.
2212 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
2213 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
2214 # Wildcards are only allowed at the end and for a whole component of the
2215 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
2216 # wildcard will match one or more components. To specify a default for all
2217 # applicable elements, the whole pattern &quot;*&quot; is used.
2218 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
2219 },
2220 ],
2221 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
2222 # from the yaml file) is not suitable. This can be seen in any fully
2223 # specified service urls as well as sections that show a base that other
2224 # urls are relative to.
2225 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002226 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
Dan O'Mearadd494642020-05-01 07:42:23 -07002227 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002228 # Example for an API targeted for external use:
Bu Sun Kim65020912020-05-20 12:08:20 -07002229 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002230 # name: calendar.googleapis.com
2231 # authentication:
2232 # providers:
2233 # - id: google_calendar_auth
2234 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
2235 # issuer: https://securetoken.google.com
2236 # rules:
2237 # - selector: &quot;*&quot;
2238 # requirements:
2239 # provider_id: google_calendar_auth
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002240 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
2241 #
2242 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
2243 { # Authentication rules for the service.
2244 #
2245 # By default, if a method has any authentication requirements, every request
2246 # must include a valid credential matching one of the requirements.
2247 # It&#x27;s an error to include more than one kind of credential in a single
2248 # request.
2249 #
2250 # If a method doesn&#x27;t have any auth requirements, request credentials will be
2251 # ignored.
2252 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
2253 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
2254 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
2255 # giving it permission to access that data on their behalf.
2256 #
2257 # OAuth scope specifications should be fairly coarse grained; a user will need
2258 # to see and understand the text description of what your scope means.
2259 #
2260 # In most cases: use one or at most two OAuth scopes for an entire family of
2261 # products. If your product has multiple APIs, you should probably be sharing
2262 # the OAuth scope across all of those APIs.
2263 #
2264 # When you need finer grained OAuth consent screens: talk with your product
2265 # management about how developers will use them in practice.
2266 #
2267 # Please note that even though each of the canonical scopes is enough for a
2268 # request to be accepted and passed to the backend, a request can still fail
2269 # due to the backend requiring additional scopes or permissions.
2270 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
2271 # OAuth token containing any of these scopes will be accepted.
2272 #
2273 # Example:
2274 #
2275 # canonical_scopes: https://www.googleapis.com/auth/calendar,
2276 # https://www.googleapis.com/auth/calendar.read
2277 },
2278 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
2279 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
2280 #
2281 # Refer to selector for syntax details.
2282 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
2283 { # User-defined authentication requirements, including support for
2284 # [JSON Web Token
2285 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
2286 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
2287 #
2288 # Example:
2289 #
2290 # provider_id: bookstore_auth
2291 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
2292 # implemented and accepted in all the runtime components.
2293 #
2294 # The list of JWT
2295 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
2296 # that are allowed to access. A JWT containing any of these audiences will
2297 # be accepted. When this setting is absent, only JWTs with audience
2298 # &quot;https://Service_name/API_name&quot;
2299 # will be accepted. For example, if no audiences are in the setting,
2300 # LibraryService API will only accept JWTs with the following audience
2301 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
2302 #
2303 # Example:
2304 #
2305 # audiences: bookstore_android.apps.googleusercontent.com,
2306 # bookstore_web.apps.googleusercontent.com
2307 },
2308 ],
2309 },
2310 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002311 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
2312 { # Configuration for an authentication provider, including support for
2313 # [JSON Web Token
2314 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002315 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
2316 # [OpenID
2317 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
2318 # Optional if the key set document:
2319 # - can be retrieved from
2320 # [OpenID
2321 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
2322 # the issuer.
2323 # - can be inferred from the email domain of the issuer (e.g. a Google
2324 # service account).
2325 #
2326 # Example: https://www.googleapis.com/oauth2/v1/certs
2327 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
2328 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002329 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
2330 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
2331 # that are allowed to access. A JWT containing any of these audiences will
2332 # be accepted. When this setting is absent, JWTs with audiences:
2333 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
2334 # - &quot;https://[service.name]/&quot;
2335 # will be accepted.
2336 # For example, if no audiences are in the setting, LibraryService API will
2337 # accept JWTs with the following audiences:
2338 # -
2339 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
2340 # - https://library-example.googleapis.com/
Bu Sun Kim65020912020-05-20 12:08:20 -07002341 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002342 # Example:
Bu Sun Kim65020912020-05-20 12:08:20 -07002343 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002344 # audiences: bookstore_android.apps.googleusercontent.com,
2345 # bookstore_web.apps.googleusercontent.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002346 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
Bu Sun Kim65020912020-05-20 12:08:20 -07002347 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002348 # JWT locations can be either from HTTP headers or URL query parameters.
2349 # The rule is that the first match wins. The checking order is: checking
2350 # all headers first, then URL query parameters.
Bu Sun Kim65020912020-05-20 12:08:20 -07002351 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002352 # If not specified, default to use following 3 locations:
2353 # 1) Authorization: Bearer
2354 # 2) x-goog-iap-jwt-assertion
2355 # 3) access_token query parameter
Bu Sun Kim65020912020-05-20 12:08:20 -07002356 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002357 # Default locations can be specified as followings:
2358 # jwt_locations:
2359 # - header: Authorization
2360 # value_prefix: &quot;Bearer &quot;
2361 # - header: x-goog-iap-jwt-assertion
2362 # - query: access_token
2363 { # Specifies a location to extract JWT from an API request.
2364 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
2365 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
2366 # If not empty, the header value has to match (case sensitive) this prefix.
2367 # If not matched, JWT will not be extracted. If matched, JWT will be
2368 # extracted after the prefix is removed.
2369 #
2370 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
2371 # value_prefix=&quot;Bearer &quot; with a space at the end.
2372 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
2373 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
2374 },
2375 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002376 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
2377 # `AuthRequirement.provider_id`.
2378 #
2379 # Example: &quot;bookstore_auth&quot;.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002380 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
2381 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
2382 # Usually a URL or an email address.
Bu Sun Kim65020912020-05-20 12:08:20 -07002383 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002384 # Example: https://securetoken.google.com
2385 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim65020912020-05-20 12:08:20 -07002386 },
2387 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002388 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002389 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
Bu Sun Kim65020912020-05-20 12:08:20 -07002390 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
2391 # versions, and method names of the interfaces.
2392 { # Api is a light-weight descriptor for an API Interface.
2393 #
2394 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
2395 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
2396 # from API Services, which represent a concrete implementation of an interface
2397 # as opposed to simply a description of methods and bindings. They are also
2398 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
2399 # this message itself. See https://cloud.google.com/apis/design/glossary for
2400 # detailed terminology.
Bu Sun Kim65020912020-05-20 12:08:20 -07002401 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
2402 # message.
2403 # protobuf element, like the file in which it is defined.
2404 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
2405 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
2406 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002407 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
2408 # followed by the interface&#x27;s simple name.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002409 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
2410 { # Method represents a method of an API interface.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002411 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002412 &quot;options&quot;: [ # Any metadata attached to the method.
2413 { # A protocol buffer option, which can be attached to a message, field,
2414 # enumeration, etc.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002415 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
2416 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
2417 # should be used. If the value is an enum, it should be stored as an int32
2418 # value using the google.protobuf.Int32Value type.
2419 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2420 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002421 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
2422 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
2423 # For custom options, it should be the fully-qualified name. For example,
2424 # `&quot;google.api.http&quot;`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002425 },
2426 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002427 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002428 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
2429 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
2430 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
2431 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002432 },
2433 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002434 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
2435 { # Declares an API Interface to be included in this interface. The including
2436 # interface must redeclare all the methods from the included interface, but
2437 # documentation and options are inherited as follows:
2438 #
2439 # - If after comment and whitespace stripping, the documentation
2440 # string of the redeclared method is empty, it will be inherited
2441 # from the original method.
2442 #
2443 # - Each annotation belonging to the service config (http,
2444 # visibility) which is not set in the redeclared method will be
2445 # inherited.
2446 #
2447 # - If an http annotation is inherited, the path pattern will be
2448 # modified as follows. Any version prefix will be replaced by the
2449 # version of the including interface plus the root path if
2450 # specified.
2451 #
2452 # Example of a simple mixin:
2453 #
2454 # package google.acl.v1;
2455 # service AccessControl {
2456 # // Get the underlying ACL object.
2457 # rpc GetAcl(GetAclRequest) returns (Acl) {
2458 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
2459 # }
2460 # }
2461 #
2462 # package google.storage.v2;
2463 # service Storage {
2464 # // rpc GetAcl(GetAclRequest) returns (Acl);
2465 #
2466 # // Get a data record.
2467 # rpc GetData(GetDataRequest) returns (Data) {
2468 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
2469 # }
2470 # }
2471 #
2472 # Example of a mixin configuration:
2473 #
2474 # apis:
2475 # - name: google.storage.v2.Storage
2476 # mixins:
2477 # - name: google.acl.v1.AccessControl
2478 #
2479 # The mixin construct implies that all methods in `AccessControl` are
2480 # also declared with same name and request/response types in
2481 # `Storage`. A documentation generator or annotation processor will
2482 # see the effective `Storage.GetAcl` method after inherting
2483 # documentation and annotations as follows:
2484 #
2485 # service Storage {
2486 # // Get the underlying ACL object.
2487 # rpc GetAcl(GetAclRequest) returns (Acl) {
2488 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
2489 # }
2490 # ...
2491 # }
2492 #
2493 # Note how the version in the path pattern changed from `v1` to `v2`.
2494 #
2495 # If the `root` field in the mixin is specified, it should be a
2496 # relative path under which inherited HTTP paths are placed. Example:
2497 #
2498 # apis:
2499 # - name: google.storage.v2.Storage
2500 # mixins:
2501 # - name: google.acl.v1.AccessControl
2502 # root: acls
2503 #
2504 # This implies the following inherited HTTP annotation:
2505 #
2506 # service Storage {
2507 # // Get the underlying ACL object.
2508 # rpc GetAcl(GetAclRequest) returns (Acl) {
2509 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
2510 # }
2511 # ...
2512 # }
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002513 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim65020912020-05-20 12:08:20 -07002514 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
2515 # are rooted.
2516 },
2517 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002518 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
2519 &quot;options&quot;: [ # Any metadata attached to the interface.
2520 { # A protocol buffer option, which can be attached to a message, field,
2521 # enumeration, etc.
2522 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
2523 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
2524 # should be used. If the value is an enum, it should be stored as an int32
2525 # value using the google.protobuf.Int32Value type.
2526 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2527 },
2528 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
2529 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
2530 # For custom options, it should be the fully-qualified name. For example,
2531 # `&quot;google.api.http&quot;`.
2532 },
2533 ],
2534 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
2535 # `major-version.minor-version`, as in `1.10`. If the minor version is
2536 # omitted, it defaults to zero. If the entire version field is empty, the
2537 # major version is derived from the package name, as outlined below. If the
2538 # field is not empty, the version in the package name will be verified to be
2539 # consistent with what is provided here.
2540 #
2541 # The versioning schema uses [semantic
2542 # versioning](http://semver.org) where the major version number
2543 # indicates a breaking change and the minor version an additive,
2544 # non-breaking change. Both version numbers are signals to users
2545 # what to expect from different versions, and should be carefully
2546 # chosen based on the product plan.
2547 #
2548 # The major version is also reflected in the package name of the
2549 # interface, which must end in `v&lt;major-version&gt;`, as in
2550 # `google.feature.v1`. For major versions 0 and 1, the suffix can
2551 # be omitted. Zero major versions must only be used for
2552 # experimental, non-GA interfaces.
Bu Sun Kim65020912020-05-20 12:08:20 -07002553 },
2554 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002555 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
2556 #
2557 # An example DNS address would be:
2558 # `calendar.googleapis.com`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002559 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002560 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002561 #
2562 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002563 # - projects/123/services/serviceusage.googleapis.com
Bu Sun Kimd059ad82020-07-22 17:02:09 -07002564 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
2565 #
2566 # A valid name would be:
2567 # - projects/123
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002568 },
2569 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002570 }</pre>
2571</div>
2572
2573<div class="method">
2574 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
2575 <pre>Retrieves the next page of results.
2576
2577Args:
2578 previous_request: The request for the previous page. (required)
2579 previous_response: The response from the request for the previous page. (required)
2580
2581Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -07002582 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002583 page. Returns None if there are no more items in the collection.
2584 </pre>
2585</div>
2586
2587</body></html>