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