blob: d568a196db2ba889c921949ec5f34b02a3513da8 [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_v1beta1.html">Service Usage API</a> . <a href="serviceusage_v1beta1.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="serviceusage_v1beta1.services.consumerQuotaMetrics.html">consumerQuotaMetrics()</a></code>
79</p>
80<p class="firstline">Returns the consumerQuotaMetrics Resource.</p>
81
82<p class="toc_element">
83 <code><a href="#batchEnable">batchEnable(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070084<p class="firstline">Enable multiple services on a project. The operation is atomic: if enabling</p>
85<p class="toc_element">
86 <code><a href="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
87<p class="firstline">Disable a service so that it can no longer be used with a project.</p>
88<p class="toc_element">
89 <code><a href="#enable">enable(name, body=None, x__xgafv=None)</a></code></p>
90<p class="firstline">Enable a service so that it can be used with a project.</p>
91<p class="toc_element">
92 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
93<p class="firstline">Returns the service configuration and enabled state for a given service.</p>
94<p class="toc_element">
95 <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
96<p class="firstline">List all services available to the specified project, and the current</p>
97<p class="toc_element">
98 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
99<p class="firstline">Retrieves the next page of results.</p>
100<h3>Method Details</h3>
101<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700102 <code class="details" id="batchEnable">batchEnable(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700103 <pre>Enable multiple services on a project. The operation is atomic: if enabling
104any service fails, then the entire batch fails, and no state changes occur.
105
Dan O'Mearadd494642020-05-01 07:42:23 -0700106Operation&lt;response: google.protobuf.Empty&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700107
108Args:
109 parent: string, Parent to enable services on.
110
111An example name would be:
112`projects/123`
113where `123` is the project number (not project ID).
114
115The `BatchEnableServices` method currently only supports projects. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700116 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700117 The object takes the form of:
118
119{ # Request message for the `BatchEnableServices` method.
120 "serviceIds": [ # The identifiers of the services to enable on the project.
121 #
122 # A valid identifier would be:
123 # serviceusage.googleapis.com
124 #
125 # Enabling services requires that each service is public or is shared with
126 # the user enabling the service.
127 #
128 # Two or more services must be specified. To enable a single service,
129 # use the `EnableService` method instead.
130 #
131 # A single request can enable a maximum of 20 services at a time. If more
132 # than 20 services are specified, the request will fail, and no state changes
133 # will occur.
134 "A String",
135 ],
136 }
137
138 x__xgafv: string, V1 error format.
139 Allowed values
140 1 - v1 error format
141 2 - v2 error format
142
143Returns:
144 An object of the form:
145
146 { # This resource represents a long-running operation that is the result of a
147 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700148 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
149 # different programming environments, including REST APIs and RPC APIs. It is
150 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
151 # three pieces of data: error code, error message, and error details.
152 #
153 # You can find out more about this error model and how to work with it in the
154 # [API Design Guide](https://cloud.google.com/apis/design/errors).
155 "message": "A String", # A developer-facing error message, which should be in English. Any
156 # user-facing error message should be localized and sent in the
157 # google.rpc.Status.details field, or localized by the client.
158 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
159 "details": [ # A list of messages that carry the error details. There is a common set of
160 # message types for APIs to use.
161 {
162 "a_key": "", # Properties of the object. Contains field @type with type URL.
163 },
164 ],
165 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700166 "done": True or False, # If the value is `false`, it means the operation is still in progress.
167 # If `true`, the operation is completed, and either `error` or `response` is
168 # available.
169 "response": { # The normal response of the operation in case of success. If the original
170 # method returns no data on success, such as `Delete`, the response is
171 # `google.protobuf.Empty`. If the original method is standard
172 # `Get`/`Create`/`Update`, the response should be the resource. For other
173 # methods, the response should have the type `XxxResponse`, where `Xxx`
174 # is the original method name. For example, if the original method name
175 # is `TakeSnapshot()`, the inferred response type is
176 # `TakeSnapshotResponse`.
177 "a_key": "", # Properties of the object. Contains field @type with type URL.
178 },
179 "name": "A String", # The server-assigned name, which is only unique within the same service that
180 # originally returns it. If you use the default HTTP mapping, the
181 # `name` should be a resource name ending with `operations/{unique_id}`.
182 "metadata": { # Service-specific metadata associated with the operation. It typically
183 # contains progress information and common metadata such as create time.
184 # Some services might not provide such metadata. Any method that returns a
185 # long-running operation should document the metadata type, if any.
186 "a_key": "", # Properties of the object. Contains field @type with type URL.
187 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700188 }</pre>
189</div>
190
191<div class="method">
192 <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
193 <pre>Disable a service so that it can no longer be used with a project.
194This prevents unintended usage that may cause unexpected billing
195charges or security leaks.
196
197It is not valid to call the disable method on a service that is not
198currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
199the target service is not currently enabled.
200
Dan O'Mearadd494642020-05-01 07:42:23 -0700201Operation&lt;response: google.protobuf.Empty&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700202
203Args:
204 name: string, Name of the consumer and service to disable the service on.
205
206The enable and disable methods currently only support projects.
207
208An example name would be:
209`projects/123/services/serviceusage.googleapis.com`
210where `123` is the project number (not project ID). (required)
211 body: object, The request body.
212 The object takes the form of:
213
214{ # Request message for the `DisableService` method.
215 }
216
217 x__xgafv: string, V1 error format.
218 Allowed values
219 1 - v1 error format
220 2 - v2 error format
221
222Returns:
223 An object of the form:
224
225 { # This resource represents a long-running operation that is the result of a
226 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700227 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
228 # different programming environments, including REST APIs and RPC APIs. It is
229 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
230 # three pieces of data: error code, error message, and error details.
231 #
232 # You can find out more about this error model and how to work with it in the
233 # [API Design Guide](https://cloud.google.com/apis/design/errors).
234 "message": "A String", # A developer-facing error message, which should be in English. Any
235 # user-facing error message should be localized and sent in the
236 # google.rpc.Status.details field, or localized by the client.
237 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
238 "details": [ # A list of messages that carry the error details. There is a common set of
239 # message types for APIs to use.
240 {
241 "a_key": "", # Properties of the object. Contains field @type with type URL.
242 },
243 ],
244 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700245 "done": True or False, # If the value is `false`, it means the operation is still in progress.
246 # If `true`, the operation is completed, and either `error` or `response` is
247 # available.
248 "response": { # The normal response of the operation in case of success. If the original
249 # method returns no data on success, such as `Delete`, the response is
250 # `google.protobuf.Empty`. If the original method is standard
251 # `Get`/`Create`/`Update`, the response should be the resource. For other
252 # methods, the response should have the type `XxxResponse`, where `Xxx`
253 # is the original method name. For example, if the original method name
254 # is `TakeSnapshot()`, the inferred response type is
255 # `TakeSnapshotResponse`.
256 "a_key": "", # Properties of the object. Contains field @type with type URL.
257 },
258 "name": "A String", # The server-assigned name, which is only unique within the same service that
259 # originally returns it. If you use the default HTTP mapping, the
260 # `name` should be a resource name ending with `operations/{unique_id}`.
261 "metadata": { # Service-specific metadata associated with the operation. It typically
262 # contains progress information and common metadata such as create time.
263 # Some services might not provide such metadata. Any method that returns a
264 # long-running operation should document the metadata type, if any.
265 "a_key": "", # Properties of the object. Contains field @type with type URL.
266 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700267 }</pre>
268</div>
269
270<div class="method">
271 <code class="details" id="enable">enable(name, body=None, x__xgafv=None)</code>
272 <pre>Enable a service so that it can be used with a project.
273
Dan O'Mearadd494642020-05-01 07:42:23 -0700274Operation&lt;response: google.protobuf.Empty&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700275
276Args:
277 name: string, Name of the consumer and service to enable the service on.
278
279The `EnableService` and `DisableService` methods currently only support
280projects.
281
282Enabling a service requires that the service is public or is shared with
283the user enabling the service.
284
285An example name would be:
286`projects/123/services/serviceusage.googleapis.com`
287where `123` is the project number (not project ID). (required)
288 body: object, The request body.
289 The object takes the form of:
290
291{ # Request message for the `EnableService` method.
292 }
293
294 x__xgafv: string, V1 error format.
295 Allowed values
296 1 - v1 error format
297 2 - v2 error format
298
299Returns:
300 An object of the form:
301
302 { # This resource represents a long-running operation that is the result of a
303 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700304 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
305 # different programming environments, including REST APIs and RPC APIs. It is
306 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
307 # three pieces of data: error code, error message, and error details.
308 #
309 # You can find out more about this error model and how to work with it in the
310 # [API Design Guide](https://cloud.google.com/apis/design/errors).
311 "message": "A String", # A developer-facing error message, which should be in English. Any
312 # user-facing error message should be localized and sent in the
313 # google.rpc.Status.details field, or localized by the client.
314 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
315 "details": [ # A list of messages that carry the error details. There is a common set of
316 # message types for APIs to use.
317 {
318 "a_key": "", # Properties of the object. Contains field @type with type URL.
319 },
320 ],
321 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700322 "done": True or False, # If the value is `false`, it means the operation is still in progress.
323 # If `true`, the operation is completed, and either `error` or `response` is
324 # available.
325 "response": { # The normal response of the operation in case of success. If the original
326 # method returns no data on success, such as `Delete`, the response is
327 # `google.protobuf.Empty`. If the original method is standard
328 # `Get`/`Create`/`Update`, the response should be the resource. For other
329 # methods, the response should have the type `XxxResponse`, where `Xxx`
330 # is the original method name. For example, if the original method name
331 # is `TakeSnapshot()`, the inferred response type is
332 # `TakeSnapshotResponse`.
333 "a_key": "", # Properties of the object. Contains field @type with type URL.
334 },
335 "name": "A String", # The server-assigned name, which is only unique within the same service that
336 # originally returns it. If you use the default HTTP mapping, the
337 # `name` should be a resource name ending with `operations/{unique_id}`.
338 "metadata": { # Service-specific metadata associated with the operation. It typically
339 # contains progress information and common metadata such as create time.
340 # Some services might not provide such metadata. Any method that returns a
341 # long-running operation should document the metadata type, if any.
342 "a_key": "", # Properties of the object. Contains field @type with type URL.
343 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700344 }</pre>
345</div>
346
347<div class="method">
348 <code class="details" id="get">get(name, x__xgafv=None)</code>
349 <pre>Returns the service configuration and enabled state for a given service.
350
351Args:
352 name: string, Name of the consumer and service to get the `ConsumerState` for.
353
354An example name would be:
355`projects/123/services/serviceusage.googleapis.com`
356where `123` is the project number (not project ID). (required)
357 x__xgafv: string, V1 error format.
358 Allowed values
359 1 - v1 error format
360 2 - v2 error format
361
362Returns:
363 An object of the form:
364
365 { # A service that is available for use by the consumer.
366 "state": "A String", # Whether or not the service has been enabled for use by the consumer.
367 "config": { # The configuration of the service. # The service configuration of the available service.
368 # Some fields may be filtered out of the configuration in responses to
369 # the `ListServices` method. These fields are present only in responses to
370 # the `GetService` method.
Dan O'Mearadd494642020-05-01 07:42:23 -0700371 "documentation": { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
372 # documentation URL.
373 #
374 # Example:
375 # &lt;pre&gt;&lt;code&gt;documentation:
376 # summary: &gt;
377 # The Google Calendar API gives access
378 # to most calendar features.
379 # pages:
380 # - name: Overview
381 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
382 # - name: Tutorial
383 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
384 # subpages;
385 # - name: Java
386 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
387 # rules:
388 # - selector: google.calendar.Calendar.Get
389 # description: &gt;
390 # ...
391 # - selector: google.calendar.Calendar.Put
392 # description: &gt;
393 # ...
394 # &lt;/code&gt;&lt;/pre&gt;
395 # Documentation is provided in markdown syntax. In addition to
396 # standard markdown features, definition lists, tables and fenced
397 # code blocks are supported. Section headers can be provided and are
398 # interpreted relative to the section nesting of the context where
399 # a documentation fragment is embedded.
400 #
401 # Documentation from the IDL is merged with documentation defined
402 # via the config at normalization time, where documentation provided
403 # by config rules overrides IDL provided.
404 #
405 # A number of constructs specific to the API platform are supported
406 # in documentation text.
407 #
408 # In order to reference a proto element, the following
409 # notation can be used:
410 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
411 # To override the display text used for the link, this can be used:
412 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
413 # Text can be excluded from doc using the following notation:
414 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
415 #
416 # A few directives are available in documentation. Note that
417 # directives must appear on a single line to be properly
418 # identified. The `include` directive includes a markdown file from
419 # an external source:
420 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
421 # The `resource_for` directive marks a message to be the resource of
422 # a collection in REST view. If it is not specified, tools attempt
423 # to infer the resource from the operations in a collection:
424 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
425 # The directive `suppress_warning` does not directly affect documentation
426 # and is documented together with service config validation.
427 "rules": [ # A list of documentation rules that apply to individual API elements.
428 #
429 # **NOTE:** All service configuration rules follow "last one wins" order.
430 { # A documentation rule provides information about individual API elements.
431 "description": "A String", # Description of the selected API(s).
432 "deprecationDescription": "A String", # Deprecation description of the selected element(s). It can be provided if
433 # an element is marked as `deprecated`.
434 "selector": "A String", # The selector is a comma-separated list of patterns. Each pattern is a
435 # qualified name of the element which may end in "*", indicating a wildcard.
436 # Wildcards are only allowed at the end and for a whole component of the
437 # qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
438 # wildcard will match one or more components. To specify a default for all
439 # applicable elements, the whole pattern "*" is used.
440 },
441 ],
442 "documentationRootUrl": "A String", # The URL to the root of documentation.
443 "summary": "A String", # A short summary of what the service does. Can only be provided by
444 # plain text.
445 "serviceRootUrl": "A String", # Specifies the service root url if the default one (the service name
446 # from the yaml file) is not suitable. This can be seen in any fully
447 # specified service urls as well as sections that show a base that other
448 # urls are relative to.
449 "overview": "A String", # Declares a single overview page. For example:
450 # &lt;pre&gt;&lt;code&gt;documentation:
451 # summary: ...
452 # overview: &amp;#40;== include overview.md ==&amp;#41;
453 # &lt;/code&gt;&lt;/pre&gt;
454 # This is a shortcut for the following declaration (using pages style):
455 # &lt;pre&gt;&lt;code&gt;documentation:
456 # summary: ...
457 # pages:
458 # - name: Overview
459 # content: &amp;#40;== include overview.md ==&amp;#41;
460 # &lt;/code&gt;&lt;/pre&gt;
461 # Note: you cannot specify both `overview` field and `pages` field.
462 "pages": [ # The top level pages for the documentation set.
463 { # Represents a documentation page. A page can contain subpages to represent
464 # nested documentation set structure.
465 "content": "A String", # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
466 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
467 "subpages": [ # Subpages of this page. The order of subpages specified here will be
468 # honored in the generated docset.
469 # Object with schema name: Page
470 ],
471 "name": "A String", # The name of the page. It will be used as an identity of the page to
472 # generate URI of the page, text of the link to this page in navigation,
473 # etc. The full page name (start from the root page name to this page
474 # concatenated with `.`) can be used as reference to the page in your
475 # documentation. For example:
476 # &lt;pre&gt;&lt;code&gt;pages:
477 # - name: Tutorial
478 # content: &amp;#40;== include tutorial.md ==&amp;#41;
479 # subpages:
480 # - name: Java
481 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
482 # &lt;/code&gt;&lt;/pre&gt;
483 # You can reference `Java` page using Markdown reference link syntax:
484 # `Java`.
485 },
486 ],
487 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700488 "name": "A String", # The DNS address at which this service is available.
489 #
490 # An example DNS address would be:
491 # `calendar.googleapis.com`.
Dan O'Mearadd494642020-05-01 07:42:23 -0700492 "title": "A String", # The product title for this service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700493 "apis": [ # A list of API interfaces exported by this service. Contains only the names,
494 # versions, and method names of the interfaces.
495 { # Api is a light-weight descriptor for an API Interface.
496 #
497 # Interfaces are also described as "protocol buffer services" in some contexts,
498 # such as by the "service" keyword in a .proto file, but they are different
499 # from API Services, which represent a concrete implementation of an interface
500 # as opposed to simply a description of methods and bindings. They are also
501 # sometimes simply referred to as "APIs" in other contexts, such as the name of
502 # this message itself. See https://cloud.google.com/apis/design/glossary for
503 # detailed terminology.
504 "name": "A String", # The fully qualified name of this interface, including package name
505 # followed by the interface's simple name.
506 "sourceContext": { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
507 # message.
508 # protobuf element, like the file in which it is defined.
509 "fileName": "A String", # The path-qualified name of the .proto file that contained the associated
510 # protobuf element. For example: `"google/protobuf/source_context.proto"`.
511 },
512 "mixins": [ # Included interfaces. See Mixin.
513 { # Declares an API Interface to be included in this interface. The including
514 # interface must redeclare all the methods from the included interface, but
515 # documentation and options are inherited as follows:
516 #
517 # - If after comment and whitespace stripping, the documentation
518 # string of the redeclared method is empty, it will be inherited
519 # from the original method.
520 #
521 # - Each annotation belonging to the service config (http,
522 # visibility) which is not set in the redeclared method will be
523 # inherited.
524 #
525 # - If an http annotation is inherited, the path pattern will be
526 # modified as follows. Any version prefix will be replaced by the
527 # version of the including interface plus the root path if
528 # specified.
529 #
530 # Example of a simple mixin:
531 #
532 # package google.acl.v1;
533 # service AccessControl {
534 # // Get the underlying ACL object.
535 # rpc GetAcl(GetAclRequest) returns (Acl) {
536 # option (google.api.http).get = "/v1/{resource=**}:getAcl";
537 # }
538 # }
539 #
540 # package google.storage.v2;
541 # service Storage {
542 # // rpc GetAcl(GetAclRequest) returns (Acl);
543 #
544 # // Get a data record.
545 # rpc GetData(GetDataRequest) returns (Data) {
546 # option (google.api.http).get = "/v2/{resource=**}";
547 # }
548 # }
549 #
550 # Example of a mixin configuration:
551 #
552 # apis:
553 # - name: google.storage.v2.Storage
554 # mixins:
555 # - name: google.acl.v1.AccessControl
556 #
557 # The mixin construct implies that all methods in `AccessControl` are
558 # also declared with same name and request/response types in
559 # `Storage`. A documentation generator or annotation processor will
560 # see the effective `Storage.GetAcl` method after inherting
561 # documentation and annotations as follows:
562 #
563 # service Storage {
564 # // Get the underlying ACL object.
565 # rpc GetAcl(GetAclRequest) returns (Acl) {
566 # option (google.api.http).get = "/v2/{resource=**}:getAcl";
567 # }
568 # ...
569 # }
570 #
571 # Note how the version in the path pattern changed from `v1` to `v2`.
572 #
573 # If the `root` field in the mixin is specified, it should be a
574 # relative path under which inherited HTTP paths are placed. Example:
575 #
576 # apis:
577 # - name: google.storage.v2.Storage
578 # mixins:
579 # - name: google.acl.v1.AccessControl
580 # root: acls
581 #
582 # This implies the following inherited HTTP annotation:
583 #
584 # service Storage {
585 # // Get the underlying ACL object.
586 # rpc GetAcl(GetAclRequest) returns (Acl) {
587 # option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
588 # }
589 # ...
590 # }
591 "root": "A String", # If non-empty specifies a path under which inherited HTTP paths
592 # are rooted.
593 "name": "A String", # The fully qualified name of the interface which is included.
594 },
595 ],
596 "syntax": "A String", # The source syntax of the service.
597 "version": "A String", # A version string for this interface. If specified, must have the form
598 # `major-version.minor-version`, as in `1.10`. If the minor version is
599 # omitted, it defaults to zero. If the entire version field is empty, the
600 # major version is derived from the package name, as outlined below. If the
601 # field is not empty, the version in the package name will be verified to be
602 # consistent with what is provided here.
603 #
604 # The versioning schema uses [semantic
605 # versioning](http://semver.org) where the major version number
606 # indicates a breaking change and the minor version an additive,
607 # non-breaking change. Both version numbers are signals to users
608 # what to expect from different versions, and should be carefully
609 # chosen based on the product plan.
610 #
611 # The major version is also reflected in the package name of the
Dan O'Mearadd494642020-05-01 07:42:23 -0700612 # interface, which must end in `v&lt;major-version&gt;`, as in
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700613 # `google.feature.v1`. For major versions 0 and 1, the suffix can
614 # be omitted. Zero major versions must only be used for
615 # experimental, non-GA interfaces.
616 "options": [ # Any metadata attached to the interface.
617 { # A protocol buffer option, which can be attached to a message, field,
618 # enumeration, etc.
619 "name": "A String", # The option's name. For protobuf built-in options (options defined in
620 # descriptor.proto), this is the short name. For example, `"map_entry"`.
621 # For custom options, it should be the fully-qualified name. For example,
622 # `"google.api.http"`.
623 "value": { # The option's value packed in an Any message. If the value is a primitive,
624 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
625 # should be used. If the value is an enum, it should be stored as an int32
626 # value using the google.protobuf.Int32Value type.
627 "a_key": "", # Properties of the object. Contains field @type with type URL.
628 },
629 },
630 ],
631 "methods": [ # The methods of this interface, in unspecified order.
632 { # Method represents a method of an API interface.
633 "name": "A String", # The simple name of this method.
634 "requestStreaming": True or False, # If true, the request is streamed.
635 "responseTypeUrl": "A String", # The URL of the output message type.
636 "requestTypeUrl": "A String", # A URL of the input message type.
637 "responseStreaming": True or False, # If true, the response is streamed.
638 "syntax": "A String", # The source syntax of this method.
639 "options": [ # Any metadata attached to the method.
640 { # A protocol buffer option, which can be attached to a message, field,
641 # enumeration, etc.
642 "name": "A String", # The option's name. For protobuf built-in options (options defined in
643 # descriptor.proto), this is the short name. For example, `"map_entry"`.
644 # For custom options, it should be the fully-qualified name. For example,
645 # `"google.api.http"`.
646 "value": { # The option's value packed in an Any message. If the value is a primitive,
647 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
648 # should be used. If the value is an enum, it should be stored as an int32
649 # value using the google.protobuf.Int32Value type.
650 "a_key": "", # Properties of the object. Contains field @type with type URL.
651 },
652 },
653 ],
654 },
655 ],
656 },
657 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700658 "quota": { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
659 # usage.
660 #
661 # The metric based quota configuration works this way:
662 # - The service configuration defines a set of metrics.
663 # - For API calls, the quota.metric_rules maps methods to metrics with
664 # corresponding costs.
665 # - The quota.limits defines limits on the metrics, which will be used for
666 # quota checks at runtime.
667 #
668 # An example quota configuration in yaml format:
669 #
670 # quota:
671 # limits:
672 #
673 # - name: apiWriteQpsPerProject
674 # metric: library.googleapis.com/write_calls
675 # unit: "1/min/{project}" # rate limit for consumer projects
676 # values:
677 # STANDARD: 10000
678 #
679 #
680 # # The metric rules bind all methods to the read_calls metric,
681 # # except for the UpdateBook and DeleteBook methods. These two methods
682 # # are mapped to the write_calls metric, with the UpdateBook method
683 # # consuming at twice rate as the DeleteBook method.
684 # metric_rules:
685 # - selector: "*"
686 # metric_costs:
687 # library.googleapis.com/read_calls: 1
688 # - selector: google.example.library.v1.LibraryService.UpdateBook
689 # metric_costs:
690 # library.googleapis.com/write_calls: 2
691 # - selector: google.example.library.v1.LibraryService.DeleteBook
692 # metric_costs:
693 # library.googleapis.com/write_calls: 1
694 #
695 # Corresponding Metric definition:
696 #
697 # metrics:
698 # - name: library.googleapis.com/read_calls
699 # display_name: Read requests
700 # metric_kind: DELTA
701 # value_type: INT64
702 #
703 # - name: library.googleapis.com/write_calls
704 # display_name: Write requests
705 # metric_kind: DELTA
706 # value_type: INT64
707 #
708 "metricRules": [ # List of `MetricRule` definitions, each one mapping a selected method to one
709 # or more metrics.
710 { # Bind API methods to metrics. Binding a method to a metric causes that
711 # metric's configured quota behaviors to apply to the method call.
712 "metricCosts": { # Metrics to update when the selected methods are called, and the associated
713 # cost applied to each metric.
714 #
715 # The key of the map is the metric name, and the values are the amount
716 # increased for the metric against which the quota limits are defined.
717 # The value must not be negative.
718 "a_key": "A String",
719 },
720 "selector": "A String", # Selects the methods to which this rule applies.
721 #
722 # Refer to selector for syntax details.
723 },
724 ],
725 "limits": [ # List of `QuotaLimit` definitions for the service.
726 { # `QuotaLimit` defines a specific limit that applies over a specified duration
727 # for a limit type. There can be at most one limit for a duration and limit
728 # type combination defined within a `QuotaGroup`.
729 "displayName": "A String", # User-visible display name for this limit.
730 # Optional. If not set, the UI will provide a default display name based on
731 # the quota configuration. This field can be used to override the default
732 # display name generated from the configuration.
733 "name": "A String", # Name of the quota limit.
734 #
735 # The name must be provided, and it must be unique within the service. The
736 # name can only include alphanumeric characters as well as '-'.
737 #
738 # The maximum length of the limit name is 64 characters.
739 "defaultLimit": "A String", # Default number of tokens that can be consumed during the specified
740 # duration. This is the number of tokens assigned when a client
741 # application developer activates the service for his/her project.
742 #
743 # Specifying a value of 0 will block all requests. This can be used if you
744 # are provisioning quota to selected consumers and blocking others.
745 # Similarly, a value of -1 will indicate an unlimited quota. No other
746 # negative values are allowed.
747 #
748 # Used by group-based quotas only.
749 "metric": "A String", # The name of the metric this quota limit applies to. The quota limits with
750 # the same metric will be checked together during runtime. The metric must be
751 # defined within the service config.
752 "values": { # Tiered limit values. You must specify this as a key:value pair, with an
753 # integer value that is the maximum number of requests allowed for the
754 # specified unit. Currently only STANDARD is supported.
755 "a_key": "A String",
756 },
757 "maxLimit": "A String", # Maximum number of tokens that can be consumed during the specified
758 # duration. Client application developers can override the default limit up
759 # to this maximum. If specified, this value cannot be set to a value less
760 # than the default limit. If not specified, it is set to the default limit.
761 #
762 # To allow clients to apply overrides with no upper bound, set this to -1,
763 # indicating unlimited maximum quota.
764 #
765 # Used by group-based quotas only.
Dan O'Mearadd494642020-05-01 07:42:23 -0700766 "duration": "A String", # Duration of this limit in textual notation. Must be "100s" or "1d".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700767 #
768 # Used by group-based quotas only.
769 "freeTier": "A String", # Free tier value displayed in the Developers Console for this limit.
770 # The free tier is the number of tokens that will be subtracted from the
771 # billed amount when billing is enabled.
772 # This field can only be set on a limit with duration "1d", in a billable
773 # group; it is invalid on any other limit. If this field is not set, it
774 # defaults to 0, indicating that there is no free tier for this service.
775 #
776 # Used by group-based quotas only.
777 "unit": "A String", # Specify the unit of the quota limit. It uses the same syntax as
778 # Metric.unit. The supported unit kinds are determined by the quota
779 # backend system.
780 #
781 # Here are some examples:
782 # * "1/min/{project}" for quota per minute per project.
783 #
784 # Note: the order of unit components is insignificant.
785 # The "1" at the beginning is required to follow the metric unit syntax.
786 "description": "A String", # Optional. User-visible, extended description for this quota limit.
787 # Should be used only when more context is needed to understand this limit
788 # than provided by the limit's display name (see: `display_name`).
789 },
790 ],
791 },
792 "authentication": { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
793 #
794 # Example for an API targeted for external use:
795 #
796 # name: calendar.googleapis.com
797 # authentication:
798 # providers:
799 # - id: google_calendar_auth
800 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
801 # issuer: https://securetoken.google.com
802 # rules:
803 # - selector: "*"
804 # requirements:
805 # provider_id: google_calendar_auth
806 "rules": [ # A list of authentication rules that apply to individual API methods.
807 #
808 # **NOTE:** All service configuration rules follow "last one wins" order.
809 { # Authentication rules for the service.
810 #
811 # By default, if a method has any authentication requirements, every request
812 # must include a valid credential matching one of the requirements.
813 # It's an error to include more than one kind of credential in a single
814 # request.
815 #
816 # If a method doesn't have any auth requirements, request credentials will be
817 # ignored.
818 "oauth": { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
819 # there are scopes defined for "Read-only access to Google Calendar" and
820 # "Access to Cloud Platform". Users can consent to a scope for an application,
821 # giving it permission to access that data on their behalf.
822 #
823 # OAuth scope specifications should be fairly coarse grained; a user will need
824 # to see and understand the text description of what your scope means.
825 #
826 # In most cases: use one or at most two OAuth scopes for an entire family of
827 # products. If your product has multiple APIs, you should probably be sharing
828 # the OAuth scope across all of those APIs.
829 #
830 # When you need finer grained OAuth consent screens: talk with your product
831 # management about how developers will use them in practice.
832 #
833 # Please note that even though each of the canonical scopes is enough for a
834 # request to be accepted and passed to the backend, a request can still fail
835 # due to the backend requiring additional scopes or permissions.
836 "canonicalScopes": "A String", # The list of publicly documented OAuth scopes that are allowed access. An
837 # OAuth token containing any of these scopes will be accepted.
838 #
839 # Example:
840 #
841 # canonical_scopes: https://www.googleapis.com/auth/calendar,
842 # https://www.googleapis.com/auth/calendar.read
843 },
844 "allowWithoutCredential": True or False, # If true, the service accepts API keys without any other credential.
845 "requirements": [ # Requirements for additional authentication providers.
846 { # User-defined authentication requirements, including support for
847 # [JSON Web Token
848 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
849 "providerId": "A String", # id from authentication provider.
850 #
851 # Example:
852 #
853 # provider_id: bookstore_auth
854 "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
855 # implemented and accepted in all the runtime components.
856 #
857 # The list of JWT
858 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
859 # that are allowed to access. A JWT containing any of these audiences will
860 # be accepted. When this setting is absent, only JWTs with audience
861 # "https://Service_name/API_name"
862 # will be accepted. For example, if no audiences are in the setting,
863 # LibraryService API will only accept JWTs with the following audience
864 # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
865 #
866 # Example:
867 #
868 # audiences: bookstore_android.apps.googleusercontent.com,
869 # bookstore_web.apps.googleusercontent.com
870 },
871 ],
872 "selector": "A String", # Selects the methods to which this rule applies.
873 #
874 # Refer to selector for syntax details.
875 },
876 ],
877 "providers": [ # Defines a set of authentication providers that a service supports.
878 { # Configuration for an authentication provider, including support for
879 # [JSON Web Token
880 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Dan O'Mearadd494642020-05-01 07:42:23 -0700881 "jwtLocations": [ # Defines the locations to extract the JWT.
882 #
883 # JWT locations can be either from HTTP headers or URL query parameters.
884 # The rule is that the first match wins. The checking order is: checking
885 # all headers first, then URL query parameters.
886 #
887 # If not specified, default to use following 3 locations:
888 # 1) Authorization: Bearer
889 # 2) x-goog-iap-jwt-assertion
890 # 3) access_token query parameter
891 #
892 # Default locations can be specified as followings:
893 # jwt_locations:
894 # - header: Authorization
895 # value_prefix: "Bearer "
896 # - header: x-goog-iap-jwt-assertion
897 # - query: access_token
898 { # Specifies a location to extract JWT from an API request.
899 "header": "A String", # Specifies HTTP header name to extract JWT token.
900 "valuePrefix": "A String", # The value prefix. The value format is "value_prefix{token}"
901 # Only applies to "in" header type. Must be empty for "in" query type.
902 # If not empty, the header value has to match (case sensitive) this prefix.
903 # If not matched, JWT will not be extracted. If matched, JWT will be
904 # extracted after the prefix is removed.
905 #
906 # For example, for "Authorization: Bearer {JWT}",
907 # value_prefix="Bearer " with a space at the end.
908 "query": "A String", # Specifies URL query parameter name to extract JWT token.
909 },
910 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700911 "audiences": "A String", # The list of JWT
912 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
913 # that are allowed to access. A JWT containing any of these audiences will
Dan O'Mearadd494642020-05-01 07:42:23 -0700914 # be accepted. When this setting is absent, JWTs with audiences:
915 # - "https://[service.name]/[google.protobuf.Api.name]"
916 # - "https://[service.name]/"
917 # will be accepted.
918 # For example, if no audiences are in the setting, LibraryService API will
919 # accept JWTs with the following audiences:
920 # -
921 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
922 # - https://library-example.googleapis.com/
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700923 #
924 # Example:
925 #
926 # audiences: bookstore_android.apps.googleusercontent.com,
927 # bookstore_web.apps.googleusercontent.com
928 "jwksUri": "A String", # URL of the provider's public key set to validate signature of the JWT. See
929 # [OpenID
930 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
931 # Optional if the key set document:
932 # - can be retrieved from
933 # [OpenID
934 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
935 # the issuer.
936 # - can be inferred from the email domain of the issuer (e.g. a Google
937 # service account).
938 #
939 # Example: https://www.googleapis.com/oauth2/v1/certs
940 "id": "A String", # The unique identifier of the auth provider. It will be referred to by
941 # `AuthRequirement.provider_id`.
942 #
943 # Example: "bookstore_auth".
944 "authorizationUrl": "A String", # Redirect URL if JWT token is required but not present or is expired.
945 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
946 "issuer": "A String", # Identifies the principal that issued the JWT. See
947 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
948 # Usually a URL or an email address.
949 #
950 # Example: https://securetoken.google.com
951 # Example: 1234567-compute@developer.gserviceaccount.com
952 },
953 ],
954 },
955 "usage": { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
956 "rules": [ # A list of usage rules that apply to individual API methods.
957 #
958 # **NOTE:** All service configuration rules follow "last one wins" order.
959 { # Usage configuration rules for the service.
960 #
961 # NOTE: Under development.
962 #
963 #
964 # Use this rule to configure unregistered calls for the service. Unregistered
965 # calls are calls that do not contain consumer project identity.
966 # (Example: calls that do not contain an API key).
967 # By default, API methods do not allow unregistered calls, and each method call
968 # must be identified by a consumer project identity. Use this rule to
969 # allow/disallow unregistered calls.
970 #
971 # Example of an API that wants to allow unregistered calls for entire service.
972 #
973 # usage:
974 # rules:
975 # - selector: "*"
976 # allow_unregistered_calls: true
977 #
978 # Example of a method that wants to allow unregistered calls.
979 #
980 # usage:
981 # rules:
982 # - selector: "google.example.library.v1.LibraryService.CreateBook"
983 # allow_unregistered_calls: true
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700984 "skipServiceControl": True or False, # If true, the selected method should skip service control and the control
985 # plane features, such as quota and billing, will not be available.
986 # This flag is used by Google Cloud Endpoints to bypass checks for internal
987 # methods, such as service health check methods.
988 "allowUnregisteredCalls": True or False, # If true, the selected method allows unregistered calls, e.g. calls
989 # that don't identify any user or application.
Dan O'Mearadd494642020-05-01 07:42:23 -0700990 "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
991 # methods in all APIs.
992 #
993 # Refer to selector for syntax details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700994 },
995 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700996 "serviceIdentity": { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
997 #
998 #
999 # Use this field to configure per-product per-project service identity.
1000 # Example of a service identity configuration.
1001 #
1002 # usage:
1003 # service_identity:
1004 # - service_account_parent: "projects/123456789"
1005 # display_name: "Cloud XXX Service Agent"
1006 # description: "Used as the identity of Cloud XXX to access resources"
1007 "displayName": "A String", # Optional. A user-specified name for the service account.
1008 # Must be less than or equal to 100 UTF-8 bytes.
1009 "description": "A String", # Optional. A user-specified opaque description of the service account.
1010 # Must be less than or equal to 256 UTF-8 bytes.
1011 "serviceAccountParent": "A String", # A service account project that hosts the service accounts.
1012 #
1013 # An example name would be:
1014 # `projects/123456789`
1015 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001016 "producerNotificationChannel": "A String", # The full resource name of a channel used for sending notifications to the
1017 # service producer.
1018 #
1019 # Google Service Management currently only supports
1020 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
1021 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
1022 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
1023 # documented in https://cloud.google.com/pubsub/docs/overview.
1024 "requirements": [ # Requirements that must be satisfied before a consumer project can use the
Dan O'Mearadd494642020-05-01 07:42:23 -07001025 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001026 # for example 'serviceusage.googleapis.com/billing-enabled'.
1027 "A String",
1028 ],
1029 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001030 "endpoints": [ # Configuration for network endpoints. Contains only the names and aliases
1031 # of the endpoints.
1032 { # `Endpoint` describes a network endpoint that serves a set of APIs.
1033 # A service may expose any number of endpoints, and all endpoints share the
1034 # same service configuration, such as quota configuration and monitoring
1035 # configuration.
1036 #
1037 # Example service configuration:
1038 #
1039 # name: library-example.googleapis.com
1040 # endpoints:
1041 # # Below entry makes 'google.example.library.v1.Library'
1042 # # API be served from endpoint address library-example.googleapis.com.
1043 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
1044 # # it to decide whether the subsequent cross-origin request is
1045 # # allowed to proceed.
1046 # - name: library-example.googleapis.com
1047 # allow_cors: true
1048 "allowCors": True or False, # Allowing
1049 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
1050 # cross-domain traffic, would allow the backends served from this endpoint to
1051 # receive and respond to HTTP OPTIONS requests. The response will be used by
1052 # the browser to determine whether the subsequent cross-origin request is
1053 # allowed to proceed.
1054 "target": "A String", # The specification of an Internet routable address of API frontend that will
1055 # handle requests to this [API
1056 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
1057 # either a valid IPv4 address or a fully-qualified domain name. For example,
1058 # "8.8.8.8" or "myservice.appspot.com".
1059 "features": [ # The list of features enabled on this endpoint.
1060 "A String",
1061 ],
1062 "name": "A String", # The canonical name of this endpoint.
1063 "aliases": [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
1064 # please specify multiple google.api.Endpoint for each of the intended
1065 # aliases.
1066 #
1067 # Additional names that this endpoint will be hosted on.
1068 "A String",
1069 ],
1070 },
1071 ],
1072 },
1073 "name": "A String", # The resource name of the consumer and service.
1074 #
1075 # A valid name would be:
1076 # - projects/123/services/serviceusage.googleapis.com
1077 "parent": "A String", # The resource name of the consumer.
1078 #
1079 # A valid name would be:
1080 # - projects/123
1081 }</pre>
1082</div>
1083
1084<div class="method">
1085 <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
1086 <pre>List all services available to the specified project, and the current
1087state of those services with respect to the project. The list includes
1088all public services, all services for which the calling user has the
1089`servicemanagement.services.bind` permission, and all services that have
1090already been enabled on the project. The list can be filtered to
1091only include services in a specific state, for example to only include
1092services enabled on the project.
1093
1094Args:
1095 parent: string, Parent to search for services on.
1096
1097An example name would be:
1098`projects/123`
1099where `123` is the project number (not project ID). (required)
1100 pageToken: string, Token identifying which result to start with, which is returned by a
1101previous list call.
1102 x__xgafv: string, V1 error format.
1103 Allowed values
1104 1 - v1 error format
1105 2 - v2 error format
1106 pageSize: integer, Requested size of the next page of data.
1107Requested page size cannot exceed 200.
1108 If not set, the default page size is 50.
1109 filter: string, Only list services that conform to the given filter.
1110The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
1111
1112Returns:
1113 An object of the form:
1114
1115 { # Response message for the `ListServices` method.
1116 "services": [ # The available services for the requested project.
1117 { # A service that is available for use by the consumer.
1118 "state": "A String", # Whether or not the service has been enabled for use by the consumer.
1119 "config": { # The configuration of the service. # The service configuration of the available service.
1120 # Some fields may be filtered out of the configuration in responses to
1121 # the `ListServices` method. These fields are present only in responses to
1122 # the `GetService` method.
Dan O'Mearadd494642020-05-01 07:42:23 -07001123 "documentation": { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
1124 # documentation URL.
1125 #
1126 # Example:
1127 # &lt;pre&gt;&lt;code&gt;documentation:
1128 # summary: &gt;
1129 # The Google Calendar API gives access
1130 # to most calendar features.
1131 # pages:
1132 # - name: Overview
1133 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
1134 # - name: Tutorial
1135 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
1136 # subpages;
1137 # - name: Java
1138 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
1139 # rules:
1140 # - selector: google.calendar.Calendar.Get
1141 # description: &gt;
1142 # ...
1143 # - selector: google.calendar.Calendar.Put
1144 # description: &gt;
1145 # ...
1146 # &lt;/code&gt;&lt;/pre&gt;
1147 # Documentation is provided in markdown syntax. In addition to
1148 # standard markdown features, definition lists, tables and fenced
1149 # code blocks are supported. Section headers can be provided and are
1150 # interpreted relative to the section nesting of the context where
1151 # a documentation fragment is embedded.
1152 #
1153 # Documentation from the IDL is merged with documentation defined
1154 # via the config at normalization time, where documentation provided
1155 # by config rules overrides IDL provided.
1156 #
1157 # A number of constructs specific to the API platform are supported
1158 # in documentation text.
1159 #
1160 # In order to reference a proto element, the following
1161 # notation can be used:
1162 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
1163 # To override the display text used for the link, this can be used:
1164 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
1165 # Text can be excluded from doc using the following notation:
1166 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1167 #
1168 # A few directives are available in documentation. Note that
1169 # directives must appear on a single line to be properly
1170 # identified. The `include` directive includes a markdown file from
1171 # an external source:
1172 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1173 # The `resource_for` directive marks a message to be the resource of
1174 # a collection in REST view. If it is not specified, tools attempt
1175 # to infer the resource from the operations in a collection:
1176 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1177 # The directive `suppress_warning` does not directly affect documentation
1178 # and is documented together with service config validation.
1179 "rules": [ # A list of documentation rules that apply to individual API elements.
1180 #
1181 # **NOTE:** All service configuration rules follow "last one wins" order.
1182 { # A documentation rule provides information about individual API elements.
1183 "description": "A String", # Description of the selected API(s).
1184 "deprecationDescription": "A String", # Deprecation description of the selected element(s). It can be provided if
1185 # an element is marked as `deprecated`.
1186 "selector": "A String", # The selector is a comma-separated list of patterns. Each pattern is a
1187 # qualified name of the element which may end in "*", indicating a wildcard.
1188 # Wildcards are only allowed at the end and for a whole component of the
1189 # qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
1190 # wildcard will match one or more components. To specify a default for all
1191 # applicable elements, the whole pattern "*" is used.
1192 },
1193 ],
1194 "documentationRootUrl": "A String", # The URL to the root of documentation.
1195 "summary": "A String", # A short summary of what the service does. Can only be provided by
1196 # plain text.
1197 "serviceRootUrl": "A String", # Specifies the service root url if the default one (the service name
1198 # from the yaml file) is not suitable. This can be seen in any fully
1199 # specified service urls as well as sections that show a base that other
1200 # urls are relative to.
1201 "overview": "A String", # Declares a single overview page. For example:
1202 # &lt;pre&gt;&lt;code&gt;documentation:
1203 # summary: ...
1204 # overview: &amp;#40;== include overview.md ==&amp;#41;
1205 # &lt;/code&gt;&lt;/pre&gt;
1206 # This is a shortcut for the following declaration (using pages style):
1207 # &lt;pre&gt;&lt;code&gt;documentation:
1208 # summary: ...
1209 # pages:
1210 # - name: Overview
1211 # content: &amp;#40;== include overview.md ==&amp;#41;
1212 # &lt;/code&gt;&lt;/pre&gt;
1213 # Note: you cannot specify both `overview` field and `pages` field.
1214 "pages": [ # The top level pages for the documentation set.
1215 { # Represents a documentation page. A page can contain subpages to represent
1216 # nested documentation set structure.
1217 "content": "A String", # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
1218 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
1219 "subpages": [ # Subpages of this page. The order of subpages specified here will be
1220 # honored in the generated docset.
1221 # Object with schema name: Page
1222 ],
1223 "name": "A String", # The name of the page. It will be used as an identity of the page to
1224 # generate URI of the page, text of the link to this page in navigation,
1225 # etc. The full page name (start from the root page name to this page
1226 # concatenated with `.`) can be used as reference to the page in your
1227 # documentation. For example:
1228 # &lt;pre&gt;&lt;code&gt;pages:
1229 # - name: Tutorial
1230 # content: &amp;#40;== include tutorial.md ==&amp;#41;
1231 # subpages:
1232 # - name: Java
1233 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
1234 # &lt;/code&gt;&lt;/pre&gt;
1235 # You can reference `Java` page using Markdown reference link syntax:
1236 # `Java`.
1237 },
1238 ],
1239 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001240 "name": "A String", # The DNS address at which this service is available.
1241 #
1242 # An example DNS address would be:
1243 # `calendar.googleapis.com`.
Dan O'Mearadd494642020-05-01 07:42:23 -07001244 "title": "A String", # The product title for this service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001245 "apis": [ # A list of API interfaces exported by this service. Contains only the names,
1246 # versions, and method names of the interfaces.
1247 { # Api is a light-weight descriptor for an API Interface.
1248 #
1249 # Interfaces are also described as "protocol buffer services" in some contexts,
1250 # such as by the "service" keyword in a .proto file, but they are different
1251 # from API Services, which represent a concrete implementation of an interface
1252 # as opposed to simply a description of methods and bindings. They are also
1253 # sometimes simply referred to as "APIs" in other contexts, such as the name of
1254 # this message itself. See https://cloud.google.com/apis/design/glossary for
1255 # detailed terminology.
1256 "name": "A String", # The fully qualified name of this interface, including package name
1257 # followed by the interface's simple name.
1258 "sourceContext": { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
1259 # message.
1260 # protobuf element, like the file in which it is defined.
1261 "fileName": "A String", # The path-qualified name of the .proto file that contained the associated
1262 # protobuf element. For example: `"google/protobuf/source_context.proto"`.
1263 },
1264 "mixins": [ # Included interfaces. See Mixin.
1265 { # Declares an API Interface to be included in this interface. The including
1266 # interface must redeclare all the methods from the included interface, but
1267 # documentation and options are inherited as follows:
1268 #
1269 # - If after comment and whitespace stripping, the documentation
1270 # string of the redeclared method is empty, it will be inherited
1271 # from the original method.
1272 #
1273 # - Each annotation belonging to the service config (http,
1274 # visibility) which is not set in the redeclared method will be
1275 # inherited.
1276 #
1277 # - If an http annotation is inherited, the path pattern will be
1278 # modified as follows. Any version prefix will be replaced by the
1279 # version of the including interface plus the root path if
1280 # specified.
1281 #
1282 # Example of a simple mixin:
1283 #
1284 # package google.acl.v1;
1285 # service AccessControl {
1286 # // Get the underlying ACL object.
1287 # rpc GetAcl(GetAclRequest) returns (Acl) {
1288 # option (google.api.http).get = "/v1/{resource=**}:getAcl";
1289 # }
1290 # }
1291 #
1292 # package google.storage.v2;
1293 # service Storage {
1294 # // rpc GetAcl(GetAclRequest) returns (Acl);
1295 #
1296 # // Get a data record.
1297 # rpc GetData(GetDataRequest) returns (Data) {
1298 # option (google.api.http).get = "/v2/{resource=**}";
1299 # }
1300 # }
1301 #
1302 # Example of a mixin configuration:
1303 #
1304 # apis:
1305 # - name: google.storage.v2.Storage
1306 # mixins:
1307 # - name: google.acl.v1.AccessControl
1308 #
1309 # The mixin construct implies that all methods in `AccessControl` are
1310 # also declared with same name and request/response types in
1311 # `Storage`. A documentation generator or annotation processor will
1312 # see the effective `Storage.GetAcl` method after inherting
1313 # documentation and annotations as follows:
1314 #
1315 # service Storage {
1316 # // Get the underlying ACL object.
1317 # rpc GetAcl(GetAclRequest) returns (Acl) {
1318 # option (google.api.http).get = "/v2/{resource=**}:getAcl";
1319 # }
1320 # ...
1321 # }
1322 #
1323 # Note how the version in the path pattern changed from `v1` to `v2`.
1324 #
1325 # If the `root` field in the mixin is specified, it should be a
1326 # relative path under which inherited HTTP paths are placed. Example:
1327 #
1328 # apis:
1329 # - name: google.storage.v2.Storage
1330 # mixins:
1331 # - name: google.acl.v1.AccessControl
1332 # root: acls
1333 #
1334 # This implies the following inherited HTTP annotation:
1335 #
1336 # service Storage {
1337 # // Get the underlying ACL object.
1338 # rpc GetAcl(GetAclRequest) returns (Acl) {
1339 # option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
1340 # }
1341 # ...
1342 # }
1343 "root": "A String", # If non-empty specifies a path under which inherited HTTP paths
1344 # are rooted.
1345 "name": "A String", # The fully qualified name of the interface which is included.
1346 },
1347 ],
1348 "syntax": "A String", # The source syntax of the service.
1349 "version": "A String", # A version string for this interface. If specified, must have the form
1350 # `major-version.minor-version`, as in `1.10`. If the minor version is
1351 # omitted, it defaults to zero. If the entire version field is empty, the
1352 # major version is derived from the package name, as outlined below. If the
1353 # field is not empty, the version in the package name will be verified to be
1354 # consistent with what is provided here.
1355 #
1356 # The versioning schema uses [semantic
1357 # versioning](http://semver.org) where the major version number
1358 # indicates a breaking change and the minor version an additive,
1359 # non-breaking change. Both version numbers are signals to users
1360 # what to expect from different versions, and should be carefully
1361 # chosen based on the product plan.
1362 #
1363 # The major version is also reflected in the package name of the
Dan O'Mearadd494642020-05-01 07:42:23 -07001364 # interface, which must end in `v&lt;major-version&gt;`, as in
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001365 # `google.feature.v1`. For major versions 0 and 1, the suffix can
1366 # be omitted. Zero major versions must only be used for
1367 # experimental, non-GA interfaces.
1368 "options": [ # Any metadata attached to the interface.
1369 { # A protocol buffer option, which can be attached to a message, field,
1370 # enumeration, etc.
1371 "name": "A String", # The option's name. For protobuf built-in options (options defined in
1372 # descriptor.proto), this is the short name. For example, `"map_entry"`.
1373 # For custom options, it should be the fully-qualified name. For example,
1374 # `"google.api.http"`.
1375 "value": { # The option's value packed in an Any message. If the value is a primitive,
1376 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1377 # should be used. If the value is an enum, it should be stored as an int32
1378 # value using the google.protobuf.Int32Value type.
1379 "a_key": "", # Properties of the object. Contains field @type with type URL.
1380 },
1381 },
1382 ],
1383 "methods": [ # The methods of this interface, in unspecified order.
1384 { # Method represents a method of an API interface.
1385 "name": "A String", # The simple name of this method.
1386 "requestStreaming": True or False, # If true, the request is streamed.
1387 "responseTypeUrl": "A String", # The URL of the output message type.
1388 "requestTypeUrl": "A String", # A URL of the input message type.
1389 "responseStreaming": True or False, # If true, the response is streamed.
1390 "syntax": "A String", # The source syntax of this method.
1391 "options": [ # Any metadata attached to the method.
1392 { # A protocol buffer option, which can be attached to a message, field,
1393 # enumeration, etc.
1394 "name": "A String", # The option's name. For protobuf built-in options (options defined in
1395 # descriptor.proto), this is the short name. For example, `"map_entry"`.
1396 # For custom options, it should be the fully-qualified name. For example,
1397 # `"google.api.http"`.
1398 "value": { # The option's value packed in an Any message. If the value is a primitive,
1399 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1400 # should be used. If the value is an enum, it should be stored as an int32
1401 # value using the google.protobuf.Int32Value type.
1402 "a_key": "", # Properties of the object. Contains field @type with type URL.
1403 },
1404 },
1405 ],
1406 },
1407 ],
1408 },
1409 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001410 "quota": { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
1411 # usage.
1412 #
1413 # The metric based quota configuration works this way:
1414 # - The service configuration defines a set of metrics.
1415 # - For API calls, the quota.metric_rules maps methods to metrics with
1416 # corresponding costs.
1417 # - The quota.limits defines limits on the metrics, which will be used for
1418 # quota checks at runtime.
1419 #
1420 # An example quota configuration in yaml format:
1421 #
1422 # quota:
1423 # limits:
1424 #
1425 # - name: apiWriteQpsPerProject
1426 # metric: library.googleapis.com/write_calls
1427 # unit: "1/min/{project}" # rate limit for consumer projects
1428 # values:
1429 # STANDARD: 10000
1430 #
1431 #
1432 # # The metric rules bind all methods to the read_calls metric,
1433 # # except for the UpdateBook and DeleteBook methods. These two methods
1434 # # are mapped to the write_calls metric, with the UpdateBook method
1435 # # consuming at twice rate as the DeleteBook method.
1436 # metric_rules:
1437 # - selector: "*"
1438 # metric_costs:
1439 # library.googleapis.com/read_calls: 1
1440 # - selector: google.example.library.v1.LibraryService.UpdateBook
1441 # metric_costs:
1442 # library.googleapis.com/write_calls: 2
1443 # - selector: google.example.library.v1.LibraryService.DeleteBook
1444 # metric_costs:
1445 # library.googleapis.com/write_calls: 1
1446 #
1447 # Corresponding Metric definition:
1448 #
1449 # metrics:
1450 # - name: library.googleapis.com/read_calls
1451 # display_name: Read requests
1452 # metric_kind: DELTA
1453 # value_type: INT64
1454 #
1455 # - name: library.googleapis.com/write_calls
1456 # display_name: Write requests
1457 # metric_kind: DELTA
1458 # value_type: INT64
1459 #
1460 "metricRules": [ # List of `MetricRule` definitions, each one mapping a selected method to one
1461 # or more metrics.
1462 { # Bind API methods to metrics. Binding a method to a metric causes that
1463 # metric's configured quota behaviors to apply to the method call.
1464 "metricCosts": { # Metrics to update when the selected methods are called, and the associated
1465 # cost applied to each metric.
1466 #
1467 # The key of the map is the metric name, and the values are the amount
1468 # increased for the metric against which the quota limits are defined.
1469 # The value must not be negative.
1470 "a_key": "A String",
1471 },
1472 "selector": "A String", # Selects the methods to which this rule applies.
1473 #
1474 # Refer to selector for syntax details.
1475 },
1476 ],
1477 "limits": [ # List of `QuotaLimit` definitions for the service.
1478 { # `QuotaLimit` defines a specific limit that applies over a specified duration
1479 # for a limit type. There can be at most one limit for a duration and limit
1480 # type combination defined within a `QuotaGroup`.
1481 "displayName": "A String", # User-visible display name for this limit.
1482 # Optional. If not set, the UI will provide a default display name based on
1483 # the quota configuration. This field can be used to override the default
1484 # display name generated from the configuration.
1485 "name": "A String", # Name of the quota limit.
1486 #
1487 # The name must be provided, and it must be unique within the service. The
1488 # name can only include alphanumeric characters as well as '-'.
1489 #
1490 # The maximum length of the limit name is 64 characters.
1491 "defaultLimit": "A String", # Default number of tokens that can be consumed during the specified
1492 # duration. This is the number of tokens assigned when a client
1493 # application developer activates the service for his/her project.
1494 #
1495 # Specifying a value of 0 will block all requests. This can be used if you
1496 # are provisioning quota to selected consumers and blocking others.
1497 # Similarly, a value of -1 will indicate an unlimited quota. No other
1498 # negative values are allowed.
1499 #
1500 # Used by group-based quotas only.
1501 "metric": "A String", # The name of the metric this quota limit applies to. The quota limits with
1502 # the same metric will be checked together during runtime. The metric must be
1503 # defined within the service config.
1504 "values": { # Tiered limit values. You must specify this as a key:value pair, with an
1505 # integer value that is the maximum number of requests allowed for the
1506 # specified unit. Currently only STANDARD is supported.
1507 "a_key": "A String",
1508 },
1509 "maxLimit": "A String", # Maximum number of tokens that can be consumed during the specified
1510 # duration. Client application developers can override the default limit up
1511 # to this maximum. If specified, this value cannot be set to a value less
1512 # than the default limit. If not specified, it is set to the default limit.
1513 #
1514 # To allow clients to apply overrides with no upper bound, set this to -1,
1515 # indicating unlimited maximum quota.
1516 #
1517 # Used by group-based quotas only.
Dan O'Mearadd494642020-05-01 07:42:23 -07001518 "duration": "A String", # Duration of this limit in textual notation. Must be "100s" or "1d".
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001519 #
1520 # Used by group-based quotas only.
1521 "freeTier": "A String", # Free tier value displayed in the Developers Console for this limit.
1522 # The free tier is the number of tokens that will be subtracted from the
1523 # billed amount when billing is enabled.
1524 # This field can only be set on a limit with duration "1d", in a billable
1525 # group; it is invalid on any other limit. If this field is not set, it
1526 # defaults to 0, indicating that there is no free tier for this service.
1527 #
1528 # Used by group-based quotas only.
1529 "unit": "A String", # Specify the unit of the quota limit. It uses the same syntax as
1530 # Metric.unit. The supported unit kinds are determined by the quota
1531 # backend system.
1532 #
1533 # Here are some examples:
1534 # * "1/min/{project}" for quota per minute per project.
1535 #
1536 # Note: the order of unit components is insignificant.
1537 # The "1" at the beginning is required to follow the metric unit syntax.
1538 "description": "A String", # Optional. User-visible, extended description for this quota limit.
1539 # Should be used only when more context is needed to understand this limit
1540 # than provided by the limit's display name (see: `display_name`).
1541 },
1542 ],
1543 },
1544 "authentication": { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
1545 #
1546 # Example for an API targeted for external use:
1547 #
1548 # name: calendar.googleapis.com
1549 # authentication:
1550 # providers:
1551 # - id: google_calendar_auth
1552 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
1553 # issuer: https://securetoken.google.com
1554 # rules:
1555 # - selector: "*"
1556 # requirements:
1557 # provider_id: google_calendar_auth
1558 "rules": [ # A list of authentication rules that apply to individual API methods.
1559 #
1560 # **NOTE:** All service configuration rules follow "last one wins" order.
1561 { # Authentication rules for the service.
1562 #
1563 # By default, if a method has any authentication requirements, every request
1564 # must include a valid credential matching one of the requirements.
1565 # It's an error to include more than one kind of credential in a single
1566 # request.
1567 #
1568 # If a method doesn't have any auth requirements, request credentials will be
1569 # ignored.
1570 "oauth": { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
1571 # there are scopes defined for "Read-only access to Google Calendar" and
1572 # "Access to Cloud Platform". Users can consent to a scope for an application,
1573 # giving it permission to access that data on their behalf.
1574 #
1575 # OAuth scope specifications should be fairly coarse grained; a user will need
1576 # to see and understand the text description of what your scope means.
1577 #
1578 # In most cases: use one or at most two OAuth scopes for an entire family of
1579 # products. If your product has multiple APIs, you should probably be sharing
1580 # the OAuth scope across all of those APIs.
1581 #
1582 # When you need finer grained OAuth consent screens: talk with your product
1583 # management about how developers will use them in practice.
1584 #
1585 # Please note that even though each of the canonical scopes is enough for a
1586 # request to be accepted and passed to the backend, a request can still fail
1587 # due to the backend requiring additional scopes or permissions.
1588 "canonicalScopes": "A String", # The list of publicly documented OAuth scopes that are allowed access. An
1589 # OAuth token containing any of these scopes will be accepted.
1590 #
1591 # Example:
1592 #
1593 # canonical_scopes: https://www.googleapis.com/auth/calendar,
1594 # https://www.googleapis.com/auth/calendar.read
1595 },
1596 "allowWithoutCredential": True or False, # If true, the service accepts API keys without any other credential.
1597 "requirements": [ # Requirements for additional authentication providers.
1598 { # User-defined authentication requirements, including support for
1599 # [JSON Web Token
1600 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1601 "providerId": "A String", # id from authentication provider.
1602 #
1603 # Example:
1604 #
1605 # provider_id: bookstore_auth
1606 "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
1607 # implemented and accepted in all the runtime components.
1608 #
1609 # The list of JWT
1610 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1611 # that are allowed to access. A JWT containing any of these audiences will
1612 # be accepted. When this setting is absent, only JWTs with audience
1613 # "https://Service_name/API_name"
1614 # will be accepted. For example, if no audiences are in the setting,
1615 # LibraryService API will only accept JWTs with the following audience
1616 # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
1617 #
1618 # Example:
1619 #
1620 # audiences: bookstore_android.apps.googleusercontent.com,
1621 # bookstore_web.apps.googleusercontent.com
1622 },
1623 ],
1624 "selector": "A String", # Selects the methods to which this rule applies.
1625 #
1626 # Refer to selector for syntax details.
1627 },
1628 ],
1629 "providers": [ # Defines a set of authentication providers that a service supports.
1630 { # Configuration for an authentication provider, including support for
1631 # [JSON Web Token
1632 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Dan O'Mearadd494642020-05-01 07:42:23 -07001633 "jwtLocations": [ # Defines the locations to extract the JWT.
1634 #
1635 # JWT locations can be either from HTTP headers or URL query parameters.
1636 # The rule is that the first match wins. The checking order is: checking
1637 # all headers first, then URL query parameters.
1638 #
1639 # If not specified, default to use following 3 locations:
1640 # 1) Authorization: Bearer
1641 # 2) x-goog-iap-jwt-assertion
1642 # 3) access_token query parameter
1643 #
1644 # Default locations can be specified as followings:
1645 # jwt_locations:
1646 # - header: Authorization
1647 # value_prefix: "Bearer "
1648 # - header: x-goog-iap-jwt-assertion
1649 # - query: access_token
1650 { # Specifies a location to extract JWT from an API request.
1651 "header": "A String", # Specifies HTTP header name to extract JWT token.
1652 "valuePrefix": "A String", # The value prefix. The value format is "value_prefix{token}"
1653 # Only applies to "in" header type. Must be empty for "in" query type.
1654 # If not empty, the header value has to match (case sensitive) this prefix.
1655 # If not matched, JWT will not be extracted. If matched, JWT will be
1656 # extracted after the prefix is removed.
1657 #
1658 # For example, for "Authorization: Bearer {JWT}",
1659 # value_prefix="Bearer " with a space at the end.
1660 "query": "A String", # Specifies URL query parameter name to extract JWT token.
1661 },
1662 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001663 "audiences": "A String", # The list of JWT
1664 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1665 # that are allowed to access. A JWT containing any of these audiences will
Dan O'Mearadd494642020-05-01 07:42:23 -07001666 # be accepted. When this setting is absent, JWTs with audiences:
1667 # - "https://[service.name]/[google.protobuf.Api.name]"
1668 # - "https://[service.name]/"
1669 # will be accepted.
1670 # For example, if no audiences are in the setting, LibraryService API will
1671 # accept JWTs with the following audiences:
1672 # -
1673 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
1674 # - https://library-example.googleapis.com/
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001675 #
1676 # Example:
1677 #
1678 # audiences: bookstore_android.apps.googleusercontent.com,
1679 # bookstore_web.apps.googleusercontent.com
1680 "jwksUri": "A String", # URL of the provider's public key set to validate signature of the JWT. See
1681 # [OpenID
1682 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
1683 # Optional if the key set document:
1684 # - can be retrieved from
1685 # [OpenID
1686 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
1687 # the issuer.
1688 # - can be inferred from the email domain of the issuer (e.g. a Google
1689 # service account).
1690 #
1691 # Example: https://www.googleapis.com/oauth2/v1/certs
1692 "id": "A String", # The unique identifier of the auth provider. It will be referred to by
1693 # `AuthRequirement.provider_id`.
1694 #
1695 # Example: "bookstore_auth".
1696 "authorizationUrl": "A String", # Redirect URL if JWT token is required but not present or is expired.
1697 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
1698 "issuer": "A String", # Identifies the principal that issued the JWT. See
1699 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
1700 # Usually a URL or an email address.
1701 #
1702 # Example: https://securetoken.google.com
1703 # Example: 1234567-compute@developer.gserviceaccount.com
1704 },
1705 ],
1706 },
1707 "usage": { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
1708 "rules": [ # A list of usage rules that apply to individual API methods.
1709 #
1710 # **NOTE:** All service configuration rules follow "last one wins" order.
1711 { # Usage configuration rules for the service.
1712 #
1713 # NOTE: Under development.
1714 #
1715 #
1716 # Use this rule to configure unregistered calls for the service. Unregistered
1717 # calls are calls that do not contain consumer project identity.
1718 # (Example: calls that do not contain an API key).
1719 # By default, API methods do not allow unregistered calls, and each method call
1720 # must be identified by a consumer project identity. Use this rule to
1721 # allow/disallow unregistered calls.
1722 #
1723 # Example of an API that wants to allow unregistered calls for entire service.
1724 #
1725 # usage:
1726 # rules:
1727 # - selector: "*"
1728 # allow_unregistered_calls: true
1729 #
1730 # Example of a method that wants to allow unregistered calls.
1731 #
1732 # usage:
1733 # rules:
1734 # - selector: "google.example.library.v1.LibraryService.CreateBook"
1735 # allow_unregistered_calls: true
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001736 "skipServiceControl": True or False, # If true, the selected method should skip service control and the control
1737 # plane features, such as quota and billing, will not be available.
1738 # This flag is used by Google Cloud Endpoints to bypass checks for internal
1739 # methods, such as service health check methods.
1740 "allowUnregisteredCalls": True or False, # If true, the selected method allows unregistered calls, e.g. calls
1741 # that don't identify any user or application.
Dan O'Mearadd494642020-05-01 07:42:23 -07001742 "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
1743 # methods in all APIs.
1744 #
1745 # Refer to selector for syntax details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001746 },
1747 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001748 "serviceIdentity": { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
1749 #
1750 #
1751 # Use this field to configure per-product per-project service identity.
1752 # Example of a service identity configuration.
1753 #
1754 # usage:
1755 # service_identity:
1756 # - service_account_parent: "projects/123456789"
1757 # display_name: "Cloud XXX Service Agent"
1758 # description: "Used as the identity of Cloud XXX to access resources"
1759 "displayName": "A String", # Optional. A user-specified name for the service account.
1760 # Must be less than or equal to 100 UTF-8 bytes.
1761 "description": "A String", # Optional. A user-specified opaque description of the service account.
1762 # Must be less than or equal to 256 UTF-8 bytes.
1763 "serviceAccountParent": "A String", # A service account project that hosts the service accounts.
1764 #
1765 # An example name would be:
1766 # `projects/123456789`
1767 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001768 "producerNotificationChannel": "A String", # The full resource name of a channel used for sending notifications to the
1769 # service producer.
1770 #
1771 # Google Service Management currently only supports
1772 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
1773 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
1774 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
1775 # documented in https://cloud.google.com/pubsub/docs/overview.
1776 "requirements": [ # Requirements that must be satisfied before a consumer project can use the
Dan O'Mearadd494642020-05-01 07:42:23 -07001777 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001778 # for example 'serviceusage.googleapis.com/billing-enabled'.
1779 "A String",
1780 ],
1781 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001782 "endpoints": [ # Configuration for network endpoints. Contains only the names and aliases
1783 # of the endpoints.
1784 { # `Endpoint` describes a network endpoint that serves a set of APIs.
1785 # A service may expose any number of endpoints, and all endpoints share the
1786 # same service configuration, such as quota configuration and monitoring
1787 # configuration.
1788 #
1789 # Example service configuration:
1790 #
1791 # name: library-example.googleapis.com
1792 # endpoints:
1793 # # Below entry makes 'google.example.library.v1.Library'
1794 # # API be served from endpoint address library-example.googleapis.com.
1795 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
1796 # # it to decide whether the subsequent cross-origin request is
1797 # # allowed to proceed.
1798 # - name: library-example.googleapis.com
1799 # allow_cors: true
1800 "allowCors": True or False, # Allowing
1801 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
1802 # cross-domain traffic, would allow the backends served from this endpoint to
1803 # receive and respond to HTTP OPTIONS requests. The response will be used by
1804 # the browser to determine whether the subsequent cross-origin request is
1805 # allowed to proceed.
1806 "target": "A String", # The specification of an Internet routable address of API frontend that will
1807 # handle requests to this [API
1808 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
1809 # either a valid IPv4 address or a fully-qualified domain name. For example,
1810 # "8.8.8.8" or "myservice.appspot.com".
1811 "features": [ # The list of features enabled on this endpoint.
1812 "A String",
1813 ],
1814 "name": "A String", # The canonical name of this endpoint.
1815 "aliases": [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
1816 # please specify multiple google.api.Endpoint for each of the intended
1817 # aliases.
1818 #
1819 # Additional names that this endpoint will be hosted on.
1820 "A String",
1821 ],
1822 },
1823 ],
1824 },
1825 "name": "A String", # The resource name of the consumer and service.
1826 #
1827 # A valid name would be:
1828 # - projects/123/services/serviceusage.googleapis.com
1829 "parent": "A String", # The resource name of the consumer.
1830 #
1831 # A valid name would be:
1832 # - projects/123
1833 },
1834 ],
1835 "nextPageToken": "A String", # Token that can be passed to `ListServices` to resume a paginated
1836 # query.
1837 }</pre>
1838</div>
1839
1840<div class="method">
1841 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
1842 <pre>Retrieves the next page of results.
1843
1844Args:
1845 previous_request: The request for the previous page. (required)
1846 previous_response: The response from the request for the previous page. (required)
1847
1848Returns:
1849 A request object that you can call 'execute()' on to request the next
1850 page. Returns None if there are no more items in the collection.
1851 </pre>
1852</div>
1853
1854</body></html>