blob: cc432dd6068a5806b91c2cc5d8e92287b5e50431 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="serviceusage_v1.html">Service Usage API</a> . <a href="serviceusage_v1.services.html">services</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#batchEnable">batchEnable(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070079<p class="firstline">Enable multiple services on a project. The operation is atomic: if enabling</p>
80<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070081 <code><a href="#batchGet">batchGet(parent, names=None, x__xgafv=None)</a></code></p>
82<p class="firstline">Returns the service configurations and enabled states for a given list of</p>
83<p class="toc_element">
84 <code><a href="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070085<p class="firstline">Disable a service so that it can no longer be used with a project.</p>
86<p class="toc_element">
87 <code><a href="#enable">enable(name, body=None, x__xgafv=None)</a></code></p>
88<p class="firstline">Enable a service so that it can be used with a project.</p>
89<p class="toc_element">
90 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
91<p class="firstline">Returns the service configuration and enabled state for a given service.</p>
92<p class="toc_element">
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -070093 <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070094<p class="firstline">List all services available to the specified project, and the current</p>
95<p class="toc_element">
96 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
97<p class="firstline">Retrieves the next page of results.</p>
98<h3>Method Details</h3>
99<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700100 <code class="details" id="batchEnable">batchEnable(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700101 <pre>Enable multiple services on a project. The operation is atomic: if enabling
102any service fails, then the entire batch fails, and no state changes occur.
Dan O'Mearadd494642020-05-01 07:42:23 -0700103To enable a single service, use the `EnableService` method instead.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700104
105Args:
106 parent: string, Parent to enable services on.
107
108An example name would be:
109`projects/123` where `123` is the project number.
110
111The `BatchEnableServices` method currently only supports projects. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700113 The object takes the form of:
114
115{ # Request message for the `BatchEnableServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700116 &quot;serviceIds&quot;: [ # The identifiers of the services to enable on the project.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700117 #
118 # A valid identifier would be:
119 # serviceusage.googleapis.com
120 #
121 # Enabling services requires that each service is public or is shared with
122 # the user enabling the service.
123 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700124 # A single request can enable a maximum of 20 services at a time. If more
125 # than 20 services are specified, the request will fail, and no state changes
126 # will occur.
Bu Sun Kim65020912020-05-20 12:08:20 -0700127 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700128 ],
129 }
130
131 x__xgafv: string, V1 error format.
132 Allowed values
133 1 - v1 error format
134 2 - v2 error format
135
136Returns:
137 An object of the form:
138
139 { # This resource represents a long-running operation that is the result of a
140 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700141 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
142 # contains progress information and common metadata such as create time.
143 # Some services might not provide such metadata. Any method that returns a
144 # long-running operation should document the metadata type, if any.
145 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
146 },
147 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
148 # different programming environments, including REST APIs and RPC APIs. It is
149 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
150 # three pieces of data: error code, error message, and error details.
151 #
152 # You can find out more about this error model and how to work with it in the
153 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700154 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
155 # user-facing error message should be localized and sent in the
156 # google.rpc.Status.details field, or localized by the client.
157 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim65020912020-05-20 12:08:20 -0700158 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
159 # message types for APIs to use.
160 {
161 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
162 },
163 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700164 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700165 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
166 # If `true`, the operation is completed, and either `error` or `response` is
167 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700168 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700169 # method returns no data on success, such as `Delete`, the response is
170 # `google.protobuf.Empty`. If the original method is standard
171 # `Get`/`Create`/`Update`, the response should be the resource. For other
172 # methods, the response should have the type `XxxResponse`, where `Xxx`
173 # is the original method name. For example, if the original method name
174 # is `TakeSnapshot()`, the inferred response type is
175 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700176 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700177 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700178 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
179 # originally returns it. If you use the default HTTP mapping, the
180 # `name` should be a resource name ending with `operations/{unique_id}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700181 }</pre>
182</div>
183
184<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700185 <code class="details" id="batchGet">batchGet(parent, names=None, x__xgafv=None)</code>
186 <pre>Returns the service configurations and enabled states for a given list of
187services.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700188
189Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700190 parent: string, Parent to retrieve services from.
191If this is set, the parent of all of the services specified in `names` must
192match this field. An example name would be: `projects/123` where `123` is
193the project number. The `BatchGetServices` method currently only supports
194projects. (required)
195 names: string, Names of the services to retrieve.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700196
197An example name would be:
198`projects/123/services/serviceusage.googleapis.com` where `123` is the
Dan O'Mearadd494642020-05-01 07:42:23 -0700199project number.
Bu Sun Kim65020912020-05-20 12:08:20 -0700200A single request can get a maximum of 30 services at a time. (repeated)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700201 x__xgafv: string, V1 error format.
202 Allowed values
203 1 - v1 error format
204 2 - v2 error format
205
206Returns:
207 An object of the form:
208
Dan O'Mearadd494642020-05-01 07:42:23 -0700209 { # Response message for the `BatchGetServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700210 &quot;services&quot;: [ # The requested Service states.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700211 { # A service that is available for use by the consumer.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700212 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -0700213 #
214 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700215 # - projects/123
216 &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -0700217 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700218 # Some fields may be filtered out of the configuration in responses to
219 # the `ListServices` method. These fields are present only in responses to
220 # the `GetService` method.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700221 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700222 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700223 # Example for an API targeted for external use:
Bu Sun Kim65020912020-05-20 12:08:20 -0700224 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700225 # name: calendar.googleapis.com
226 # authentication:
227 # providers:
228 # - id: google_calendar_auth
229 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
230 # issuer: https://securetoken.google.com
231 # rules:
232 # - selector: &quot;*&quot;
233 # requirements:
234 # provider_id: google_calendar_auth
235 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
236 { # Configuration for an authentication provider, including support for
237 # [JSON Web Token
238 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
239 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
240 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
241 # that are allowed to access. A JWT containing any of these audiences will
242 # be accepted. When this setting is absent, JWTs with audiences:
243 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
244 # - &quot;https://[service.name]/&quot;
245 # will be accepted.
246 # For example, if no audiences are in the setting, LibraryService API will
247 # accept JWTs with the following audiences:
248 # -
249 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
250 # - https://library-example.googleapis.com/
Bu Sun Kim65020912020-05-20 12:08:20 -0700251 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700252 # Example:
Bu Sun Kim65020912020-05-20 12:08:20 -0700253 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700254 # audiences: bookstore_android.apps.googleusercontent.com,
255 # bookstore_web.apps.googleusercontent.com
256 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
257 # [OpenID
258 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
259 # Optional if the key set document:
260 # - can be retrieved from
261 # [OpenID
262 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
263 # the issuer.
264 # - can be inferred from the email domain of the issuer (e.g. a Google
265 # service account).
Bu Sun Kim65020912020-05-20 12:08:20 -0700266 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700267 # Example: https://www.googleapis.com/oauth2/v1/certs
268 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
269 # `AuthRequirement.provider_id`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700270 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700271 # Example: &quot;bookstore_auth&quot;.
272 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
Bu Sun Kim65020912020-05-20 12:08:20 -0700273 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700274 # JWT locations can be either from HTTP headers or URL query parameters.
275 # The rule is that the first match wins. The checking order is: checking
276 # all headers first, then URL query parameters.
Bu Sun Kim65020912020-05-20 12:08:20 -0700277 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700278 # If not specified, default to use following 3 locations:
279 # 1) Authorization: Bearer
280 # 2) x-goog-iap-jwt-assertion
281 # 3) access_token query parameter
Bu Sun Kim65020912020-05-20 12:08:20 -0700282 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700283 # Default locations can be specified as followings:
284 # jwt_locations:
285 # - header: Authorization
286 # value_prefix: &quot;Bearer &quot;
287 # - header: x-goog-iap-jwt-assertion
288 # - query: access_token
289 { # Specifies a location to extract JWT from an API request.
290 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
291 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
292 # If not empty, the header value has to match (case sensitive) this prefix.
293 # If not matched, JWT will not be extracted. If matched, JWT will be
294 # extracted after the prefix is removed.
295 #
296 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
297 # value_prefix=&quot;Bearer &quot; with a space at the end.
298 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
299 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
300 },
301 ],
302 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
303 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
304 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
305 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
306 # Usually a URL or an email address.
Bu Sun Kim65020912020-05-20 12:08:20 -0700307 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700308 # Example: https://securetoken.google.com
309 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim65020912020-05-20 12:08:20 -0700310 },
311 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700312 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
313 #
314 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
315 { # Authentication rules for the service.
316 #
317 # By default, if a method has any authentication requirements, every request
318 # must include a valid credential matching one of the requirements.
319 # It&#x27;s an error to include more than one kind of credential in a single
320 # request.
321 #
322 # If a method doesn&#x27;t have any auth requirements, request credentials will be
323 # ignored.
324 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
325 { # User-defined authentication requirements, including support for
326 # [JSON Web Token
327 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
328 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
329 # implemented and accepted in all the runtime components.
330 #
331 # The list of JWT
332 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
333 # that are allowed to access. A JWT containing any of these audiences will
334 # be accepted. When this setting is absent, only JWTs with audience
335 # &quot;https://Service_name/API_name&quot;
336 # will be accepted. For example, if no audiences are in the setting,
337 # LibraryService API will only accept JWTs with the following audience
338 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
339 #
340 # Example:
341 #
342 # audiences: bookstore_android.apps.googleusercontent.com,
343 # bookstore_web.apps.googleusercontent.com
344 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
345 #
346 # Example:
347 #
348 # provider_id: bookstore_auth
349 },
350 ],
351 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
Bu Sun Kim65020912020-05-20 12:08:20 -0700352 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
353 #
354 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700355 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
356 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
357 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
358 # giving it permission to access that data on their behalf.
Bu Sun Kim65020912020-05-20 12:08:20 -0700359 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700360 # OAuth scope specifications should be fairly coarse grained; a user will need
361 # to see and understand the text description of what your scope means.
362 #
363 # In most cases: use one or at most two OAuth scopes for an entire family of
364 # products. If your product has multiple APIs, you should probably be sharing
365 # the OAuth scope across all of those APIs.
366 #
367 # When you need finer grained OAuth consent screens: talk with your product
368 # management about how developers will use them in practice.
369 #
370 # Please note that even though each of the canonical scopes is enough for a
371 # request to be accepted and passed to the backend, a request can still fail
372 # due to the backend requiring additional scopes or permissions.
373 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
374 # OAuth token containing any of these scopes will be accepted.
375 #
376 # Example:
377 #
378 # canonical_scopes: https://www.googleapis.com/auth/calendar,
379 # https://www.googleapis.com/auth/calendar.read
Bu Sun Kim65020912020-05-20 12:08:20 -0700380 },
381 },
382 ],
383 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700384 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
385 # of the endpoints.
386 { # `Endpoint` describes a network endpoint that serves a set of APIs.
387 # A service may expose any number of endpoints, and all endpoints share the
388 # same service configuration, such as quota configuration and monitoring
389 # configuration.
390 #
391 # Example service configuration:
392 #
393 # name: library-example.googleapis.com
394 # endpoints:
395 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
396 # # API be served from endpoint address library-example.googleapis.com.
397 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
398 # # it to decide whether the subsequent cross-origin request is
399 # # allowed to proceed.
400 # - name: library-example.googleapis.com
401 # allow_cors: true
402 &quot;features&quot;: [ # The list of features enabled on this endpoint.
403 &quot;A String&quot;,
404 ],
405 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
406 # please specify multiple google.api.Endpoint for each of the intended
407 # aliases.
408 #
409 # Additional names that this endpoint will be hosted on.
410 &quot;A String&quot;,
411 ],
412 &quot;allowCors&quot;: True or False, # Allowing
413 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
414 # cross-domain traffic, would allow the backends served from this endpoint to
415 # receive and respond to HTTP OPTIONS requests. The response will be used by
416 # the browser to determine whether the subsequent cross-origin request is
417 # allowed to proceed.
418 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
419 # handle requests to this [API
420 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
421 # either a valid IPv4 address or a fully-qualified domain name. For example,
422 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
423 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
424 },
425 ],
426 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
427 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
428 #
429 #
430 # Use this field to configure per-product per-project service identity.
431 # Example of a service identity configuration.
432 #
433 # usage:
434 # service_identity:
435 # - service_account_parent: &quot;projects/123456789&quot;
436 # display_name: &quot;Cloud XXX Service Agent&quot;
437 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
438 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
439 # Must be less than or equal to 100 UTF-8 bytes.
440 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
441 # Must be less than or equal to 256 UTF-8 bytes.
442 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
443 #
444 # An example name would be:
445 # `projects/123456789`
446 },
447 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
448 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
449 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
450 &quot;A String&quot;,
451 ],
452 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
453 # service producer.
454 #
455 # Google Service Management currently only supports
456 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
457 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
458 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
459 # documented in https://cloud.google.com/pubsub/docs/overview.
460 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
461 #
462 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
463 { # Usage configuration rules for the service.
464 #
465 # NOTE: Under development.
466 #
467 #
468 # Use this rule to configure unregistered calls for the service. Unregistered
469 # calls are calls that do not contain consumer project identity.
470 # (Example: calls that do not contain an API key).
471 # By default, API methods do not allow unregistered calls, and each method call
472 # must be identified by a consumer project identity. Use this rule to
473 # allow/disallow unregistered calls.
474 #
475 # Example of an API that wants to allow unregistered calls for entire service.
476 #
477 # usage:
478 # rules:
479 # - selector: &quot;*&quot;
480 # allow_unregistered_calls: true
481 #
482 # Example of a method that wants to allow unregistered calls.
483 #
484 # usage:
485 # rules:
486 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
487 # allow_unregistered_calls: true
488 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
489 # plane features, such as quota and billing, will not be available.
490 # This flag is used by Google Cloud Endpoints to bypass checks for internal
491 # methods, such as service health check methods.
492 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
493 # that don&#x27;t identify any user or application.
494 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
495 # methods in all APIs.
496 #
497 # Refer to selector for syntax details.
498 },
499 ],
500 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700501 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
502 # versions, and method names of the interfaces.
503 { # Api is a light-weight descriptor for an API Interface.
504 #
505 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
506 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
507 # from API Services, which represent a concrete implementation of an interface
508 # as opposed to simply a description of methods and bindings. They are also
509 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
510 # this message itself. See https://cloud.google.com/apis/design/glossary for
511 # detailed terminology.
Bu Sun Kim65020912020-05-20 12:08:20 -0700512 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
Bu Sun Kim65020912020-05-20 12:08:20 -0700513 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
514 # message.
515 # protobuf element, like the file in which it is defined.
516 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
517 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
518 },
519 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
520 # `major-version.minor-version`, as in `1.10`. If the minor version is
521 # omitted, it defaults to zero. If the entire version field is empty, the
522 # major version is derived from the package name, as outlined below. If the
523 # field is not empty, the version in the package name will be verified to be
524 # consistent with what is provided here.
525 #
526 # The versioning schema uses [semantic
527 # versioning](http://semver.org) where the major version number
528 # indicates a breaking change and the minor version an additive,
529 # non-breaking change. Both version numbers are signals to users
530 # what to expect from different versions, and should be carefully
531 # chosen based on the product plan.
532 #
533 # The major version is also reflected in the package name of the
534 # interface, which must end in `v&lt;major-version&gt;`, as in
535 # `google.feature.v1`. For major versions 0 and 1, the suffix can
536 # be omitted. Zero major versions must only be used for
537 # experimental, non-GA interfaces.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700538 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
539 { # Method represents a method of an API interface.
540 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
541 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
542 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
543 &quot;options&quot;: [ # Any metadata attached to the method.
544 { # A protocol buffer option, which can be attached to a message, field,
545 # enumeration, etc.
546 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
547 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
548 # For custom options, it should be the fully-qualified name. For example,
549 # `&quot;google.api.http&quot;`.
550 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
551 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
552 # should be used. If the value is an enum, it should be stored as an int32
553 # value using the google.protobuf.Int32Value type.
554 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
555 },
556 },
557 ],
558 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
559 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
560 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
561 },
562 ],
563 &quot;options&quot;: [ # Any metadata attached to the interface.
564 { # A protocol buffer option, which can be attached to a message, field,
565 # enumeration, etc.
566 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
567 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
568 # For custom options, it should be the fully-qualified name. For example,
569 # `&quot;google.api.http&quot;`.
570 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
571 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
572 # should be used. If the value is an enum, it should be stored as an int32
573 # value using the google.protobuf.Int32Value type.
574 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
575 },
576 },
577 ],
578 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
579 # followed by the interface&#x27;s simple name.
Bu Sun Kim65020912020-05-20 12:08:20 -0700580 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
581 { # Declares an API Interface to be included in this interface. The including
582 # interface must redeclare all the methods from the included interface, but
583 # documentation and options are inherited as follows:
584 #
585 # - If after comment and whitespace stripping, the documentation
586 # string of the redeclared method is empty, it will be inherited
587 # from the original method.
588 #
589 # - Each annotation belonging to the service config (http,
590 # visibility) which is not set in the redeclared method will be
591 # inherited.
592 #
593 # - If an http annotation is inherited, the path pattern will be
594 # modified as follows. Any version prefix will be replaced by the
595 # version of the including interface plus the root path if
596 # specified.
597 #
598 # Example of a simple mixin:
599 #
600 # package google.acl.v1;
601 # service AccessControl {
602 # // Get the underlying ACL object.
603 # rpc GetAcl(GetAclRequest) returns (Acl) {
604 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
605 # }
606 # }
607 #
608 # package google.storage.v2;
609 # service Storage {
610 # // rpc GetAcl(GetAclRequest) returns (Acl);
611 #
612 # // Get a data record.
613 # rpc GetData(GetDataRequest) returns (Data) {
614 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
615 # }
616 # }
617 #
618 # Example of a mixin configuration:
619 #
620 # apis:
621 # - name: google.storage.v2.Storage
622 # mixins:
623 # - name: google.acl.v1.AccessControl
624 #
625 # The mixin construct implies that all methods in `AccessControl` are
626 # also declared with same name and request/response types in
627 # `Storage`. A documentation generator or annotation processor will
628 # see the effective `Storage.GetAcl` method after inherting
629 # documentation and annotations as follows:
630 #
631 # service Storage {
632 # // Get the underlying ACL object.
633 # rpc GetAcl(GetAclRequest) returns (Acl) {
634 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
635 # }
636 # ...
637 # }
638 #
639 # Note how the version in the path pattern changed from `v1` to `v2`.
640 #
641 # If the `root` field in the mixin is specified, it should be a
642 # relative path under which inherited HTTP paths are placed. Example:
643 #
644 # apis:
645 # - name: google.storage.v2.Storage
646 # mixins:
647 # - name: google.acl.v1.AccessControl
648 # root: acls
649 #
650 # This implies the following inherited HTTP annotation:
651 #
652 # service Storage {
653 # // Get the underlying ACL object.
654 # rpc GetAcl(GetAclRequest) returns (Acl) {
655 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
656 # }
657 # ...
658 # }
Bu Sun Kim65020912020-05-20 12:08:20 -0700659 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
660 # are rooted.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700661 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim65020912020-05-20 12:08:20 -0700662 },
663 ],
664 },
665 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700666 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
667 #
668 # An example DNS address would be:
669 # `calendar.googleapis.com`.
670 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
671 # usage.
672 #
673 # The metric based quota configuration works this way:
674 # - The service configuration defines a set of metrics.
675 # - For API calls, the quota.metric_rules maps methods to metrics with
676 # corresponding costs.
677 # - The quota.limits defines limits on the metrics, which will be used for
678 # quota checks at runtime.
679 #
680 # An example quota configuration in yaml format:
681 #
682 # quota:
683 # limits:
684 #
685 # - name: apiWriteQpsPerProject
686 # metric: library.googleapis.com/write_calls
687 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
688 # values:
689 # STANDARD: 10000
690 #
691 #
692 # # The metric rules bind all methods to the read_calls metric,
693 # # except for the UpdateBook and DeleteBook methods. These two methods
694 # # are mapped to the write_calls metric, with the UpdateBook method
695 # # consuming at twice rate as the DeleteBook method.
696 # metric_rules:
697 # - selector: &quot;*&quot;
698 # metric_costs:
699 # library.googleapis.com/read_calls: 1
700 # - selector: google.example.library.v1.LibraryService.UpdateBook
701 # metric_costs:
702 # library.googleapis.com/write_calls: 2
703 # - selector: google.example.library.v1.LibraryService.DeleteBook
704 # metric_costs:
705 # library.googleapis.com/write_calls: 1
706 #
707 # Corresponding Metric definition:
708 #
709 # metrics:
710 # - name: library.googleapis.com/read_calls
711 # display_name: Read requests
712 # metric_kind: DELTA
713 # value_type: INT64
714 #
715 # - name: library.googleapis.com/write_calls
716 # display_name: Write requests
717 # metric_kind: DELTA
718 # value_type: INT64
719 #
720 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
721 # or more metrics.
722 { # Bind API methods to metrics. Binding a method to a metric causes that
723 # metric&#x27;s configured quota behaviors to apply to the method call.
724 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
725 #
726 # Refer to selector for syntax details.
727 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
728 # cost applied to each metric.
729 #
730 # The key of the map is the metric name, and the values are the amount
731 # increased for the metric against which the quota limits are defined.
732 # The value must not be negative.
733 &quot;a_key&quot;: &quot;A String&quot;,
734 },
735 },
736 ],
737 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
738 { # `QuotaLimit` defines a specific limit that applies over a specified duration
739 # for a limit type. There can be at most one limit for a duration and limit
740 # type combination defined within a `QuotaGroup`.
741 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
742 # The free tier is the number of tokens that will be subtracted from the
743 # billed amount when billing is enabled.
744 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
745 # group; it is invalid on any other limit. If this field is not set, it
746 # defaults to 0, indicating that there is no free tier for this service.
747 #
748 # Used by group-based quotas only.
749 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
750 #
751 # Used by group-based quotas only.
752 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
753 # Metric.unit. The supported unit kinds are determined by the quota
754 # backend system.
755 #
756 # Here are some examples:
757 # * &quot;1/min/{project}&quot; for quota per minute per project.
758 #
759 # Note: the order of unit components is insignificant.
760 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
761 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
762 # integer value that is the maximum number of requests allowed for the
763 # specified unit. Currently only STANDARD is supported.
764 &quot;a_key&quot;: &quot;A String&quot;,
765 },
766 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
767 # duration. This is the number of tokens assigned when a client
768 # application developer activates the service for his/her project.
769 #
770 # Specifying a value of 0 will block all requests. This can be used if you
771 # are provisioning quota to selected consumers and blocking others.
772 # Similarly, a value of -1 will indicate an unlimited quota. No other
773 # negative values are allowed.
774 #
775 # Used by group-based quotas only.
776 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
777 #
778 # The name must be provided, and it must be unique within the service. The
779 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
780 #
781 # The maximum length of the limit name is 64 characters.
782 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
783 # duration. Client application developers can override the default limit up
784 # to this maximum. If specified, this value cannot be set to a value less
785 # than the default limit. If not specified, it is set to the default limit.
786 #
787 # To allow clients to apply overrides with no upper bound, set this to -1,
788 # indicating unlimited maximum quota.
789 #
790 # Used by group-based quotas only.
791 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
792 # Optional. If not set, the UI will provide a default display name based on
793 # the quota configuration. This field can be used to override the default
794 # display name generated from the configuration.
795 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
796 # Should be used only when more context is needed to understand this limit
797 # than provided by the limit&#x27;s display name (see: `display_name`).
798 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
799 # the same metric will be checked together during runtime. The metric must be
800 # defined within the service config.
801 },
802 ],
803 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700804 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700805 # documentation URL.
806 #
807 # Example:
Dan O'Mearadd494642020-05-01 07:42:23 -0700808 # &lt;pre&gt;&lt;code&gt;documentation:
809 # summary: &gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700810 # The Google Calendar API gives access
811 # to most calendar features.
812 # pages:
813 # - name: Overview
Dan O'Mearadd494642020-05-01 07:42:23 -0700814 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700815 # - name: Tutorial
Dan O'Mearadd494642020-05-01 07:42:23 -0700816 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700817 # subpages;
818 # - name: Java
Dan O'Mearadd494642020-05-01 07:42:23 -0700819 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700820 # rules:
821 # - selector: google.calendar.Calendar.Get
Dan O'Mearadd494642020-05-01 07:42:23 -0700822 # description: &gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700823 # ...
824 # - selector: google.calendar.Calendar.Put
Dan O'Mearadd494642020-05-01 07:42:23 -0700825 # description: &gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700826 # ...
Dan O'Mearadd494642020-05-01 07:42:23 -0700827 # &lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700828 # Documentation is provided in markdown syntax. In addition to
829 # standard markdown features, definition lists, tables and fenced
830 # code blocks are supported. Section headers can be provided and are
831 # interpreted relative to the section nesting of the context where
832 # a documentation fragment is embedded.
833 #
834 # Documentation from the IDL is merged with documentation defined
835 # via the config at normalization time, where documentation provided
836 # by config rules overrides IDL provided.
837 #
838 # A number of constructs specific to the API platform are supported
839 # in documentation text.
840 #
841 # In order to reference a proto element, the following
842 # notation can be used:
Dan O'Mearadd494642020-05-01 07:42:23 -0700843 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700844 # To override the display text used for the link, this can be used:
Dan O'Mearadd494642020-05-01 07:42:23 -0700845 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700846 # Text can be excluded from doc using the following notation:
Dan O'Mearadd494642020-05-01 07:42:23 -0700847 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700848 #
849 # A few directives are available in documentation. Note that
850 # directives must appear on a single line to be properly
851 # identified. The `include` directive includes a markdown file from
852 # an external source:
Dan O'Mearadd494642020-05-01 07:42:23 -0700853 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700854 # The `resource_for` directive marks a message to be the resource of
855 # a collection in REST view. If it is not specified, tools attempt
856 # to infer the resource from the operations in a collection:
Dan O'Mearadd494642020-05-01 07:42:23 -0700857 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700858 # The directive `suppress_warning` does not directly affect documentation
859 # and is documented together with service config validation.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700860 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
861 #
862 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
863 { # A documentation rule provides information about individual API elements.
864 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
865 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
866 # Wildcards are only allowed at the end and for a whole component of the
867 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
868 # wildcard will match one or more components. To specify a default for all
869 # applicable elements, the whole pattern &quot;*&quot; is used.
870 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
871 # an element is marked as `deprecated`.
872 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
873 },
874 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700875 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
Dan O'Mearadd494642020-05-01 07:42:23 -0700876 # from the yaml file) is not suitable. This can be seen in any fully
877 # specified service urls as well as sections that show a base that other
878 # urls are relative to.
Bu Sun Kim65020912020-05-20 12:08:20 -0700879 &quot;pages&quot;: [ # The top level pages for the documentation set.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700880 { # Represents a documentation page. A page can contain subpages to represent
881 # nested documentation set structure.
Bu Sun Kim65020912020-05-20 12:08:20 -0700882 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700883 # generate URI of the page, text of the link to this page in navigation,
884 # etc. The full page name (start from the root page name to this page
885 # concatenated with `.`) can be used as reference to the page in your
886 # documentation. For example:
Dan O'Mearadd494642020-05-01 07:42:23 -0700887 # &lt;pre&gt;&lt;code&gt;pages:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700888 # - name: Tutorial
Dan O'Mearadd494642020-05-01 07:42:23 -0700889 # content: &amp;#40;== include tutorial.md ==&amp;#41;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700890 # subpages:
891 # - name: Java
Dan O'Mearadd494642020-05-01 07:42:23 -0700892 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
893 # &lt;/code&gt;&lt;/pre&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700894 # You can reference `Java` page using Markdown reference link syntax:
895 # `Java`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700896 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
897 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700898 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
899 # honored in the generated docset.
900 # Object with schema name: Page
901 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700902 },
903 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700904 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
905 # &lt;pre&gt;&lt;code&gt;documentation:
906 # summary: ...
907 # overview: &amp;#40;== include overview.md ==&amp;#41;
908 # &lt;/code&gt;&lt;/pre&gt;
909 # This is a shortcut for the following declaration (using pages style):
910 # &lt;pre&gt;&lt;code&gt;documentation:
911 # summary: ...
912 # pages:
913 # - name: Overview
914 # content: &amp;#40;== include overview.md ==&amp;#41;
915 # &lt;/code&gt;&lt;/pre&gt;
916 # Note: you cannot specify both `overview` field and `pages` field.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700917 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
918 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
919 # plain text.
Bu Sun Kim65020912020-05-20 12:08:20 -0700920 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700921 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
Dan O'Mearadd494642020-05-01 07:42:23 -0700922 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700923 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
Dan O'Mearadd494642020-05-01 07:42:23 -0700924 #
925 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700926 # - projects/123/services/serviceusage.googleapis.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700927 },
928 ],
929 }</pre>
930</div>
931
932<div class="method">
933 <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
934 <pre>Disable a service so that it can no longer be used with a project.
935This prevents unintended usage that may cause unexpected billing
936charges or security leaks.
937
938It is not valid to call the disable method on a service that is not
939currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
940the target service is not currently enabled.
941
942Args:
943 name: string, Name of the consumer and service to disable the service on.
944
945The enable and disable methods currently only support projects.
946
947An example name would be:
948`projects/123/services/serviceusage.googleapis.com` where `123` is the
949project number. (required)
950 body: object, The request body.
951 The object takes the form of:
952
953{ # Request message for the `DisableService` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700954 &quot;disableDependentServices&quot;: True or False, # Indicates if services that are enabled and which depend on this service
Dan O'Mearadd494642020-05-01 07:42:23 -0700955 # should also be disabled. If not set, an error will be generated if any
956 # enabled services depend on the service to be disabled. When set, the
957 # service, and any enabled services that depend on it, will be disabled
958 # together.
959 }
960
961 x__xgafv: string, V1 error format.
962 Allowed values
963 1 - v1 error format
964 2 - v2 error format
965
966Returns:
967 An object of the form:
968
969 { # This resource represents a long-running operation that is the result of a
970 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700971 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
972 # contains progress information and common metadata such as create time.
973 # Some services might not provide such metadata. Any method that returns a
974 # long-running operation should document the metadata type, if any.
975 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
976 },
977 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
978 # different programming environments, including REST APIs and RPC APIs. It is
979 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
980 # three pieces of data: error code, error message, and error details.
981 #
982 # You can find out more about this error model and how to work with it in the
983 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700984 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
985 # user-facing error message should be localized and sent in the
986 # google.rpc.Status.details field, or localized by the client.
987 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim65020912020-05-20 12:08:20 -0700988 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
989 # message types for APIs to use.
990 {
991 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
992 },
993 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700994 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700995 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
996 # If `true`, the operation is completed, and either `error` or `response` is
997 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -0700998 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700999 # method returns no data on success, such as `Delete`, the response is
1000 # `google.protobuf.Empty`. If the original method is standard
1001 # `Get`/`Create`/`Update`, the response should be the resource. For other
1002 # methods, the response should have the type `XxxResponse`, where `Xxx`
1003 # is the original method name. For example, if the original method name
1004 # is `TakeSnapshot()`, the inferred response type is
1005 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001006 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -07001007 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001008 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
1009 # originally returns it. If you use the default HTTP mapping, the
1010 # `name` should be a resource name ending with `operations/{unique_id}`.
Dan O'Mearadd494642020-05-01 07:42:23 -07001011 }</pre>
1012</div>
1013
1014<div class="method">
1015 <code class="details" id="enable">enable(name, body=None, x__xgafv=None)</code>
1016 <pre>Enable a service so that it can be used with a project.
1017
1018Args:
1019 name: string, Name of the consumer and service to enable the service on.
1020
1021The `EnableService` and `DisableService` methods currently only support
1022projects.
1023
1024Enabling a service requires that the service is public or is shared with
1025the user enabling the service.
1026
1027An example name would be:
1028`projects/123/services/serviceusage.googleapis.com` where `123` is the
1029project number. (required)
1030 body: object, The request body.
1031 The object takes the form of:
1032
1033{ # Request message for the `EnableService` method.
1034 }
1035
1036 x__xgafv: string, V1 error format.
1037 Allowed values
1038 1 - v1 error format
1039 2 - v2 error format
1040
1041Returns:
1042 An object of the form:
1043
1044 { # This resource represents a long-running operation that is the result of a
1045 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07001046 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
1047 # contains progress information and common metadata such as create time.
1048 # Some services might not provide such metadata. Any method that returns a
1049 # long-running operation should document the metadata type, if any.
1050 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1051 },
1052 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1053 # different programming environments, including REST APIs and RPC APIs. It is
1054 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1055 # three pieces of data: error code, error message, and error details.
1056 #
1057 # You can find out more about this error model and how to work with it in the
1058 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001059 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
1060 # user-facing error message should be localized and sent in the
1061 # google.rpc.Status.details field, or localized by the client.
1062 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim65020912020-05-20 12:08:20 -07001063 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
1064 # message types for APIs to use.
1065 {
1066 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1067 },
1068 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001069 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001070 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
1071 # If `true`, the operation is completed, and either `error` or `response` is
1072 # available.
Bu Sun Kim65020912020-05-20 12:08:20 -07001073 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -07001074 # method returns no data on success, such as `Delete`, the response is
1075 # `google.protobuf.Empty`. If the original method is standard
1076 # `Get`/`Create`/`Update`, the response should be the resource. For other
1077 # methods, the response should have the type `XxxResponse`, where `Xxx`
1078 # is the original method name. For example, if the original method name
1079 # is `TakeSnapshot()`, the inferred response type is
1080 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001081 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -07001082 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001083 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
1084 # originally returns it. If you use the default HTTP mapping, the
1085 # `name` should be a resource name ending with `operations/{unique_id}`.
Dan O'Mearadd494642020-05-01 07:42:23 -07001086 }</pre>
1087</div>
1088
1089<div class="method">
1090 <code class="details" id="get">get(name, x__xgafv=None)</code>
1091 <pre>Returns the service configuration and enabled state for a given service.
1092
1093Args:
1094 name: string, Name of the consumer and service to get the `ConsumerState` for.
1095
1096An example name would be:
1097`projects/123/services/serviceusage.googleapis.com` where `123` is the
1098project number. (required)
1099 x__xgafv: string, V1 error format.
1100 Allowed values
1101 1 - v1 error format
1102 2 - v2 error format
1103
1104Returns:
1105 An object of the form:
1106
1107 { # A service that is available for use by the consumer.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001108 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -07001109 #
1110 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001111 # - projects/123
1112 &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -07001113 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001114 # Some fields may be filtered out of the configuration in responses to
1115 # the `ListServices` method. These fields are present only in responses to
1116 # the `GetService` method.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001117 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
Dan O'Mearadd494642020-05-01 07:42:23 -07001118 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001119 # Example for an API targeted for external use:
Bu Sun Kim65020912020-05-20 12:08:20 -07001120 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001121 # name: calendar.googleapis.com
1122 # authentication:
1123 # providers:
1124 # - id: google_calendar_auth
1125 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
1126 # issuer: https://securetoken.google.com
1127 # rules:
1128 # - selector: &quot;*&quot;
1129 # requirements:
1130 # provider_id: google_calendar_auth
1131 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
1132 { # Configuration for an authentication provider, including support for
1133 # [JSON Web Token
1134 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1135 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
1136 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1137 # that are allowed to access. A JWT containing any of these audiences will
1138 # be accepted. When this setting is absent, JWTs with audiences:
1139 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
1140 # - &quot;https://[service.name]/&quot;
1141 # will be accepted.
1142 # For example, if no audiences are in the setting, LibraryService API will
1143 # accept JWTs with the following audiences:
1144 # -
1145 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
1146 # - https://library-example.googleapis.com/
Bu Sun Kim65020912020-05-20 12:08:20 -07001147 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001148 # Example:
Bu Sun Kim65020912020-05-20 12:08:20 -07001149 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001150 # audiences: bookstore_android.apps.googleusercontent.com,
1151 # bookstore_web.apps.googleusercontent.com
1152 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
1153 # [OpenID
1154 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
1155 # Optional if the key set document:
1156 # - can be retrieved from
1157 # [OpenID
1158 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
1159 # the issuer.
1160 # - can be inferred from the email domain of the issuer (e.g. a Google
1161 # service account).
Bu Sun Kim65020912020-05-20 12:08:20 -07001162 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001163 # Example: https://www.googleapis.com/oauth2/v1/certs
1164 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
1165 # `AuthRequirement.provider_id`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001166 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001167 # Example: &quot;bookstore_auth&quot;.
1168 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
Bu Sun Kim65020912020-05-20 12:08:20 -07001169 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001170 # JWT locations can be either from HTTP headers or URL query parameters.
1171 # The rule is that the first match wins. The checking order is: checking
1172 # all headers first, then URL query parameters.
Bu Sun Kim65020912020-05-20 12:08:20 -07001173 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001174 # If not specified, default to use following 3 locations:
1175 # 1) Authorization: Bearer
1176 # 2) x-goog-iap-jwt-assertion
1177 # 3) access_token query parameter
Bu Sun Kim65020912020-05-20 12:08:20 -07001178 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001179 # Default locations can be specified as followings:
1180 # jwt_locations:
1181 # - header: Authorization
1182 # value_prefix: &quot;Bearer &quot;
1183 # - header: x-goog-iap-jwt-assertion
1184 # - query: access_token
1185 { # Specifies a location to extract JWT from an API request.
1186 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
1187 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
1188 # If not empty, the header value has to match (case sensitive) this prefix.
1189 # If not matched, JWT will not be extracted. If matched, JWT will be
1190 # extracted after the prefix is removed.
1191 #
1192 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
1193 # value_prefix=&quot;Bearer &quot; with a space at the end.
1194 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
1195 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
1196 },
1197 ],
1198 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
1199 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
1200 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
1201 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
1202 # Usually a URL or an email address.
Bu Sun Kim65020912020-05-20 12:08:20 -07001203 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001204 # Example: https://securetoken.google.com
1205 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim65020912020-05-20 12:08:20 -07001206 },
1207 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001208 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
1209 #
1210 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1211 { # Authentication rules for the service.
1212 #
1213 # By default, if a method has any authentication requirements, every request
1214 # must include a valid credential matching one of the requirements.
1215 # It&#x27;s an error to include more than one kind of credential in a single
1216 # request.
1217 #
1218 # If a method doesn&#x27;t have any auth requirements, request credentials will be
1219 # ignored.
1220 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
1221 { # User-defined authentication requirements, including support for
1222 # [JSON Web Token
1223 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1224 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
1225 # implemented and accepted in all the runtime components.
1226 #
1227 # The list of JWT
1228 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1229 # that are allowed to access. A JWT containing any of these audiences will
1230 # be accepted. When this setting is absent, only JWTs with audience
1231 # &quot;https://Service_name/API_name&quot;
1232 # will be accepted. For example, if no audiences are in the setting,
1233 # LibraryService API will only accept JWTs with the following audience
1234 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
1235 #
1236 # Example:
1237 #
1238 # audiences: bookstore_android.apps.googleusercontent.com,
1239 # bookstore_web.apps.googleusercontent.com
1240 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
1241 #
1242 # Example:
1243 #
1244 # provider_id: bookstore_auth
1245 },
1246 ],
1247 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
Bu Sun Kim65020912020-05-20 12:08:20 -07001248 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
1249 #
1250 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001251 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
1252 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
1253 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
1254 # giving it permission to access that data on their behalf.
Bu Sun Kim65020912020-05-20 12:08:20 -07001255 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001256 # OAuth scope specifications should be fairly coarse grained; a user will need
1257 # to see and understand the text description of what your scope means.
1258 #
1259 # In most cases: use one or at most two OAuth scopes for an entire family of
1260 # products. If your product has multiple APIs, you should probably be sharing
1261 # the OAuth scope across all of those APIs.
1262 #
1263 # When you need finer grained OAuth consent screens: talk with your product
1264 # management about how developers will use them in practice.
1265 #
1266 # Please note that even though each of the canonical scopes is enough for a
1267 # request to be accepted and passed to the backend, a request can still fail
1268 # due to the backend requiring additional scopes or permissions.
1269 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
1270 # OAuth token containing any of these scopes will be accepted.
1271 #
1272 # Example:
1273 #
1274 # canonical_scopes: https://www.googleapis.com/auth/calendar,
1275 # https://www.googleapis.com/auth/calendar.read
Bu Sun Kim65020912020-05-20 12:08:20 -07001276 },
1277 },
1278 ],
1279 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001280 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
1281 # of the endpoints.
1282 { # `Endpoint` describes a network endpoint that serves a set of APIs.
1283 # A service may expose any number of endpoints, and all endpoints share the
1284 # same service configuration, such as quota configuration and monitoring
1285 # configuration.
1286 #
1287 # Example service configuration:
1288 #
1289 # name: library-example.googleapis.com
1290 # endpoints:
1291 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
1292 # # API be served from endpoint address library-example.googleapis.com.
1293 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
1294 # # it to decide whether the subsequent cross-origin request is
1295 # # allowed to proceed.
1296 # - name: library-example.googleapis.com
1297 # allow_cors: true
1298 &quot;features&quot;: [ # The list of features enabled on this endpoint.
1299 &quot;A String&quot;,
1300 ],
1301 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
1302 # please specify multiple google.api.Endpoint for each of the intended
1303 # aliases.
1304 #
1305 # Additional names that this endpoint will be hosted on.
1306 &quot;A String&quot;,
1307 ],
1308 &quot;allowCors&quot;: True or False, # Allowing
1309 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
1310 # cross-domain traffic, would allow the backends served from this endpoint to
1311 # receive and respond to HTTP OPTIONS requests. The response will be used by
1312 # the browser to determine whether the subsequent cross-origin request is
1313 # allowed to proceed.
1314 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
1315 # handle requests to this [API
1316 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
1317 # either a valid IPv4 address or a fully-qualified domain name. For example,
1318 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
1319 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
1320 },
1321 ],
1322 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
1323 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
1324 #
1325 #
1326 # Use this field to configure per-product per-project service identity.
1327 # Example of a service identity configuration.
1328 #
1329 # usage:
1330 # service_identity:
1331 # - service_account_parent: &quot;projects/123456789&quot;
1332 # display_name: &quot;Cloud XXX Service Agent&quot;
1333 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
1334 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
1335 # Must be less than or equal to 100 UTF-8 bytes.
1336 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
1337 # Must be less than or equal to 256 UTF-8 bytes.
1338 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
1339 #
1340 # An example name would be:
1341 # `projects/123456789`
1342 },
1343 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
1344 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
1345 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
1346 &quot;A String&quot;,
1347 ],
1348 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
1349 # service producer.
1350 #
1351 # Google Service Management currently only supports
1352 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
1353 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
1354 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
1355 # documented in https://cloud.google.com/pubsub/docs/overview.
1356 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
1357 #
1358 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1359 { # Usage configuration rules for the service.
1360 #
1361 # NOTE: Under development.
1362 #
1363 #
1364 # Use this rule to configure unregistered calls for the service. Unregistered
1365 # calls are calls that do not contain consumer project identity.
1366 # (Example: calls that do not contain an API key).
1367 # By default, API methods do not allow unregistered calls, and each method call
1368 # must be identified by a consumer project identity. Use this rule to
1369 # allow/disallow unregistered calls.
1370 #
1371 # Example of an API that wants to allow unregistered calls for entire service.
1372 #
1373 # usage:
1374 # rules:
1375 # - selector: &quot;*&quot;
1376 # allow_unregistered_calls: true
1377 #
1378 # Example of a method that wants to allow unregistered calls.
1379 #
1380 # usage:
1381 # rules:
1382 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
1383 # allow_unregistered_calls: true
1384 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
1385 # plane features, such as quota and billing, will not be available.
1386 # This flag is used by Google Cloud Endpoints to bypass checks for internal
1387 # methods, such as service health check methods.
1388 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
1389 # that don&#x27;t identify any user or application.
1390 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
1391 # methods in all APIs.
1392 #
1393 # Refer to selector for syntax details.
1394 },
1395 ],
1396 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001397 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
1398 # versions, and method names of the interfaces.
1399 { # Api is a light-weight descriptor for an API Interface.
1400 #
1401 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
1402 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
1403 # from API Services, which represent a concrete implementation of an interface
1404 # as opposed to simply a description of methods and bindings. They are also
1405 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
1406 # this message itself. See https://cloud.google.com/apis/design/glossary for
1407 # detailed terminology.
Bu Sun Kim65020912020-05-20 12:08:20 -07001408 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
Bu Sun Kim65020912020-05-20 12:08:20 -07001409 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
1410 # message.
1411 # protobuf element, like the file in which it is defined.
1412 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
1413 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
1414 },
1415 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
1416 # `major-version.minor-version`, as in `1.10`. If the minor version is
1417 # omitted, it defaults to zero. If the entire version field is empty, the
1418 # major version is derived from the package name, as outlined below. If the
1419 # field is not empty, the version in the package name will be verified to be
1420 # consistent with what is provided here.
1421 #
1422 # The versioning schema uses [semantic
1423 # versioning](http://semver.org) where the major version number
1424 # indicates a breaking change and the minor version an additive,
1425 # non-breaking change. Both version numbers are signals to users
1426 # what to expect from different versions, and should be carefully
1427 # chosen based on the product plan.
1428 #
1429 # The major version is also reflected in the package name of the
1430 # interface, which must end in `v&lt;major-version&gt;`, as in
1431 # `google.feature.v1`. For major versions 0 and 1, the suffix can
1432 # be omitted. Zero major versions must only be used for
1433 # experimental, non-GA interfaces.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001434 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
1435 { # Method represents a method of an API interface.
1436 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
1437 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
1438 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
1439 &quot;options&quot;: [ # Any metadata attached to the method.
1440 { # A protocol buffer option, which can be attached to a message, field,
1441 # enumeration, etc.
1442 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
1443 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
1444 # For custom options, it should be the fully-qualified name. For example,
1445 # `&quot;google.api.http&quot;`.
1446 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
1447 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1448 # should be used. If the value is an enum, it should be stored as an int32
1449 # value using the google.protobuf.Int32Value type.
1450 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1451 },
1452 },
1453 ],
1454 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
1455 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
1456 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
1457 },
1458 ],
1459 &quot;options&quot;: [ # Any metadata attached to the interface.
1460 { # A protocol buffer option, which can be attached to a message, field,
1461 # enumeration, etc.
1462 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
1463 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
1464 # For custom options, it should be the fully-qualified name. For example,
1465 # `&quot;google.api.http&quot;`.
1466 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
1467 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1468 # should be used. If the value is an enum, it should be stored as an int32
1469 # value using the google.protobuf.Int32Value type.
1470 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1471 },
1472 },
1473 ],
1474 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
1475 # followed by the interface&#x27;s simple name.
Bu Sun Kim65020912020-05-20 12:08:20 -07001476 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
1477 { # Declares an API Interface to be included in this interface. The including
1478 # interface must redeclare all the methods from the included interface, but
1479 # documentation and options are inherited as follows:
1480 #
1481 # - If after comment and whitespace stripping, the documentation
1482 # string of the redeclared method is empty, it will be inherited
1483 # from the original method.
1484 #
1485 # - Each annotation belonging to the service config (http,
1486 # visibility) which is not set in the redeclared method will be
1487 # inherited.
1488 #
1489 # - If an http annotation is inherited, the path pattern will be
1490 # modified as follows. Any version prefix will be replaced by the
1491 # version of the including interface plus the root path if
1492 # specified.
1493 #
1494 # Example of a simple mixin:
1495 #
1496 # package google.acl.v1;
1497 # service AccessControl {
1498 # // Get the underlying ACL object.
1499 # rpc GetAcl(GetAclRequest) returns (Acl) {
1500 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
1501 # }
1502 # }
1503 #
1504 # package google.storage.v2;
1505 # service Storage {
1506 # // rpc GetAcl(GetAclRequest) returns (Acl);
1507 #
1508 # // Get a data record.
1509 # rpc GetData(GetDataRequest) returns (Data) {
1510 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
1511 # }
1512 # }
1513 #
1514 # Example of a mixin configuration:
1515 #
1516 # apis:
1517 # - name: google.storage.v2.Storage
1518 # mixins:
1519 # - name: google.acl.v1.AccessControl
1520 #
1521 # The mixin construct implies that all methods in `AccessControl` are
1522 # also declared with same name and request/response types in
1523 # `Storage`. A documentation generator or annotation processor will
1524 # see the effective `Storage.GetAcl` method after inherting
1525 # documentation and annotations as follows:
1526 #
1527 # service Storage {
1528 # // Get the underlying ACL object.
1529 # rpc GetAcl(GetAclRequest) returns (Acl) {
1530 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
1531 # }
1532 # ...
1533 # }
1534 #
1535 # Note how the version in the path pattern changed from `v1` to `v2`.
1536 #
1537 # If the `root` field in the mixin is specified, it should be a
1538 # relative path under which inherited HTTP paths are placed. Example:
1539 #
1540 # apis:
1541 # - name: google.storage.v2.Storage
1542 # mixins:
1543 # - name: google.acl.v1.AccessControl
1544 # root: acls
1545 #
1546 # This implies the following inherited HTTP annotation:
1547 #
1548 # service Storage {
1549 # // Get the underlying ACL object.
1550 # rpc GetAcl(GetAclRequest) returns (Acl) {
1551 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
1552 # }
1553 # ...
1554 # }
Bu Sun Kim65020912020-05-20 12:08:20 -07001555 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
1556 # are rooted.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001557 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim65020912020-05-20 12:08:20 -07001558 },
1559 ],
1560 },
1561 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001562 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
1563 #
1564 # An example DNS address would be:
1565 # `calendar.googleapis.com`.
1566 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
1567 # usage.
1568 #
1569 # The metric based quota configuration works this way:
1570 # - The service configuration defines a set of metrics.
1571 # - For API calls, the quota.metric_rules maps methods to metrics with
1572 # corresponding costs.
1573 # - The quota.limits defines limits on the metrics, which will be used for
1574 # quota checks at runtime.
1575 #
1576 # An example quota configuration in yaml format:
1577 #
1578 # quota:
1579 # limits:
1580 #
1581 # - name: apiWriteQpsPerProject
1582 # metric: library.googleapis.com/write_calls
1583 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
1584 # values:
1585 # STANDARD: 10000
1586 #
1587 #
1588 # # The metric rules bind all methods to the read_calls metric,
1589 # # except for the UpdateBook and DeleteBook methods. These two methods
1590 # # are mapped to the write_calls metric, with the UpdateBook method
1591 # # consuming at twice rate as the DeleteBook method.
1592 # metric_rules:
1593 # - selector: &quot;*&quot;
1594 # metric_costs:
1595 # library.googleapis.com/read_calls: 1
1596 # - selector: google.example.library.v1.LibraryService.UpdateBook
1597 # metric_costs:
1598 # library.googleapis.com/write_calls: 2
1599 # - selector: google.example.library.v1.LibraryService.DeleteBook
1600 # metric_costs:
1601 # library.googleapis.com/write_calls: 1
1602 #
1603 # Corresponding Metric definition:
1604 #
1605 # metrics:
1606 # - name: library.googleapis.com/read_calls
1607 # display_name: Read requests
1608 # metric_kind: DELTA
1609 # value_type: INT64
1610 #
1611 # - name: library.googleapis.com/write_calls
1612 # display_name: Write requests
1613 # metric_kind: DELTA
1614 # value_type: INT64
1615 #
1616 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
1617 # or more metrics.
1618 { # Bind API methods to metrics. Binding a method to a metric causes that
1619 # metric&#x27;s configured quota behaviors to apply to the method call.
1620 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
1621 #
1622 # Refer to selector for syntax details.
1623 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
1624 # cost applied to each metric.
1625 #
1626 # The key of the map is the metric name, and the values are the amount
1627 # increased for the metric against which the quota limits are defined.
1628 # The value must not be negative.
1629 &quot;a_key&quot;: &quot;A String&quot;,
1630 },
1631 },
1632 ],
1633 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
1634 { # `QuotaLimit` defines a specific limit that applies over a specified duration
1635 # for a limit type. There can be at most one limit for a duration and limit
1636 # type combination defined within a `QuotaGroup`.
1637 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
1638 # The free tier is the number of tokens that will be subtracted from the
1639 # billed amount when billing is enabled.
1640 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
1641 # group; it is invalid on any other limit. If this field is not set, it
1642 # defaults to 0, indicating that there is no free tier for this service.
1643 #
1644 # Used by group-based quotas only.
1645 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
1646 #
1647 # Used by group-based quotas only.
1648 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
1649 # Metric.unit. The supported unit kinds are determined by the quota
1650 # backend system.
1651 #
1652 # Here are some examples:
1653 # * &quot;1/min/{project}&quot; for quota per minute per project.
1654 #
1655 # Note: the order of unit components is insignificant.
1656 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
1657 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
1658 # integer value that is the maximum number of requests allowed for the
1659 # specified unit. Currently only STANDARD is supported.
1660 &quot;a_key&quot;: &quot;A String&quot;,
1661 },
1662 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
1663 # duration. This is the number of tokens assigned when a client
1664 # application developer activates the service for his/her project.
1665 #
1666 # Specifying a value of 0 will block all requests. This can be used if you
1667 # are provisioning quota to selected consumers and blocking others.
1668 # Similarly, a value of -1 will indicate an unlimited quota. No other
1669 # negative values are allowed.
1670 #
1671 # Used by group-based quotas only.
1672 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
1673 #
1674 # The name must be provided, and it must be unique within the service. The
1675 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
1676 #
1677 # The maximum length of the limit name is 64 characters.
1678 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
1679 # duration. Client application developers can override the default limit up
1680 # to this maximum. If specified, this value cannot be set to a value less
1681 # than the default limit. If not specified, it is set to the default limit.
1682 #
1683 # To allow clients to apply overrides with no upper bound, set this to -1,
1684 # indicating unlimited maximum quota.
1685 #
1686 # Used by group-based quotas only.
1687 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
1688 # Optional. If not set, the UI will provide a default display name based on
1689 # the quota configuration. This field can be used to override the default
1690 # display name generated from the configuration.
1691 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
1692 # Should be used only when more context is needed to understand this limit
1693 # than provided by the limit&#x27;s display name (see: `display_name`).
1694 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
1695 # the same metric will be checked together during runtime. The metric must be
1696 # defined within the service config.
1697 },
1698 ],
1699 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001700 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
Dan O'Mearadd494642020-05-01 07:42:23 -07001701 # documentation URL.
1702 #
1703 # Example:
1704 # &lt;pre&gt;&lt;code&gt;documentation:
1705 # summary: &gt;
1706 # The Google Calendar API gives access
1707 # to most calendar features.
1708 # pages:
1709 # - name: Overview
1710 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
1711 # - name: Tutorial
1712 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
1713 # subpages;
1714 # - name: Java
1715 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
1716 # rules:
1717 # - selector: google.calendar.Calendar.Get
1718 # description: &gt;
1719 # ...
1720 # - selector: google.calendar.Calendar.Put
1721 # description: &gt;
1722 # ...
1723 # &lt;/code&gt;&lt;/pre&gt;
1724 # Documentation is provided in markdown syntax. In addition to
1725 # standard markdown features, definition lists, tables and fenced
1726 # code blocks are supported. Section headers can be provided and are
1727 # interpreted relative to the section nesting of the context where
1728 # a documentation fragment is embedded.
1729 #
1730 # Documentation from the IDL is merged with documentation defined
1731 # via the config at normalization time, where documentation provided
1732 # by config rules overrides IDL provided.
1733 #
1734 # A number of constructs specific to the API platform are supported
1735 # in documentation text.
1736 #
1737 # In order to reference a proto element, the following
1738 # notation can be used:
1739 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
1740 # To override the display text used for the link, this can be used:
1741 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
1742 # Text can be excluded from doc using the following notation:
1743 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1744 #
1745 # A few directives are available in documentation. Note that
1746 # directives must appear on a single line to be properly
1747 # identified. The `include` directive includes a markdown file from
1748 # an external source:
1749 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1750 # The `resource_for` directive marks a message to be the resource of
1751 # a collection in REST view. If it is not specified, tools attempt
1752 # to infer the resource from the operations in a collection:
1753 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1754 # The directive `suppress_warning` does not directly affect documentation
1755 # and is documented together with service config validation.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001756 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
1757 #
1758 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1759 { # A documentation rule provides information about individual API elements.
1760 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
1761 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
1762 # Wildcards are only allowed at the end and for a whole component of the
1763 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
1764 # wildcard will match one or more components. To specify a default for all
1765 # applicable elements, the whole pattern &quot;*&quot; is used.
1766 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
1767 # an element is marked as `deprecated`.
1768 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
1769 },
1770 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001771 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
Dan O'Mearadd494642020-05-01 07:42:23 -07001772 # from the yaml file) is not suitable. This can be seen in any fully
1773 # specified service urls as well as sections that show a base that other
1774 # urls are relative to.
Bu Sun Kim65020912020-05-20 12:08:20 -07001775 &quot;pages&quot;: [ # The top level pages for the documentation set.
Dan O'Mearadd494642020-05-01 07:42:23 -07001776 { # Represents a documentation page. A page can contain subpages to represent
1777 # nested documentation set structure.
Bu Sun Kim65020912020-05-20 12:08:20 -07001778 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
Dan O'Mearadd494642020-05-01 07:42:23 -07001779 # generate URI of the page, text of the link to this page in navigation,
1780 # etc. The full page name (start from the root page name to this page
1781 # concatenated with `.`) can be used as reference to the page in your
1782 # documentation. For example:
1783 # &lt;pre&gt;&lt;code&gt;pages:
1784 # - name: Tutorial
1785 # content: &amp;#40;== include tutorial.md ==&amp;#41;
1786 # subpages:
1787 # - name: Java
1788 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
1789 # &lt;/code&gt;&lt;/pre&gt;
1790 # You can reference `Java` page using Markdown reference link syntax:
1791 # `Java`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001792 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
1793 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001794 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
1795 # honored in the generated docset.
1796 # Object with schema name: Page
1797 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07001798 },
1799 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001800 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
1801 # &lt;pre&gt;&lt;code&gt;documentation:
1802 # summary: ...
1803 # overview: &amp;#40;== include overview.md ==&amp;#41;
1804 # &lt;/code&gt;&lt;/pre&gt;
1805 # This is a shortcut for the following declaration (using pages style):
1806 # &lt;pre&gt;&lt;code&gt;documentation:
1807 # summary: ...
1808 # pages:
1809 # - name: Overview
1810 # content: &amp;#40;== include overview.md ==&amp;#41;
1811 # &lt;/code&gt;&lt;/pre&gt;
1812 # Note: you cannot specify both `overview` field and `pages` field.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001813 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
1814 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
1815 # plain text.
Bu Sun Kim65020912020-05-20 12:08:20 -07001816 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001817 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001818 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001819 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001820 #
1821 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001822 # - projects/123/services/serviceusage.googleapis.com
Dan O'Mearadd494642020-05-01 07:42:23 -07001823 }</pre>
1824</div>
1825
1826<div class="method">
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001827 <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
Dan O'Mearadd494642020-05-01 07:42:23 -07001828 <pre>List all services available to the specified project, and the current
1829state of those services with respect to the project. The list includes
1830all public services, all services for which the calling user has the
1831`servicemanagement.services.bind` permission, and all services that have
1832already been enabled on the project. The list can be filtered to
1833only include services in a specific state, for example to only include
1834services enabled on the project.
1835
1836Args:
1837 parent: string, Parent to search for services on.
1838
1839An example name would be:
1840`projects/123` where `123` is the project number. (required)
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001841 filter: string, Only list services that conform to the given filter.
1842The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001843 pageSize: integer, Requested size of the next page of data.
1844Requested page size cannot exceed 200.
1845 If not set, the default page size is 50.
Dan O'Mearadd494642020-05-01 07:42:23 -07001846 pageToken: string, Token identifying which result to start with, which is returned by a
1847previous list call.
1848 x__xgafv: string, V1 error format.
1849 Allowed values
1850 1 - v1 error format
1851 2 - v2 error format
Dan O'Mearadd494642020-05-01 07:42:23 -07001852
1853Returns:
1854 An object of the form:
1855
1856 { # Response message for the `ListServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07001857 &quot;services&quot;: [ # The available services for the requested project.
Dan O'Mearadd494642020-05-01 07:42:23 -07001858 { # A service that is available for use by the consumer.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001859 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -07001860 #
1861 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001862 # - projects/123
1863 &quot;state&quot;: &quot;A String&quot;, # Whether or not the service has been enabled for use by the consumer.
Bu Sun Kim65020912020-05-20 12:08:20 -07001864 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Dan O'Mearadd494642020-05-01 07:42:23 -07001865 # Some fields may be filtered out of the configuration in responses to
1866 # the `ListServices` method. These fields are present only in responses to
1867 # the `GetService` method.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001868 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
Dan O'Mearadd494642020-05-01 07:42:23 -07001869 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001870 # Example for an API targeted for external use:
Bu Sun Kim65020912020-05-20 12:08:20 -07001871 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001872 # name: calendar.googleapis.com
1873 # authentication:
1874 # providers:
1875 # - id: google_calendar_auth
1876 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
1877 # issuer: https://securetoken.google.com
1878 # rules:
1879 # - selector: &quot;*&quot;
1880 # requirements:
1881 # provider_id: google_calendar_auth
1882 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
1883 { # Configuration for an authentication provider, including support for
1884 # [JSON Web Token
1885 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1886 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
1887 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1888 # that are allowed to access. A JWT containing any of these audiences will
1889 # be accepted. When this setting is absent, JWTs with audiences:
1890 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
1891 # - &quot;https://[service.name]/&quot;
1892 # will be accepted.
1893 # For example, if no audiences are in the setting, LibraryService API will
1894 # accept JWTs with the following audiences:
1895 # -
1896 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
1897 # - https://library-example.googleapis.com/
Bu Sun Kim65020912020-05-20 12:08:20 -07001898 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001899 # Example:
Bu Sun Kim65020912020-05-20 12:08:20 -07001900 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001901 # audiences: bookstore_android.apps.googleusercontent.com,
1902 # bookstore_web.apps.googleusercontent.com
1903 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
1904 # [OpenID
1905 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
1906 # Optional if the key set document:
1907 # - can be retrieved from
1908 # [OpenID
1909 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
1910 # the issuer.
1911 # - can be inferred from the email domain of the issuer (e.g. a Google
1912 # service account).
Bu Sun Kim65020912020-05-20 12:08:20 -07001913 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001914 # Example: https://www.googleapis.com/oauth2/v1/certs
1915 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
1916 # `AuthRequirement.provider_id`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001917 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001918 # Example: &quot;bookstore_auth&quot;.
1919 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
Bu Sun Kim65020912020-05-20 12:08:20 -07001920 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001921 # JWT locations can be either from HTTP headers or URL query parameters.
1922 # The rule is that the first match wins. The checking order is: checking
1923 # all headers first, then URL query parameters.
Bu Sun Kim65020912020-05-20 12:08:20 -07001924 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001925 # If not specified, default to use following 3 locations:
1926 # 1) Authorization: Bearer
1927 # 2) x-goog-iap-jwt-assertion
1928 # 3) access_token query parameter
Bu Sun Kim65020912020-05-20 12:08:20 -07001929 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001930 # Default locations can be specified as followings:
1931 # jwt_locations:
1932 # - header: Authorization
1933 # value_prefix: &quot;Bearer &quot;
1934 # - header: x-goog-iap-jwt-assertion
1935 # - query: access_token
1936 { # Specifies a location to extract JWT from an API request.
1937 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
1938 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
1939 # If not empty, the header value has to match (case sensitive) this prefix.
1940 # If not matched, JWT will not be extracted. If matched, JWT will be
1941 # extracted after the prefix is removed.
1942 #
1943 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
1944 # value_prefix=&quot;Bearer &quot; with a space at the end.
1945 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
1946 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
1947 },
1948 ],
1949 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
1950 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
1951 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
1952 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
1953 # Usually a URL or an email address.
Bu Sun Kim65020912020-05-20 12:08:20 -07001954 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001955 # Example: https://securetoken.google.com
1956 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim65020912020-05-20 12:08:20 -07001957 },
1958 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001959 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
1960 #
1961 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1962 { # Authentication rules for the service.
1963 #
1964 # By default, if a method has any authentication requirements, every request
1965 # must include a valid credential matching one of the requirements.
1966 # It&#x27;s an error to include more than one kind of credential in a single
1967 # request.
1968 #
1969 # If a method doesn&#x27;t have any auth requirements, request credentials will be
1970 # ignored.
1971 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
1972 { # User-defined authentication requirements, including support for
1973 # [JSON Web Token
1974 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1975 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
1976 # implemented and accepted in all the runtime components.
1977 #
1978 # The list of JWT
1979 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1980 # that are allowed to access. A JWT containing any of these audiences will
1981 # be accepted. When this setting is absent, only JWTs with audience
1982 # &quot;https://Service_name/API_name&quot;
1983 # will be accepted. For example, if no audiences are in the setting,
1984 # LibraryService API will only accept JWTs with the following audience
1985 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
1986 #
1987 # Example:
1988 #
1989 # audiences: bookstore_android.apps.googleusercontent.com,
1990 # bookstore_web.apps.googleusercontent.com
1991 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
1992 #
1993 # Example:
1994 #
1995 # provider_id: bookstore_auth
1996 },
1997 ],
1998 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
Bu Sun Kim65020912020-05-20 12:08:20 -07001999 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
2000 #
2001 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002002 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
2003 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
2004 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
2005 # giving it permission to access that data on their behalf.
Bu Sun Kim65020912020-05-20 12:08:20 -07002006 #
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002007 # OAuth scope specifications should be fairly coarse grained; a user will need
2008 # to see and understand the text description of what your scope means.
2009 #
2010 # In most cases: use one or at most two OAuth scopes for an entire family of
2011 # products. If your product has multiple APIs, you should probably be sharing
2012 # the OAuth scope across all of those APIs.
2013 #
2014 # When you need finer grained OAuth consent screens: talk with your product
2015 # management about how developers will use them in practice.
2016 #
2017 # Please note that even though each of the canonical scopes is enough for a
2018 # request to be accepted and passed to the backend, a request can still fail
2019 # due to the backend requiring additional scopes or permissions.
2020 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
2021 # OAuth token containing any of these scopes will be accepted.
2022 #
2023 # Example:
2024 #
2025 # canonical_scopes: https://www.googleapis.com/auth/calendar,
2026 # https://www.googleapis.com/auth/calendar.read
Bu Sun Kim65020912020-05-20 12:08:20 -07002027 },
2028 },
2029 ],
2030 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002031 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
2032 # of the endpoints.
2033 { # `Endpoint` describes a network endpoint that serves a set of APIs.
2034 # A service may expose any number of endpoints, and all endpoints share the
2035 # same service configuration, such as quota configuration and monitoring
2036 # configuration.
2037 #
2038 # Example service configuration:
2039 #
2040 # name: library-example.googleapis.com
2041 # endpoints:
2042 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
2043 # # API be served from endpoint address library-example.googleapis.com.
2044 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
2045 # # it to decide whether the subsequent cross-origin request is
2046 # # allowed to proceed.
2047 # - name: library-example.googleapis.com
2048 # allow_cors: true
2049 &quot;features&quot;: [ # The list of features enabled on this endpoint.
2050 &quot;A String&quot;,
2051 ],
2052 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
2053 # please specify multiple google.api.Endpoint for each of the intended
2054 # aliases.
2055 #
2056 # Additional names that this endpoint will be hosted on.
2057 &quot;A String&quot;,
2058 ],
2059 &quot;allowCors&quot;: True or False, # Allowing
2060 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
2061 # cross-domain traffic, would allow the backends served from this endpoint to
2062 # receive and respond to HTTP OPTIONS requests. The response will be used by
2063 # the browser to determine whether the subsequent cross-origin request is
2064 # allowed to proceed.
2065 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
2066 # handle requests to this [API
2067 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
2068 # either a valid IPv4 address or a fully-qualified domain name. For example,
2069 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
2070 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
2071 },
2072 ],
2073 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
2074 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
2075 #
2076 #
2077 # Use this field to configure per-product per-project service identity.
2078 # Example of a service identity configuration.
2079 #
2080 # usage:
2081 # service_identity:
2082 # - service_account_parent: &quot;projects/123456789&quot;
2083 # display_name: &quot;Cloud XXX Service Agent&quot;
2084 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
2085 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
2086 # Must be less than or equal to 100 UTF-8 bytes.
2087 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
2088 # Must be less than or equal to 256 UTF-8 bytes.
2089 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
2090 #
2091 # An example name would be:
2092 # `projects/123456789`
2093 },
2094 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
2095 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
2096 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
2097 &quot;A String&quot;,
2098 ],
2099 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
2100 # service producer.
2101 #
2102 # Google Service Management currently only supports
2103 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
2104 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
2105 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
2106 # documented in https://cloud.google.com/pubsub/docs/overview.
2107 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
2108 #
2109 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
2110 { # Usage configuration rules for the service.
2111 #
2112 # NOTE: Under development.
2113 #
2114 #
2115 # Use this rule to configure unregistered calls for the service. Unregistered
2116 # calls are calls that do not contain consumer project identity.
2117 # (Example: calls that do not contain an API key).
2118 # By default, API methods do not allow unregistered calls, and each method call
2119 # must be identified by a consumer project identity. Use this rule to
2120 # allow/disallow unregistered calls.
2121 #
2122 # Example of an API that wants to allow unregistered calls for entire service.
2123 #
2124 # usage:
2125 # rules:
2126 # - selector: &quot;*&quot;
2127 # allow_unregistered_calls: true
2128 #
2129 # Example of a method that wants to allow unregistered calls.
2130 #
2131 # usage:
2132 # rules:
2133 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
2134 # allow_unregistered_calls: true
2135 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
2136 # plane features, such as quota and billing, will not be available.
2137 # This flag is used by Google Cloud Endpoints to bypass checks for internal
2138 # methods, such as service health check methods.
2139 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
2140 # that don&#x27;t identify any user or application.
2141 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
2142 # methods in all APIs.
2143 #
2144 # Refer to selector for syntax details.
2145 },
2146 ],
2147 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002148 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
2149 # versions, and method names of the interfaces.
2150 { # Api is a light-weight descriptor for an API Interface.
2151 #
2152 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
2153 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
2154 # from API Services, which represent a concrete implementation of an interface
2155 # as opposed to simply a description of methods and bindings. They are also
2156 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
2157 # this message itself. See https://cloud.google.com/apis/design/glossary for
2158 # detailed terminology.
Bu Sun Kim65020912020-05-20 12:08:20 -07002159 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
Bu Sun Kim65020912020-05-20 12:08:20 -07002160 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
2161 # message.
2162 # protobuf element, like the file in which it is defined.
2163 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
2164 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
2165 },
2166 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
2167 # `major-version.minor-version`, as in `1.10`. If the minor version is
2168 # omitted, it defaults to zero. If the entire version field is empty, the
2169 # major version is derived from the package name, as outlined below. If the
2170 # field is not empty, the version in the package name will be verified to be
2171 # consistent with what is provided here.
2172 #
2173 # The versioning schema uses [semantic
2174 # versioning](http://semver.org) where the major version number
2175 # indicates a breaking change and the minor version an additive,
2176 # non-breaking change. Both version numbers are signals to users
2177 # what to expect from different versions, and should be carefully
2178 # chosen based on the product plan.
2179 #
2180 # The major version is also reflected in the package name of the
2181 # interface, which must end in `v&lt;major-version&gt;`, as in
2182 # `google.feature.v1`. For major versions 0 and 1, the suffix can
2183 # be omitted. Zero major versions must only be used for
2184 # experimental, non-GA interfaces.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002185 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
2186 { # Method represents a method of an API interface.
2187 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
2188 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
2189 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
2190 &quot;options&quot;: [ # Any metadata attached to the method.
2191 { # A protocol buffer option, which can be attached to a message, field,
2192 # enumeration, etc.
2193 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
2194 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
2195 # For custom options, it should be the fully-qualified name. For example,
2196 # `&quot;google.api.http&quot;`.
2197 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
2198 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
2199 # should be used. If the value is an enum, it should be stored as an int32
2200 # value using the google.protobuf.Int32Value type.
2201 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2202 },
2203 },
2204 ],
2205 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
2206 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
2207 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
2208 },
2209 ],
2210 &quot;options&quot;: [ # Any metadata attached to the interface.
2211 { # A protocol buffer option, which can be attached to a message, field,
2212 # enumeration, etc.
2213 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
2214 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
2215 # For custom options, it should be the fully-qualified name. For example,
2216 # `&quot;google.api.http&quot;`.
2217 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
2218 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
2219 # should be used. If the value is an enum, it should be stored as an int32
2220 # value using the google.protobuf.Int32Value type.
2221 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2222 },
2223 },
2224 ],
2225 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
2226 # followed by the interface&#x27;s simple name.
Bu Sun Kim65020912020-05-20 12:08:20 -07002227 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
2228 { # Declares an API Interface to be included in this interface. The including
2229 # interface must redeclare all the methods from the included interface, but
2230 # documentation and options are inherited as follows:
2231 #
2232 # - If after comment and whitespace stripping, the documentation
2233 # string of the redeclared method is empty, it will be inherited
2234 # from the original method.
2235 #
2236 # - Each annotation belonging to the service config (http,
2237 # visibility) which is not set in the redeclared method will be
2238 # inherited.
2239 #
2240 # - If an http annotation is inherited, the path pattern will be
2241 # modified as follows. Any version prefix will be replaced by the
2242 # version of the including interface plus the root path if
2243 # specified.
2244 #
2245 # Example of a simple mixin:
2246 #
2247 # package google.acl.v1;
2248 # service AccessControl {
2249 # // Get the underlying ACL object.
2250 # rpc GetAcl(GetAclRequest) returns (Acl) {
2251 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
2252 # }
2253 # }
2254 #
2255 # package google.storage.v2;
2256 # service Storage {
2257 # // rpc GetAcl(GetAclRequest) returns (Acl);
2258 #
2259 # // Get a data record.
2260 # rpc GetData(GetDataRequest) returns (Data) {
2261 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
2262 # }
2263 # }
2264 #
2265 # Example of a mixin configuration:
2266 #
2267 # apis:
2268 # - name: google.storage.v2.Storage
2269 # mixins:
2270 # - name: google.acl.v1.AccessControl
2271 #
2272 # The mixin construct implies that all methods in `AccessControl` are
2273 # also declared with same name and request/response types in
2274 # `Storage`. A documentation generator or annotation processor will
2275 # see the effective `Storage.GetAcl` method after inherting
2276 # documentation and annotations as follows:
2277 #
2278 # service Storage {
2279 # // Get the underlying ACL object.
2280 # rpc GetAcl(GetAclRequest) returns (Acl) {
2281 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
2282 # }
2283 # ...
2284 # }
2285 #
2286 # Note how the version in the path pattern changed from `v1` to `v2`.
2287 #
2288 # If the `root` field in the mixin is specified, it should be a
2289 # relative path under which inherited HTTP paths are placed. Example:
2290 #
2291 # apis:
2292 # - name: google.storage.v2.Storage
2293 # mixins:
2294 # - name: google.acl.v1.AccessControl
2295 # root: acls
2296 #
2297 # This implies the following inherited HTTP annotation:
2298 #
2299 # service Storage {
2300 # // Get the underlying ACL object.
2301 # rpc GetAcl(GetAclRequest) returns (Acl) {
2302 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
2303 # }
2304 # ...
2305 # }
Bu Sun Kim65020912020-05-20 12:08:20 -07002306 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
2307 # are rooted.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002308 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim65020912020-05-20 12:08:20 -07002309 },
2310 ],
2311 },
2312 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002313 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
2314 #
2315 # An example DNS address would be:
2316 # `calendar.googleapis.com`.
2317 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
2318 # usage.
2319 #
2320 # The metric based quota configuration works this way:
2321 # - The service configuration defines a set of metrics.
2322 # - For API calls, the quota.metric_rules maps methods to metrics with
2323 # corresponding costs.
2324 # - The quota.limits defines limits on the metrics, which will be used for
2325 # quota checks at runtime.
2326 #
2327 # An example quota configuration in yaml format:
2328 #
2329 # quota:
2330 # limits:
2331 #
2332 # - name: apiWriteQpsPerProject
2333 # metric: library.googleapis.com/write_calls
2334 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
2335 # values:
2336 # STANDARD: 10000
2337 #
2338 #
2339 # # The metric rules bind all methods to the read_calls metric,
2340 # # except for the UpdateBook and DeleteBook methods. These two methods
2341 # # are mapped to the write_calls metric, with the UpdateBook method
2342 # # consuming at twice rate as the DeleteBook method.
2343 # metric_rules:
2344 # - selector: &quot;*&quot;
2345 # metric_costs:
2346 # library.googleapis.com/read_calls: 1
2347 # - selector: google.example.library.v1.LibraryService.UpdateBook
2348 # metric_costs:
2349 # library.googleapis.com/write_calls: 2
2350 # - selector: google.example.library.v1.LibraryService.DeleteBook
2351 # metric_costs:
2352 # library.googleapis.com/write_calls: 1
2353 #
2354 # Corresponding Metric definition:
2355 #
2356 # metrics:
2357 # - name: library.googleapis.com/read_calls
2358 # display_name: Read requests
2359 # metric_kind: DELTA
2360 # value_type: INT64
2361 #
2362 # - name: library.googleapis.com/write_calls
2363 # display_name: Write requests
2364 # metric_kind: DELTA
2365 # value_type: INT64
2366 #
2367 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
2368 # or more metrics.
2369 { # Bind API methods to metrics. Binding a method to a metric causes that
2370 # metric&#x27;s configured quota behaviors to apply to the method call.
2371 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
2372 #
2373 # Refer to selector for syntax details.
2374 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
2375 # cost applied to each metric.
2376 #
2377 # The key of the map is the metric name, and the values are the amount
2378 # increased for the metric against which the quota limits are defined.
2379 # The value must not be negative.
2380 &quot;a_key&quot;: &quot;A String&quot;,
2381 },
2382 },
2383 ],
2384 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
2385 { # `QuotaLimit` defines a specific limit that applies over a specified duration
2386 # for a limit type. There can be at most one limit for a duration and limit
2387 # type combination defined within a `QuotaGroup`.
2388 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
2389 # The free tier is the number of tokens that will be subtracted from the
2390 # billed amount when billing is enabled.
2391 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
2392 # group; it is invalid on any other limit. If this field is not set, it
2393 # defaults to 0, indicating that there is no free tier for this service.
2394 #
2395 # Used by group-based quotas only.
2396 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
2397 #
2398 # Used by group-based quotas only.
2399 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
2400 # Metric.unit. The supported unit kinds are determined by the quota
2401 # backend system.
2402 #
2403 # Here are some examples:
2404 # * &quot;1/min/{project}&quot; for quota per minute per project.
2405 #
2406 # Note: the order of unit components is insignificant.
2407 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
2408 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
2409 # integer value that is the maximum number of requests allowed for the
2410 # specified unit. Currently only STANDARD is supported.
2411 &quot;a_key&quot;: &quot;A String&quot;,
2412 },
2413 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
2414 # duration. This is the number of tokens assigned when a client
2415 # application developer activates the service for his/her project.
2416 #
2417 # Specifying a value of 0 will block all requests. This can be used if you
2418 # are provisioning quota to selected consumers and blocking others.
2419 # Similarly, a value of -1 will indicate an unlimited quota. No other
2420 # negative values are allowed.
2421 #
2422 # Used by group-based quotas only.
2423 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
2424 #
2425 # The name must be provided, and it must be unique within the service. The
2426 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
2427 #
2428 # The maximum length of the limit name is 64 characters.
2429 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
2430 # duration. Client application developers can override the default limit up
2431 # to this maximum. If specified, this value cannot be set to a value less
2432 # than the default limit. If not specified, it is set to the default limit.
2433 #
2434 # To allow clients to apply overrides with no upper bound, set this to -1,
2435 # indicating unlimited maximum quota.
2436 #
2437 # Used by group-based quotas only.
2438 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
2439 # Optional. If not set, the UI will provide a default display name based on
2440 # the quota configuration. This field can be used to override the default
2441 # display name generated from the configuration.
2442 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
2443 # Should be used only when more context is needed to understand this limit
2444 # than provided by the limit&#x27;s display name (see: `display_name`).
2445 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
2446 # the same metric will be checked together during runtime. The metric must be
2447 # defined within the service config.
2448 },
2449 ],
2450 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002451 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
Dan O'Mearadd494642020-05-01 07:42:23 -07002452 # documentation URL.
2453 #
2454 # Example:
2455 # &lt;pre&gt;&lt;code&gt;documentation:
2456 # summary: &gt;
2457 # The Google Calendar API gives access
2458 # to most calendar features.
2459 # pages:
2460 # - name: Overview
2461 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
2462 # - name: Tutorial
2463 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
2464 # subpages;
2465 # - name: Java
2466 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
2467 # rules:
2468 # - selector: google.calendar.Calendar.Get
2469 # description: &gt;
2470 # ...
2471 # - selector: google.calendar.Calendar.Put
2472 # description: &gt;
2473 # ...
2474 # &lt;/code&gt;&lt;/pre&gt;
2475 # Documentation is provided in markdown syntax. In addition to
2476 # standard markdown features, definition lists, tables and fenced
2477 # code blocks are supported. Section headers can be provided and are
2478 # interpreted relative to the section nesting of the context where
2479 # a documentation fragment is embedded.
2480 #
2481 # Documentation from the IDL is merged with documentation defined
2482 # via the config at normalization time, where documentation provided
2483 # by config rules overrides IDL provided.
2484 #
2485 # A number of constructs specific to the API platform are supported
2486 # in documentation text.
2487 #
2488 # In order to reference a proto element, the following
2489 # notation can be used:
2490 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
2491 # To override the display text used for the link, this can be used:
2492 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
2493 # Text can be excluded from doc using the following notation:
2494 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
2495 #
2496 # A few directives are available in documentation. Note that
2497 # directives must appear on a single line to be properly
2498 # identified. The `include` directive includes a markdown file from
2499 # an external source:
2500 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
2501 # The `resource_for` directive marks a message to be the resource of
2502 # a collection in REST view. If it is not specified, tools attempt
2503 # to infer the resource from the operations in a collection:
2504 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
2505 # The directive `suppress_warning` does not directly affect documentation
2506 # and is documented together with service config validation.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002507 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
2508 #
2509 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
2510 { # A documentation rule provides information about individual API elements.
2511 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
2512 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
2513 # Wildcards are only allowed at the end and for a whole component of the
2514 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
2515 # wildcard will match one or more components. To specify a default for all
2516 # applicable elements, the whole pattern &quot;*&quot; is used.
2517 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
2518 # an element is marked as `deprecated`.
2519 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
2520 },
2521 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002522 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
Dan O'Mearadd494642020-05-01 07:42:23 -07002523 # from the yaml file) is not suitable. This can be seen in any fully
2524 # specified service urls as well as sections that show a base that other
2525 # urls are relative to.
Bu Sun Kim65020912020-05-20 12:08:20 -07002526 &quot;pages&quot;: [ # The top level pages for the documentation set.
Dan O'Mearadd494642020-05-01 07:42:23 -07002527 { # Represents a documentation page. A page can contain subpages to represent
2528 # nested documentation set structure.
Bu Sun Kim65020912020-05-20 12:08:20 -07002529 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
Dan O'Mearadd494642020-05-01 07:42:23 -07002530 # generate URI of the page, text of the link to this page in navigation,
2531 # etc. The full page name (start from the root page name to this page
2532 # concatenated with `.`) can be used as reference to the page in your
2533 # documentation. For example:
2534 # &lt;pre&gt;&lt;code&gt;pages:
2535 # - name: Tutorial
2536 # content: &amp;#40;== include tutorial.md ==&amp;#41;
2537 # subpages:
2538 # - name: Java
2539 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
2540 # &lt;/code&gt;&lt;/pre&gt;
2541 # You can reference `Java` page using Markdown reference link syntax:
2542 # `Java`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002543 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
2544 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002545 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
2546 # honored in the generated docset.
2547 # Object with schema name: Page
2548 ],
Dan O'Mearadd494642020-05-01 07:42:23 -07002549 },
2550 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002551 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
2552 # &lt;pre&gt;&lt;code&gt;documentation:
2553 # summary: ...
2554 # overview: &amp;#40;== include overview.md ==&amp;#41;
2555 # &lt;/code&gt;&lt;/pre&gt;
2556 # This is a shortcut for the following declaration (using pages style):
2557 # &lt;pre&gt;&lt;code&gt;documentation:
2558 # summary: ...
2559 # pages:
2560 # - name: Overview
2561 # content: &amp;#40;== include overview.md ==&amp;#41;
2562 # &lt;/code&gt;&lt;/pre&gt;
2563 # Note: you cannot specify both `overview` field and `pages` field.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002564 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
2565 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
2566 # plain text.
Bu Sun Kim65020912020-05-20 12:08:20 -07002567 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002568 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002569 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002570 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002571 #
2572 # A valid name would be:
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002573 # - projects/123/services/serviceusage.googleapis.com
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002574 },
2575 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07002576 &quot;nextPageToken&quot;: &quot;A String&quot;, # Token that can be passed to `ListServices` to resume a paginated
2577 # query.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002578 }</pre>
2579</div>
2580
2581<div class="method">
2582 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
2583 <pre>Retrieves the next page of results.
2584
2585Args:
2586 previous_request: The request for the previous page. (required)
2587 previous_response: The response from the request for the previous page. (required)
2588
2589Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -07002590 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002591 page. Returns None if there are no more items in the collection.
2592 </pre>
2593</div>
2594
2595</body></html>