Regen all docs. (#700)
* Stop recursing if discovery == {}
* Generate docs with 'make docs'.
diff --git a/docs/dyn/serviceusage_v1beta1.services.html b/docs/dyn/serviceusage_v1beta1.services.html
new file mode 100644
index 0000000..e738ab3
--- /dev/null
+++ b/docs/dyn/serviceusage_v1beta1.services.html
@@ -0,0 +1,1739 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+
+body {
+ font-size: 13px;
+ padding: 1em;
+}
+
+h1 {
+ font-size: 26px;
+ margin-bottom: 1em;
+}
+
+h2 {
+ font-size: 24px;
+ margin-bottom: 1em;
+}
+
+h3 {
+ font-size: 20px;
+ margin-bottom: 1em;
+ margin-top: 1em;
+}
+
+pre, code {
+ line-height: 1.5;
+ font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+ margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+ font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+ border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+ margin-top: 0.5em;
+}
+
+.firstline {
+ margin-left: 2 em;
+}
+
+.method {
+ margin-top: 1em;
+ border: solid 1px #CCC;
+ padding: 1em;
+ background: #EEE;
+}
+
+.details {
+ font-weight: bold;
+ font-size: 14px;
+}
+
+</style>
+
+<h1><a href="serviceusage_v1beta1.html">Service Usage API</a> . <a href="serviceusage_v1beta1.services.html">services</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+ <code><a href="#batchEnable">batchEnable(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Enable multiple services on a project. The operation is atomic: if enabling</p>
+<p class="toc_element">
+ <code><a href="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Disable a service so that it can no longer be used with a project.</p>
+<p class="toc_element">
+ <code><a href="#enable">enable(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Enable a service so that it can be used with a project.</p>
+<p class="toc_element">
+ <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the service configuration and enabled state for a given service.</p>
+<p class="toc_element">
+ <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
+<p class="firstline">List all services available to the specified project, and the current</p>
+<p class="toc_element">
+ <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+ <code class="details" id="batchEnable">batchEnable(parent, body, x__xgafv=None)</code>
+ <pre>Enable multiple services on a project. The operation is atomic: if enabling
+any service fails, then the entire batch fails, and no state changes occur.
+
+Operation<response: google.protobuf.Empty>
+
+Args:
+ parent: string, Parent to enable services on.
+
+An example name would be:
+`projects/123`
+where `123` is the project number (not project ID).
+
+The `BatchEnableServices` method currently only supports projects. (required)
+ body: object, The request body. (required)
+ The object takes the form of:
+
+{ # Request message for the `BatchEnableServices` method.
+ "serviceIds": [ # The identifiers of the services to enable on the project.
+ #
+ # A valid identifier would be:
+ # serviceusage.googleapis.com
+ #
+ # Enabling services requires that each service is public or is shared with
+ # the user enabling the service.
+ #
+ # Two or more services must be specified. To enable a single service,
+ # use the `EnableService` method instead.
+ #
+ # A single request can enable a maximum of 20 services at a time. If more
+ # than 20 services are specified, the request will fail, and no state changes
+ # will occur.
+ "A String",
+ ],
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a
+ # network API call.
+ "response": { # The normal response of the operation in case of success. If the original
+ # method returns no data on success, such as `Delete`, the response is
+ # `google.protobuf.Empty`. If the original method is standard
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
+ # is the original method name. For example, if the original method name
+ # is `TakeSnapshot()`, the inferred response type is
+ # `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "done": True or False, # If the value is `false`, it means the operation is still in progress.
+ # If `true`, the operation is completed, and either `error` or `response` is
+ # available.
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
+ "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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ },
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
+ <pre>Disable a service so that it can no longer be used with a project.
+This prevents unintended usage that may cause unexpected billing
+charges or security leaks.
+
+It is not valid to call the disable method on a service that is not
+currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
+the target service is not currently enabled.
+
+Operation<response: google.protobuf.Empty>
+
+Args:
+ name: string, Name of the consumer and service to disable the service on.
+
+The enable and disable methods currently only support projects.
+
+An example name would be:
+`projects/123/services/serviceusage.googleapis.com`
+where `123` is the project number (not project ID). (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request message for the `DisableService` method.
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a
+ # network API call.
+ "response": { # The normal response of the operation in case of success. If the original
+ # method returns no data on success, such as `Delete`, the response is
+ # `google.protobuf.Empty`. If the original method is standard
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
+ # is the original method name. For example, if the original method name
+ # is `TakeSnapshot()`, the inferred response type is
+ # `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "done": True or False, # If the value is `false`, it means the operation is still in progress.
+ # If `true`, the operation is completed, and either `error` or `response` is
+ # available.
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
+ "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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ },
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="enable">enable(name, body=None, x__xgafv=None)</code>
+ <pre>Enable a service so that it can be used with a project.
+
+Operation<response: google.protobuf.Empty>
+
+Args:
+ name: string, Name of the consumer and service to enable the service on.
+
+The `EnableService` and `DisableService` methods currently only support
+projects.
+
+Enabling a service requires that the service is public or is shared with
+the user enabling the service.
+
+An example name would be:
+`projects/123/services/serviceusage.googleapis.com`
+where `123` is the project number (not project ID). (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request message for the `EnableService` method.
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a
+ # network API call.
+ "response": { # The normal response of the operation in case of success. If the original
+ # method returns no data on success, such as `Delete`, the response is
+ # `google.protobuf.Empty`. If the original method is standard
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
+ # is the original method name. For example, if the original method name
+ # is `TakeSnapshot()`, the inferred response type is
+ # `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "done": True or False, # If the value is `false`, it means the operation is still in progress.
+ # If `true`, the operation is completed, and either `error` or `response` is
+ # available.
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
+ "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.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ },
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="get">get(name, x__xgafv=None)</code>
+ <pre>Returns the service configuration and enabled state for a given service.
+
+Args:
+ name: string, Name of the consumer and service to get the `ConsumerState` for.
+
+An example name would be:
+`projects/123/services/serviceusage.googleapis.com`
+where `123` is the project number (not project ID). (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # A service that is available for use by the consumer.
+ "state": "A String", # Whether or not the service has been enabled for use by the consumer.
+ "config": { # The configuration of the service. # The service configuration of the available service.
+ # Some fields may be filtered out of the configuration in responses to
+ # the `ListServices` method. These fields are present only in responses to
+ # the `GetService` method.
+ "name": "A String", # The DNS address at which this service is available.
+ #
+ # An example DNS address would be:
+ # `calendar.googleapis.com`.
+ "apis": [ # A list of API interfaces exported by this service. Contains only the names,
+ # versions, and method names of the interfaces.
+ { # Api is a light-weight descriptor for an API Interface.
+ #
+ # Interfaces are also described as "protocol buffer services" in some contexts,
+ # such as by the "service" keyword in a .proto file, but they are different
+ # from API Services, which represent a concrete implementation of an interface
+ # as opposed to simply a description of methods and bindings. They are also
+ # sometimes simply referred to as "APIs" in other contexts, such as the name of
+ # this message itself. See https://cloud.google.com/apis/design/glossary for
+ # detailed terminology.
+ "name": "A String", # The fully qualified name of this interface, including package name
+ # followed by the interface's simple name.
+ "sourceContext": { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
+ # message.
+ # protobuf element, like the file in which it is defined.
+ "fileName": "A String", # The path-qualified name of the .proto file that contained the associated
+ # protobuf element. For example: `"google/protobuf/source_context.proto"`.
+ },
+ "mixins": [ # Included interfaces. See Mixin.
+ { # Declares an API Interface to be included in this interface. The including
+ # interface must redeclare all the methods from the included interface, but
+ # documentation and options are inherited as follows:
+ #
+ # - If after comment and whitespace stripping, the documentation
+ # string of the redeclared method is empty, it will be inherited
+ # from the original method.
+ #
+ # - Each annotation belonging to the service config (http,
+ # visibility) which is not set in the redeclared method will be
+ # inherited.
+ #
+ # - If an http annotation is inherited, the path pattern will be
+ # modified as follows. Any version prefix will be replaced by the
+ # version of the including interface plus the root path if
+ # specified.
+ #
+ # Example of a simple mixin:
+ #
+ # package google.acl.v1;
+ # service AccessControl {
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
+ # option (google.api.http).get = "/v1/{resource=**}:getAcl";
+ # }
+ # }
+ #
+ # package google.storage.v2;
+ # service Storage {
+ # // rpc GetAcl(GetAclRequest) returns (Acl);
+ #
+ # // Get a data record.
+ # rpc GetData(GetDataRequest) returns (Data) {
+ # option (google.api.http).get = "/v2/{resource=**}";
+ # }
+ # }
+ #
+ # Example of a mixin configuration:
+ #
+ # apis:
+ # - name: google.storage.v2.Storage
+ # mixins:
+ # - name: google.acl.v1.AccessControl
+ #
+ # The mixin construct implies that all methods in `AccessControl` are
+ # also declared with same name and request/response types in
+ # `Storage`. A documentation generator or annotation processor will
+ # see the effective `Storage.GetAcl` method after inherting
+ # documentation and annotations as follows:
+ #
+ # service Storage {
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
+ # option (google.api.http).get = "/v2/{resource=**}:getAcl";
+ # }
+ # ...
+ # }
+ #
+ # Note how the version in the path pattern changed from `v1` to `v2`.
+ #
+ # If the `root` field in the mixin is specified, it should be a
+ # relative path under which inherited HTTP paths are placed. Example:
+ #
+ # apis:
+ # - name: google.storage.v2.Storage
+ # mixins:
+ # - name: google.acl.v1.AccessControl
+ # root: acls
+ #
+ # This implies the following inherited HTTP annotation:
+ #
+ # service Storage {
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
+ # option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
+ # }
+ # ...
+ # }
+ "root": "A String", # If non-empty specifies a path under which inherited HTTP paths
+ # are rooted.
+ "name": "A String", # The fully qualified name of the interface which is included.
+ },
+ ],
+ "syntax": "A String", # The source syntax of the service.
+ "version": "A String", # A version string for this interface. If specified, must have the form
+ # `major-version.minor-version`, as in `1.10`. If the minor version is
+ # omitted, it defaults to zero. If the entire version field is empty, the
+ # major version is derived from the package name, as outlined below. If the
+ # field is not empty, the version in the package name will be verified to be
+ # consistent with what is provided here.
+ #
+ # The versioning schema uses [semantic
+ # versioning](http://semver.org) where the major version number
+ # indicates a breaking change and the minor version an additive,
+ # non-breaking change. Both version numbers are signals to users
+ # what to expect from different versions, and should be carefully
+ # chosen based on the product plan.
+ #
+ # The major version is also reflected in the package name of the
+ # interface, which must end in `v<major-version>`, as in
+ # `google.feature.v1`. For major versions 0 and 1, the suffix can
+ # be omitted. Zero major versions must only be used for
+ # experimental, non-GA interfaces.
+ "options": [ # Any metadata attached to the interface.
+ { # A protocol buffer option, which can be attached to a message, field,
+ # enumeration, etc.
+ "name": "A String", # The option's name. For protobuf built-in options (options defined in
+ # descriptor.proto), this is the short name. For example, `"map_entry"`.
+ # For custom options, it should be the fully-qualified name. For example,
+ # `"google.api.http"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ },
+ ],
+ "methods": [ # The methods of this interface, in unspecified order.
+ { # Method represents a method of an API interface.
+ "name": "A String", # The simple name of this method.
+ "requestStreaming": True or False, # If true, the request is streamed.
+ "responseTypeUrl": "A String", # The URL of the output message type.
+ "requestTypeUrl": "A String", # A URL of the input message type.
+ "responseStreaming": True or False, # If true, the response is streamed.
+ "syntax": "A String", # The source syntax of this method.
+ "options": [ # Any metadata attached to the method.
+ { # A protocol buffer option, which can be attached to a message, field,
+ # enumeration, etc.
+ "name": "A String", # The option's name. For protobuf built-in options (options defined in
+ # descriptor.proto), this is the short name. For example, `"map_entry"`.
+ # For custom options, it should be the fully-qualified name. For example,
+ # `"google.api.http"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ "documentation": { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
+ # documentation URL.
+ #
+ # Example:
+ # <pre><code>documentation:
+ # summary: >
+ # The Google Calendar API gives access
+ # to most calendar features.
+ # pages:
+ # - name: Overview
+ # content: (== include google/foo/overview.md ==)
+ # - name: Tutorial
+ # content: (== include google/foo/tutorial.md ==)
+ # subpages;
+ # - name: Java
+ # content: (== include google/foo/tutorial_java.md ==)
+ # rules:
+ # - selector: google.calendar.Calendar.Get
+ # description: >
+ # ...
+ # - selector: google.calendar.Calendar.Put
+ # description: >
+ # ...
+ # </code></pre>
+ # Documentation is provided in markdown syntax. In addition to
+ # standard markdown features, definition lists, tables and fenced
+ # code blocks are supported. Section headers can be provided and are
+ # interpreted relative to the section nesting of the context where
+ # a documentation fragment is embedded.
+ #
+ # Documentation from the IDL is merged with documentation defined
+ # via the config at normalization time, where documentation provided
+ # by config rules overrides IDL provided.
+ #
+ # A number of constructs specific to the API platform are supported
+ # in documentation text.
+ #
+ # In order to reference a proto element, the following
+ # notation can be used:
+ # <pre><code>[fully.qualified.proto.name][]</code></pre>
+ # To override the display text used for the link, this can be used:
+ # <pre><code>[display text][fully.qualified.proto.name]</code></pre>
+ # Text can be excluded from doc using the following notation:
+ # <pre><code>(-- internal comment --)</code></pre>
+ #
+ # A few directives are available in documentation. Note that
+ # directives must appear on a single line to be properly
+ # identified. The `include` directive includes a markdown file from
+ # an external source:
+ # <pre><code>(== include path/to/file ==)</code></pre>
+ # The `resource_for` directive marks a message to be the resource of
+ # a collection in REST view. If it is not specified, tools attempt
+ # to infer the resource from the operations in a collection:
+ # <pre><code>(== resource_for v1.shelves.books ==)</code></pre>
+ # The directive `suppress_warning` does not directly affect documentation
+ # and is documented together with service config validation.
+ "rules": [ # A list of documentation rules that apply to individual API elements.
+ #
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ { # A documentation rule provides information about individual API elements.
+ "description": "A String", # Description of the selected API(s).
+ "deprecationDescription": "A String", # Deprecation description of the selected element(s). It can be provided if
+ # an element is marked as `deprecated`.
+ "selector": "A String", # The selector is a comma-separated list of patterns. Each pattern is a
+ # qualified name of the element which may end in "*", indicating a wildcard.
+ # Wildcards are only allowed at the end and for a whole component of the
+ # qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
+ # wildcard will match one or more components. To specify a default for all
+ # applicable elements, the whole pattern "*" is used.
+ },
+ ],
+ "overview": "A String", # Declares a single overview page. For example:
+ # <pre><code>documentation:
+ # summary: ...
+ # overview: (== include overview.md ==)
+ # </code></pre>
+ # This is a shortcut for the following declaration (using pages style):
+ # <pre><code>documentation:
+ # summary: ...
+ # pages:
+ # - name: Overview
+ # content: (== include overview.md ==)
+ # </code></pre>
+ # Note: you cannot specify both `overview` field and `pages` field.
+ "pages": [ # The top level pages for the documentation set.
+ { # Represents a documentation page. A page can contain subpages to represent
+ # nested documentation set structure.
+ "content": "A String", # The Markdown content of the page. You can use <code>(== include {path}
+ # ==)</code> to include content from a Markdown file.
+ "subpages": [ # Subpages of this page. The order of subpages specified here will be
+ # honored in the generated docset.
+ # Object with schema name: Page
+ ],
+ "name": "A String", # The name of the page. It will be used as an identity of the page to
+ # generate URI of the page, text of the link to this page in navigation,
+ # etc. The full page name (start from the root page name to this page
+ # concatenated with `.`) can be used as reference to the page in your
+ # documentation. For example:
+ # <pre><code>pages:
+ # - name: Tutorial
+ # content: (== include tutorial.md ==)
+ # subpages:
+ # - name: Java
+ # content: (== include tutorial_java.md ==)
+ # </code></pre>
+ # You can reference `Java` page using Markdown reference link syntax:
+ # `Java`.
+ },
+ ],
+ "documentationRootUrl": "A String", # The URL to the root of documentation.
+ "summary": "A String", # A short summary of what the service does. Can only be provided by
+ # plain text.
+ },
+ "quota": { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
+ # usage.
+ #
+ # The metric based quota configuration works this way:
+ # - The service configuration defines a set of metrics.
+ # - For API calls, the quota.metric_rules maps methods to metrics with
+ # corresponding costs.
+ # - The quota.limits defines limits on the metrics, which will be used for
+ # quota checks at runtime.
+ #
+ # An example quota configuration in yaml format:
+ #
+ # quota:
+ # limits:
+ #
+ # - name: apiWriteQpsPerProject
+ # metric: library.googleapis.com/write_calls
+ # unit: "1/min/{project}" # rate limit for consumer projects
+ # values:
+ # STANDARD: 10000
+ #
+ #
+ # # The metric rules bind all methods to the read_calls metric,
+ # # except for the UpdateBook and DeleteBook methods. These two methods
+ # # are mapped to the write_calls metric, with the UpdateBook method
+ # # consuming at twice rate as the DeleteBook method.
+ # metric_rules:
+ # - selector: "*"
+ # metric_costs:
+ # library.googleapis.com/read_calls: 1
+ # - selector: google.example.library.v1.LibraryService.UpdateBook
+ # metric_costs:
+ # library.googleapis.com/write_calls: 2
+ # - selector: google.example.library.v1.LibraryService.DeleteBook
+ # metric_costs:
+ # library.googleapis.com/write_calls: 1
+ #
+ # Corresponding Metric definition:
+ #
+ # metrics:
+ # - name: library.googleapis.com/read_calls
+ # display_name: Read requests
+ # metric_kind: DELTA
+ # value_type: INT64
+ #
+ # - name: library.googleapis.com/write_calls
+ # display_name: Write requests
+ # metric_kind: DELTA
+ # value_type: INT64
+ #
+ "metricRules": [ # List of `MetricRule` definitions, each one mapping a selected method to one
+ # or more metrics.
+ { # Bind API methods to metrics. Binding a method to a metric causes that
+ # metric's configured quota behaviors to apply to the method call.
+ "metricCosts": { # Metrics to update when the selected methods are called, and the associated
+ # cost applied to each metric.
+ #
+ # The key of the map is the metric name, and the values are the amount
+ # increased for the metric against which the quota limits are defined.
+ # The value must not be negative.
+ "a_key": "A String",
+ },
+ "selector": "A String", # Selects the methods to which this rule applies.
+ #
+ # Refer to selector for syntax details.
+ },
+ ],
+ "limits": [ # List of `QuotaLimit` definitions for the service.
+ { # `QuotaLimit` defines a specific limit that applies over a specified duration
+ # for a limit type. There can be at most one limit for a duration and limit
+ # type combination defined within a `QuotaGroup`.
+ "displayName": "A String", # User-visible display name for this limit.
+ # Optional. If not set, the UI will provide a default display name based on
+ # the quota configuration. This field can be used to override the default
+ # display name generated from the configuration.
+ "name": "A String", # Name of the quota limit.
+ #
+ # The name must be provided, and it must be unique within the service. The
+ # name can only include alphanumeric characters as well as '-'.
+ #
+ # The maximum length of the limit name is 64 characters.
+ "defaultLimit": "A String", # Default number of tokens that can be consumed during the specified
+ # duration. This is the number of tokens assigned when a client
+ # application developer activates the service for his/her project.
+ #
+ # Specifying a value of 0 will block all requests. This can be used if you
+ # are provisioning quota to selected consumers and blocking others.
+ # Similarly, a value of -1 will indicate an unlimited quota. No other
+ # negative values are allowed.
+ #
+ # Used by group-based quotas only.
+ "metric": "A String", # The name of the metric this quota limit applies to. The quota limits with
+ # the same metric will be checked together during runtime. The metric must be
+ # defined within the service config.
+ "values": { # Tiered limit values. You must specify this as a key:value pair, with an
+ # integer value that is the maximum number of requests allowed for the
+ # specified unit. Currently only STANDARD is supported.
+ "a_key": "A String",
+ },
+ "maxLimit": "A String", # Maximum number of tokens that can be consumed during the specified
+ # duration. Client application developers can override the default limit up
+ # to this maximum. If specified, this value cannot be set to a value less
+ # than the default limit. If not specified, it is set to the default limit.
+ #
+ # To allow clients to apply overrides with no upper bound, set this to -1,
+ # indicating unlimited maximum quota.
+ #
+ # Used by group-based quotas only.
+ "duration": "A String", # Duration of this limit in textual notation. Example: "100s", "24h", "1d".
+ # For duration longer than a day, only multiple of days is supported. We
+ # support only "100s" and "1d" for now. Additional support will be added in
+ # the future. "0" indicates indefinite duration.
+ #
+ # Used by group-based quotas only.
+ "freeTier": "A String", # Free tier value displayed in the Developers Console for this limit.
+ # The free tier is the number of tokens that will be subtracted from the
+ # billed amount when billing is enabled.
+ # This field can only be set on a limit with duration "1d", in a billable
+ # group; it is invalid on any other limit. If this field is not set, it
+ # defaults to 0, indicating that there is no free tier for this service.
+ #
+ # Used by group-based quotas only.
+ "unit": "A String", # Specify the unit of the quota limit. It uses the same syntax as
+ # Metric.unit. The supported unit kinds are determined by the quota
+ # backend system.
+ #
+ # Here are some examples:
+ # * "1/min/{project}" for quota per minute per project.
+ #
+ # Note: the order of unit components is insignificant.
+ # The "1" at the beginning is required to follow the metric unit syntax.
+ "description": "A String", # Optional. User-visible, extended description for this quota limit.
+ # Should be used only when more context is needed to understand this limit
+ # than provided by the limit's display name (see: `display_name`).
+ },
+ ],
+ },
+ "authentication": { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
+ #
+ # Example for an API targeted for external use:
+ #
+ # name: calendar.googleapis.com
+ # authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
+ # rules:
+ # - selector: "*"
+ # requirements:
+ # provider_id: google_calendar_auth
+ "rules": [ # A list of authentication rules that apply to individual API methods.
+ #
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ { # Authentication rules for the service.
+ #
+ # By default, if a method has any authentication requirements, every request
+ # must include a valid credential matching one of the requirements.
+ # It's an error to include more than one kind of credential in a single
+ # request.
+ #
+ # If a method doesn't have any auth requirements, request credentials will be
+ # ignored.
+ "oauth": { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
+ # there are scopes defined for "Read-only access to Google Calendar" and
+ # "Access to Cloud Platform". Users can consent to a scope for an application,
+ # giving it permission to access that data on their behalf.
+ #
+ # OAuth scope specifications should be fairly coarse grained; a user will need
+ # to see and understand the text description of what your scope means.
+ #
+ # In most cases: use one or at most two OAuth scopes for an entire family of
+ # products. If your product has multiple APIs, you should probably be sharing
+ # the OAuth scope across all of those APIs.
+ #
+ # When you need finer grained OAuth consent screens: talk with your product
+ # management about how developers will use them in practice.
+ #
+ # Please note that even though each of the canonical scopes is enough for a
+ # request to be accepted and passed to the backend, a request can still fail
+ # due to the backend requiring additional scopes or permissions.
+ "canonicalScopes": "A String", # The list of publicly documented OAuth scopes that are allowed access. An
+ # OAuth token containing any of these scopes will be accepted.
+ #
+ # Example:
+ #
+ # canonical_scopes: https://www.googleapis.com/auth/calendar,
+ # https://www.googleapis.com/auth/calendar.read
+ },
+ "allowWithoutCredential": True or False, # If true, the service accepts API keys without any other credential.
+ "requirements": [ # Requirements for additional authentication providers.
+ { # User-defined authentication requirements, including support for
+ # [JSON Web Token
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
+ "providerId": "A String", # id from authentication provider.
+ #
+ # Example:
+ #
+ # provider_id: bookstore_auth
+ "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ #
+ # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # that are allowed to access. A JWT containing any of these audiences will
+ # be accepted. When this setting is absent, only JWTs with audience
+ # "https://Service_name/API_name"
+ # will be accepted. For example, if no audiences are in the setting,
+ # LibraryService API will only accept JWTs with the following audience
+ # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+ #
+ # Example:
+ #
+ # audiences: bookstore_android.apps.googleusercontent.com,
+ # bookstore_web.apps.googleusercontent.com
+ },
+ ],
+ "selector": "A String", # Selects the methods to which this rule applies.
+ #
+ # Refer to selector for syntax details.
+ },
+ ],
+ "providers": [ # Defines a set of authentication providers that a service supports.
+ { # Configuration for an authentication provider, including support for
+ # [JSON Web Token
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
+ "audiences": "A String", # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # that are allowed to access. A JWT containing any of these audiences will
+ # be accepted. When this setting is absent, only JWTs with audience
+ # "https://Service_name/API_name"
+ # will be accepted. For example, if no audiences are in the setting,
+ # LibraryService API will only accept JWTs with the following audience
+ # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+ #
+ # Example:
+ #
+ # audiences: bookstore_android.apps.googleusercontent.com,
+ # bookstore_web.apps.googleusercontent.com
+ "jwksUri": "A String", # URL of the provider's public key set to validate signature of the JWT. See
+ # [OpenID
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
+ # Optional if the key set document:
+ # - can be retrieved from
+ # [OpenID
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
+ # the issuer.
+ # - can be inferred from the email domain of the issuer (e.g. a Google
+ # service account).
+ #
+ # Example: https://www.googleapis.com/oauth2/v1/certs
+ "id": "A String", # The unique identifier of the auth provider. It will be referred to by
+ # `AuthRequirement.provider_id`.
+ #
+ # Example: "bookstore_auth".
+ "authorizationUrl": "A String", # Redirect URL if JWT token is required but not present or is expired.
+ # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
+ "issuer": "A String", # Identifies the principal that issued the JWT. See
+ # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
+ # Usually a URL or an email address.
+ #
+ # Example: https://securetoken.google.com
+ # Example: 1234567-compute@developer.gserviceaccount.com
+ },
+ ],
+ },
+ "usage": { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
+ "rules": [ # A list of usage rules that apply to individual API methods.
+ #
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ { # Usage configuration rules for the service.
+ #
+ # NOTE: Under development.
+ #
+ #
+ # Use this rule to configure unregistered calls for the service. Unregistered
+ # calls are calls that do not contain consumer project identity.
+ # (Example: calls that do not contain an API key).
+ # By default, API methods do not allow unregistered calls, and each method call
+ # must be identified by a consumer project identity. Use this rule to
+ # allow/disallow unregistered calls.
+ #
+ # Example of an API that wants to allow unregistered calls for entire service.
+ #
+ # usage:
+ # rules:
+ # - selector: "*"
+ # allow_unregistered_calls: true
+ #
+ # Example of a method that wants to allow unregistered calls.
+ #
+ # usage:
+ # rules:
+ # - selector: "google.example.library.v1.LibraryService.CreateBook"
+ # allow_unregistered_calls: true
+ "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
+ # methods in all APIs.
+ #
+ # Refer to selector for syntax details.
+ "skipServiceControl": True or False, # If true, the selected method should skip service control and the control
+ # plane features, such as quota and billing, will not be available.
+ # This flag is used by Google Cloud Endpoints to bypass checks for internal
+ # methods, such as service health check methods.
+ "allowUnregisteredCalls": True or False, # If true, the selected method allows unregistered calls, e.g. calls
+ # that don't identify any user or application.
+ },
+ ],
+ "producerNotificationChannel": "A String", # The full resource name of a channel used for sending notifications to the
+ # service producer.
+ #
+ # Google Service Management currently only supports
+ # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
+ # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
+ # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
+ # documented in https://cloud.google.com/pubsub/docs/overview.
+ "requirements": [ # Requirements that must be satisfied before a consumer project can use the
+ # service. Each requirement is of the form <service.name>/<requirement-id>;
+ # for example 'serviceusage.googleapis.com/billing-enabled'.
+ "A String",
+ ],
+ },
+ "title": "A String", # The product title for this service.
+ "endpoints": [ # Configuration for network endpoints. Contains only the names and aliases
+ # of the endpoints.
+ { # `Endpoint` describes a network endpoint that serves a set of APIs.
+ # A service may expose any number of endpoints, and all endpoints share the
+ # same service configuration, such as quota configuration and monitoring
+ # configuration.
+ #
+ # Example service configuration:
+ #
+ # name: library-example.googleapis.com
+ # endpoints:
+ # # Below entry makes 'google.example.library.v1.Library'
+ # # API be served from endpoint address library-example.googleapis.com.
+ # # It also allows HTTP OPTIONS calls to be passed to the backend, for
+ # # it to decide whether the subsequent cross-origin request is
+ # # allowed to proceed.
+ # - name: library-example.googleapis.com
+ # allow_cors: true
+ "allowCors": True or False, # Allowing
+ # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
+ # cross-domain traffic, would allow the backends served from this endpoint to
+ # receive and respond to HTTP OPTIONS requests. The response will be used by
+ # the browser to determine whether the subsequent cross-origin request is
+ # allowed to proceed.
+ "target": "A String", # The specification of an Internet routable address of API frontend that will
+ # handle requests to this [API
+ # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
+ # either a valid IPv4 address or a fully-qualified domain name. For example,
+ # "8.8.8.8" or "myservice.appspot.com".
+ "features": [ # The list of features enabled on this endpoint.
+ "A String",
+ ],
+ "name": "A String", # The canonical name of this endpoint.
+ "aliases": [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
+ # please specify multiple google.api.Endpoint for each of the intended
+ # aliases.
+ #
+ # Additional names that this endpoint will be hosted on.
+ "A String",
+ ],
+ },
+ ],
+ },
+ "name": "A String", # The resource name of the consumer and service.
+ #
+ # A valid name would be:
+ # - projects/123/services/serviceusage.googleapis.com
+ "parent": "A String", # The resource name of the consumer.
+ #
+ # A valid name would be:
+ # - projects/123
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
+ <pre>List all services available to the specified project, and the current
+state of those services with respect to the project. The list includes
+all public services, all services for which the calling user has the
+`servicemanagement.services.bind` permission, and all services that have
+already been enabled on the project. The list can be filtered to
+only include services in a specific state, for example to only include
+services enabled on the project.
+
+Args:
+ parent: string, Parent to search for services on.
+
+An example name would be:
+`projects/123`
+where `123` is the project number (not project ID). (required)
+ pageToken: string, Token identifying which result to start with, which is returned by a
+previous list call.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+ pageSize: integer, Requested size of the next page of data.
+Requested page size cannot exceed 200.
+ If not set, the default page size is 50.
+ filter: string, Only list services that conform to the given filter.
+The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
+
+Returns:
+ An object of the form:
+
+ { # Response message for the `ListServices` method.
+ "services": [ # The available services for the requested project.
+ { # A service that is available for use by the consumer.
+ "state": "A String", # Whether or not the service has been enabled for use by the consumer.
+ "config": { # The configuration of the service. # The service configuration of the available service.
+ # Some fields may be filtered out of the configuration in responses to
+ # the `ListServices` method. These fields are present only in responses to
+ # the `GetService` method.
+ "name": "A String", # The DNS address at which this service is available.
+ #
+ # An example DNS address would be:
+ # `calendar.googleapis.com`.
+ "apis": [ # A list of API interfaces exported by this service. Contains only the names,
+ # versions, and method names of the interfaces.
+ { # Api is a light-weight descriptor for an API Interface.
+ #
+ # Interfaces are also described as "protocol buffer services" in some contexts,
+ # such as by the "service" keyword in a .proto file, but they are different
+ # from API Services, which represent a concrete implementation of an interface
+ # as opposed to simply a description of methods and bindings. They are also
+ # sometimes simply referred to as "APIs" in other contexts, such as the name of
+ # this message itself. See https://cloud.google.com/apis/design/glossary for
+ # detailed terminology.
+ "name": "A String", # The fully qualified name of this interface, including package name
+ # followed by the interface's simple name.
+ "sourceContext": { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
+ # message.
+ # protobuf element, like the file in which it is defined.
+ "fileName": "A String", # The path-qualified name of the .proto file that contained the associated
+ # protobuf element. For example: `"google/protobuf/source_context.proto"`.
+ },
+ "mixins": [ # Included interfaces. See Mixin.
+ { # Declares an API Interface to be included in this interface. The including
+ # interface must redeclare all the methods from the included interface, but
+ # documentation and options are inherited as follows:
+ #
+ # - If after comment and whitespace stripping, the documentation
+ # string of the redeclared method is empty, it will be inherited
+ # from the original method.
+ #
+ # - Each annotation belonging to the service config (http,
+ # visibility) which is not set in the redeclared method will be
+ # inherited.
+ #
+ # - If an http annotation is inherited, the path pattern will be
+ # modified as follows. Any version prefix will be replaced by the
+ # version of the including interface plus the root path if
+ # specified.
+ #
+ # Example of a simple mixin:
+ #
+ # package google.acl.v1;
+ # service AccessControl {
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
+ # option (google.api.http).get = "/v1/{resource=**}:getAcl";
+ # }
+ # }
+ #
+ # package google.storage.v2;
+ # service Storage {
+ # // rpc GetAcl(GetAclRequest) returns (Acl);
+ #
+ # // Get a data record.
+ # rpc GetData(GetDataRequest) returns (Data) {
+ # option (google.api.http).get = "/v2/{resource=**}";
+ # }
+ # }
+ #
+ # Example of a mixin configuration:
+ #
+ # apis:
+ # - name: google.storage.v2.Storage
+ # mixins:
+ # - name: google.acl.v1.AccessControl
+ #
+ # The mixin construct implies that all methods in `AccessControl` are
+ # also declared with same name and request/response types in
+ # `Storage`. A documentation generator or annotation processor will
+ # see the effective `Storage.GetAcl` method after inherting
+ # documentation and annotations as follows:
+ #
+ # service Storage {
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
+ # option (google.api.http).get = "/v2/{resource=**}:getAcl";
+ # }
+ # ...
+ # }
+ #
+ # Note how the version in the path pattern changed from `v1` to `v2`.
+ #
+ # If the `root` field in the mixin is specified, it should be a
+ # relative path under which inherited HTTP paths are placed. Example:
+ #
+ # apis:
+ # - name: google.storage.v2.Storage
+ # mixins:
+ # - name: google.acl.v1.AccessControl
+ # root: acls
+ #
+ # This implies the following inherited HTTP annotation:
+ #
+ # service Storage {
+ # // Get the underlying ACL object.
+ # rpc GetAcl(GetAclRequest) returns (Acl) {
+ # option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
+ # }
+ # ...
+ # }
+ "root": "A String", # If non-empty specifies a path under which inherited HTTP paths
+ # are rooted.
+ "name": "A String", # The fully qualified name of the interface which is included.
+ },
+ ],
+ "syntax": "A String", # The source syntax of the service.
+ "version": "A String", # A version string for this interface. If specified, must have the form
+ # `major-version.minor-version`, as in `1.10`. If the minor version is
+ # omitted, it defaults to zero. If the entire version field is empty, the
+ # major version is derived from the package name, as outlined below. If the
+ # field is not empty, the version in the package name will be verified to be
+ # consistent with what is provided here.
+ #
+ # The versioning schema uses [semantic
+ # versioning](http://semver.org) where the major version number
+ # indicates a breaking change and the minor version an additive,
+ # non-breaking change. Both version numbers are signals to users
+ # what to expect from different versions, and should be carefully
+ # chosen based on the product plan.
+ #
+ # The major version is also reflected in the package name of the
+ # interface, which must end in `v<major-version>`, as in
+ # `google.feature.v1`. For major versions 0 and 1, the suffix can
+ # be omitted. Zero major versions must only be used for
+ # experimental, non-GA interfaces.
+ "options": [ # Any metadata attached to the interface.
+ { # A protocol buffer option, which can be attached to a message, field,
+ # enumeration, etc.
+ "name": "A String", # The option's name. For protobuf built-in options (options defined in
+ # descriptor.proto), this is the short name. For example, `"map_entry"`.
+ # For custom options, it should be the fully-qualified name. For example,
+ # `"google.api.http"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ },
+ ],
+ "methods": [ # The methods of this interface, in unspecified order.
+ { # Method represents a method of an API interface.
+ "name": "A String", # The simple name of this method.
+ "requestStreaming": True or False, # If true, the request is streamed.
+ "responseTypeUrl": "A String", # The URL of the output message type.
+ "requestTypeUrl": "A String", # A URL of the input message type.
+ "responseStreaming": True or False, # If true, the response is streamed.
+ "syntax": "A String", # The source syntax of this method.
+ "options": [ # Any metadata attached to the method.
+ { # A protocol buffer option, which can be attached to a message, field,
+ # enumeration, etc.
+ "name": "A String", # The option's name. For protobuf built-in options (options defined in
+ # descriptor.proto), this is the short name. For example, `"map_entry"`.
+ # For custom options, it should be the fully-qualified name. For example,
+ # `"google.api.http"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ "documentation": { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
+ # documentation URL.
+ #
+ # Example:
+ # <pre><code>documentation:
+ # summary: >
+ # The Google Calendar API gives access
+ # to most calendar features.
+ # pages:
+ # - name: Overview
+ # content: (== include google/foo/overview.md ==)
+ # - name: Tutorial
+ # content: (== include google/foo/tutorial.md ==)
+ # subpages;
+ # - name: Java
+ # content: (== include google/foo/tutorial_java.md ==)
+ # rules:
+ # - selector: google.calendar.Calendar.Get
+ # description: >
+ # ...
+ # - selector: google.calendar.Calendar.Put
+ # description: >
+ # ...
+ # </code></pre>
+ # Documentation is provided in markdown syntax. In addition to
+ # standard markdown features, definition lists, tables and fenced
+ # code blocks are supported. Section headers can be provided and are
+ # interpreted relative to the section nesting of the context where
+ # a documentation fragment is embedded.
+ #
+ # Documentation from the IDL is merged with documentation defined
+ # via the config at normalization time, where documentation provided
+ # by config rules overrides IDL provided.
+ #
+ # A number of constructs specific to the API platform are supported
+ # in documentation text.
+ #
+ # In order to reference a proto element, the following
+ # notation can be used:
+ # <pre><code>[fully.qualified.proto.name][]</code></pre>
+ # To override the display text used for the link, this can be used:
+ # <pre><code>[display text][fully.qualified.proto.name]</code></pre>
+ # Text can be excluded from doc using the following notation:
+ # <pre><code>(-- internal comment --)</code></pre>
+ #
+ # A few directives are available in documentation. Note that
+ # directives must appear on a single line to be properly
+ # identified. The `include` directive includes a markdown file from
+ # an external source:
+ # <pre><code>(== include path/to/file ==)</code></pre>
+ # The `resource_for` directive marks a message to be the resource of
+ # a collection in REST view. If it is not specified, tools attempt
+ # to infer the resource from the operations in a collection:
+ # <pre><code>(== resource_for v1.shelves.books ==)</code></pre>
+ # The directive `suppress_warning` does not directly affect documentation
+ # and is documented together with service config validation.
+ "rules": [ # A list of documentation rules that apply to individual API elements.
+ #
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ { # A documentation rule provides information about individual API elements.
+ "description": "A String", # Description of the selected API(s).
+ "deprecationDescription": "A String", # Deprecation description of the selected element(s). It can be provided if
+ # an element is marked as `deprecated`.
+ "selector": "A String", # The selector is a comma-separated list of patterns. Each pattern is a
+ # qualified name of the element which may end in "*", indicating a wildcard.
+ # Wildcards are only allowed at the end and for a whole component of the
+ # qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
+ # wildcard will match one or more components. To specify a default for all
+ # applicable elements, the whole pattern "*" is used.
+ },
+ ],
+ "overview": "A String", # Declares a single overview page. For example:
+ # <pre><code>documentation:
+ # summary: ...
+ # overview: (== include overview.md ==)
+ # </code></pre>
+ # This is a shortcut for the following declaration (using pages style):
+ # <pre><code>documentation:
+ # summary: ...
+ # pages:
+ # - name: Overview
+ # content: (== include overview.md ==)
+ # </code></pre>
+ # Note: you cannot specify both `overview` field and `pages` field.
+ "pages": [ # The top level pages for the documentation set.
+ { # Represents a documentation page. A page can contain subpages to represent
+ # nested documentation set structure.
+ "content": "A String", # The Markdown content of the page. You can use <code>(== include {path}
+ # ==)</code> to include content from a Markdown file.
+ "subpages": [ # Subpages of this page. The order of subpages specified here will be
+ # honored in the generated docset.
+ # Object with schema name: Page
+ ],
+ "name": "A String", # The name of the page. It will be used as an identity of the page to
+ # generate URI of the page, text of the link to this page in navigation,
+ # etc. The full page name (start from the root page name to this page
+ # concatenated with `.`) can be used as reference to the page in your
+ # documentation. For example:
+ # <pre><code>pages:
+ # - name: Tutorial
+ # content: (== include tutorial.md ==)
+ # subpages:
+ # - name: Java
+ # content: (== include tutorial_java.md ==)
+ # </code></pre>
+ # You can reference `Java` page using Markdown reference link syntax:
+ # `Java`.
+ },
+ ],
+ "documentationRootUrl": "A String", # The URL to the root of documentation.
+ "summary": "A String", # A short summary of what the service does. Can only be provided by
+ # plain text.
+ },
+ "quota": { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
+ # usage.
+ #
+ # The metric based quota configuration works this way:
+ # - The service configuration defines a set of metrics.
+ # - For API calls, the quota.metric_rules maps methods to metrics with
+ # corresponding costs.
+ # - The quota.limits defines limits on the metrics, which will be used for
+ # quota checks at runtime.
+ #
+ # An example quota configuration in yaml format:
+ #
+ # quota:
+ # limits:
+ #
+ # - name: apiWriteQpsPerProject
+ # metric: library.googleapis.com/write_calls
+ # unit: "1/min/{project}" # rate limit for consumer projects
+ # values:
+ # STANDARD: 10000
+ #
+ #
+ # # The metric rules bind all methods to the read_calls metric,
+ # # except for the UpdateBook and DeleteBook methods. These two methods
+ # # are mapped to the write_calls metric, with the UpdateBook method
+ # # consuming at twice rate as the DeleteBook method.
+ # metric_rules:
+ # - selector: "*"
+ # metric_costs:
+ # library.googleapis.com/read_calls: 1
+ # - selector: google.example.library.v1.LibraryService.UpdateBook
+ # metric_costs:
+ # library.googleapis.com/write_calls: 2
+ # - selector: google.example.library.v1.LibraryService.DeleteBook
+ # metric_costs:
+ # library.googleapis.com/write_calls: 1
+ #
+ # Corresponding Metric definition:
+ #
+ # metrics:
+ # - name: library.googleapis.com/read_calls
+ # display_name: Read requests
+ # metric_kind: DELTA
+ # value_type: INT64
+ #
+ # - name: library.googleapis.com/write_calls
+ # display_name: Write requests
+ # metric_kind: DELTA
+ # value_type: INT64
+ #
+ "metricRules": [ # List of `MetricRule` definitions, each one mapping a selected method to one
+ # or more metrics.
+ { # Bind API methods to metrics. Binding a method to a metric causes that
+ # metric's configured quota behaviors to apply to the method call.
+ "metricCosts": { # Metrics to update when the selected methods are called, and the associated
+ # cost applied to each metric.
+ #
+ # The key of the map is the metric name, and the values are the amount
+ # increased for the metric against which the quota limits are defined.
+ # The value must not be negative.
+ "a_key": "A String",
+ },
+ "selector": "A String", # Selects the methods to which this rule applies.
+ #
+ # Refer to selector for syntax details.
+ },
+ ],
+ "limits": [ # List of `QuotaLimit` definitions for the service.
+ { # `QuotaLimit` defines a specific limit that applies over a specified duration
+ # for a limit type. There can be at most one limit for a duration and limit
+ # type combination defined within a `QuotaGroup`.
+ "displayName": "A String", # User-visible display name for this limit.
+ # Optional. If not set, the UI will provide a default display name based on
+ # the quota configuration. This field can be used to override the default
+ # display name generated from the configuration.
+ "name": "A String", # Name of the quota limit.
+ #
+ # The name must be provided, and it must be unique within the service. The
+ # name can only include alphanumeric characters as well as '-'.
+ #
+ # The maximum length of the limit name is 64 characters.
+ "defaultLimit": "A String", # Default number of tokens that can be consumed during the specified
+ # duration. This is the number of tokens assigned when a client
+ # application developer activates the service for his/her project.
+ #
+ # Specifying a value of 0 will block all requests. This can be used if you
+ # are provisioning quota to selected consumers and blocking others.
+ # Similarly, a value of -1 will indicate an unlimited quota. No other
+ # negative values are allowed.
+ #
+ # Used by group-based quotas only.
+ "metric": "A String", # The name of the metric this quota limit applies to. The quota limits with
+ # the same metric will be checked together during runtime. The metric must be
+ # defined within the service config.
+ "values": { # Tiered limit values. You must specify this as a key:value pair, with an
+ # integer value that is the maximum number of requests allowed for the
+ # specified unit. Currently only STANDARD is supported.
+ "a_key": "A String",
+ },
+ "maxLimit": "A String", # Maximum number of tokens that can be consumed during the specified
+ # duration. Client application developers can override the default limit up
+ # to this maximum. If specified, this value cannot be set to a value less
+ # than the default limit. If not specified, it is set to the default limit.
+ #
+ # To allow clients to apply overrides with no upper bound, set this to -1,
+ # indicating unlimited maximum quota.
+ #
+ # Used by group-based quotas only.
+ "duration": "A String", # Duration of this limit in textual notation. Example: "100s", "24h", "1d".
+ # For duration longer than a day, only multiple of days is supported. We
+ # support only "100s" and "1d" for now. Additional support will be added in
+ # the future. "0" indicates indefinite duration.
+ #
+ # Used by group-based quotas only.
+ "freeTier": "A String", # Free tier value displayed in the Developers Console for this limit.
+ # The free tier is the number of tokens that will be subtracted from the
+ # billed amount when billing is enabled.
+ # This field can only be set on a limit with duration "1d", in a billable
+ # group; it is invalid on any other limit. If this field is not set, it
+ # defaults to 0, indicating that there is no free tier for this service.
+ #
+ # Used by group-based quotas only.
+ "unit": "A String", # Specify the unit of the quota limit. It uses the same syntax as
+ # Metric.unit. The supported unit kinds are determined by the quota
+ # backend system.
+ #
+ # Here are some examples:
+ # * "1/min/{project}" for quota per minute per project.
+ #
+ # Note: the order of unit components is insignificant.
+ # The "1" at the beginning is required to follow the metric unit syntax.
+ "description": "A String", # Optional. User-visible, extended description for this quota limit.
+ # Should be used only when more context is needed to understand this limit
+ # than provided by the limit's display name (see: `display_name`).
+ },
+ ],
+ },
+ "authentication": { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
+ #
+ # Example for an API targeted for external use:
+ #
+ # name: calendar.googleapis.com
+ # authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
+ # rules:
+ # - selector: "*"
+ # requirements:
+ # provider_id: google_calendar_auth
+ "rules": [ # A list of authentication rules that apply to individual API methods.
+ #
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ { # Authentication rules for the service.
+ #
+ # By default, if a method has any authentication requirements, every request
+ # must include a valid credential matching one of the requirements.
+ # It's an error to include more than one kind of credential in a single
+ # request.
+ #
+ # If a method doesn't have any auth requirements, request credentials will be
+ # ignored.
+ "oauth": { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
+ # there are scopes defined for "Read-only access to Google Calendar" and
+ # "Access to Cloud Platform". Users can consent to a scope for an application,
+ # giving it permission to access that data on their behalf.
+ #
+ # OAuth scope specifications should be fairly coarse grained; a user will need
+ # to see and understand the text description of what your scope means.
+ #
+ # In most cases: use one or at most two OAuth scopes for an entire family of
+ # products. If your product has multiple APIs, you should probably be sharing
+ # the OAuth scope across all of those APIs.
+ #
+ # When you need finer grained OAuth consent screens: talk with your product
+ # management about how developers will use them in practice.
+ #
+ # Please note that even though each of the canonical scopes is enough for a
+ # request to be accepted and passed to the backend, a request can still fail
+ # due to the backend requiring additional scopes or permissions.
+ "canonicalScopes": "A String", # The list of publicly documented OAuth scopes that are allowed access. An
+ # OAuth token containing any of these scopes will be accepted.
+ #
+ # Example:
+ #
+ # canonical_scopes: https://www.googleapis.com/auth/calendar,
+ # https://www.googleapis.com/auth/calendar.read
+ },
+ "allowWithoutCredential": True or False, # If true, the service accepts API keys without any other credential.
+ "requirements": [ # Requirements for additional authentication providers.
+ { # User-defined authentication requirements, including support for
+ # [JSON Web Token
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
+ "providerId": "A String", # id from authentication provider.
+ #
+ # Example:
+ #
+ # provider_id: bookstore_auth
+ "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ #
+ # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # that are allowed to access. A JWT containing any of these audiences will
+ # be accepted. When this setting is absent, only JWTs with audience
+ # "https://Service_name/API_name"
+ # will be accepted. For example, if no audiences are in the setting,
+ # LibraryService API will only accept JWTs with the following audience
+ # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+ #
+ # Example:
+ #
+ # audiences: bookstore_android.apps.googleusercontent.com,
+ # bookstore_web.apps.googleusercontent.com
+ },
+ ],
+ "selector": "A String", # Selects the methods to which this rule applies.
+ #
+ # Refer to selector for syntax details.
+ },
+ ],
+ "providers": [ # Defines a set of authentication providers that a service supports.
+ { # Configuration for an authentication provider, including support for
+ # [JSON Web Token
+ # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
+ "audiences": "A String", # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # that are allowed to access. A JWT containing any of these audiences will
+ # be accepted. When this setting is absent, only JWTs with audience
+ # "https://Service_name/API_name"
+ # will be accepted. For example, if no audiences are in the setting,
+ # LibraryService API will only accept JWTs with the following audience
+ # "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+ #
+ # Example:
+ #
+ # audiences: bookstore_android.apps.googleusercontent.com,
+ # bookstore_web.apps.googleusercontent.com
+ "jwksUri": "A String", # URL of the provider's public key set to validate signature of the JWT. See
+ # [OpenID
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
+ # Optional if the key set document:
+ # - can be retrieved from
+ # [OpenID
+ # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
+ # the issuer.
+ # - can be inferred from the email domain of the issuer (e.g. a Google
+ # service account).
+ #
+ # Example: https://www.googleapis.com/oauth2/v1/certs
+ "id": "A String", # The unique identifier of the auth provider. It will be referred to by
+ # `AuthRequirement.provider_id`.
+ #
+ # Example: "bookstore_auth".
+ "authorizationUrl": "A String", # Redirect URL if JWT token is required but not present or is expired.
+ # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
+ "issuer": "A String", # Identifies the principal that issued the JWT. See
+ # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
+ # Usually a URL or an email address.
+ #
+ # Example: https://securetoken.google.com
+ # Example: 1234567-compute@developer.gserviceaccount.com
+ },
+ ],
+ },
+ "usage": { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
+ "rules": [ # A list of usage rules that apply to individual API methods.
+ #
+ # **NOTE:** All service configuration rules follow "last one wins" order.
+ { # Usage configuration rules for the service.
+ #
+ # NOTE: Under development.
+ #
+ #
+ # Use this rule to configure unregistered calls for the service. Unregistered
+ # calls are calls that do not contain consumer project identity.
+ # (Example: calls that do not contain an API key).
+ # By default, API methods do not allow unregistered calls, and each method call
+ # must be identified by a consumer project identity. Use this rule to
+ # allow/disallow unregistered calls.
+ #
+ # Example of an API that wants to allow unregistered calls for entire service.
+ #
+ # usage:
+ # rules:
+ # - selector: "*"
+ # allow_unregistered_calls: true
+ #
+ # Example of a method that wants to allow unregistered calls.
+ #
+ # usage:
+ # rules:
+ # - selector: "google.example.library.v1.LibraryService.CreateBook"
+ # allow_unregistered_calls: true
+ "selector": "A String", # Selects the methods to which this rule applies. Use '*' to indicate all
+ # methods in all APIs.
+ #
+ # Refer to selector for syntax details.
+ "skipServiceControl": True or False, # If true, the selected method should skip service control and the control
+ # plane features, such as quota and billing, will not be available.
+ # This flag is used by Google Cloud Endpoints to bypass checks for internal
+ # methods, such as service health check methods.
+ "allowUnregisteredCalls": True or False, # If true, the selected method allows unregistered calls, e.g. calls
+ # that don't identify any user or application.
+ },
+ ],
+ "producerNotificationChannel": "A String", # The full resource name of a channel used for sending notifications to the
+ # service producer.
+ #
+ # Google Service Management currently only supports
+ # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
+ # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
+ # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
+ # documented in https://cloud.google.com/pubsub/docs/overview.
+ "requirements": [ # Requirements that must be satisfied before a consumer project can use the
+ # service. Each requirement is of the form <service.name>/<requirement-id>;
+ # for example 'serviceusage.googleapis.com/billing-enabled'.
+ "A String",
+ ],
+ },
+ "title": "A String", # The product title for this service.
+ "endpoints": [ # Configuration for network endpoints. Contains only the names and aliases
+ # of the endpoints.
+ { # `Endpoint` describes a network endpoint that serves a set of APIs.
+ # A service may expose any number of endpoints, and all endpoints share the
+ # same service configuration, such as quota configuration and monitoring
+ # configuration.
+ #
+ # Example service configuration:
+ #
+ # name: library-example.googleapis.com
+ # endpoints:
+ # # Below entry makes 'google.example.library.v1.Library'
+ # # API be served from endpoint address library-example.googleapis.com.
+ # # It also allows HTTP OPTIONS calls to be passed to the backend, for
+ # # it to decide whether the subsequent cross-origin request is
+ # # allowed to proceed.
+ # - name: library-example.googleapis.com
+ # allow_cors: true
+ "allowCors": True or False, # Allowing
+ # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
+ # cross-domain traffic, would allow the backends served from this endpoint to
+ # receive and respond to HTTP OPTIONS requests. The response will be used by
+ # the browser to determine whether the subsequent cross-origin request is
+ # allowed to proceed.
+ "target": "A String", # The specification of an Internet routable address of API frontend that will
+ # handle requests to this [API
+ # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
+ # either a valid IPv4 address or a fully-qualified domain name. For example,
+ # "8.8.8.8" or "myservice.appspot.com".
+ "features": [ # The list of features enabled on this endpoint.
+ "A String",
+ ],
+ "name": "A String", # The canonical name of this endpoint.
+ "aliases": [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
+ # please specify multiple google.api.Endpoint for each of the intended
+ # aliases.
+ #
+ # Additional names that this endpoint will be hosted on.
+ "A String",
+ ],
+ },
+ ],
+ },
+ "name": "A String", # The resource name of the consumer and service.
+ #
+ # A valid name would be:
+ # - projects/123/services/serviceusage.googleapis.com
+ "parent": "A String", # The resource name of the consumer.
+ #
+ # A valid name would be:
+ # - projects/123
+ },
+ ],
+ "nextPageToken": "A String", # Token that can be passed to `ListServices` to resume a paginated
+ # query.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+ <pre>Retrieves the next page of results.
+
+Args:
+ previous_request: The request for the previous page. (required)
+ previous_response: The response from the request for the previous page. (required)
+
+Returns:
+ A request object that you can call 'execute()' on to request the next
+ page. Returns None if there are no more items in the collection.
+ </pre>
+</div>
+
+</body></html>
\ No newline at end of file