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