blob: 83255251338883f261ead4eeffa897c1c0cdd20a [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="serviceusage_v1beta1.html">Service Usage API</a> . <a href="serviceusage_v1beta1.services.html">services</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="serviceusage_v1beta1.services.consumerQuotaMetrics.html">consumerQuotaMetrics()</a></code>
79</p>
80<p class="firstline">Returns the consumerQuotaMetrics Resource.</p>
81
82<p class="toc_element">
83 <code><a href="#batchEnable">batchEnable(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070084<p class="firstline">Enable multiple services on a project. The operation is atomic: if enabling</p>
85<p class="toc_element">
86 <code><a href="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
87<p class="firstline">Disable a service so that it can no longer be used with a project.</p>
88<p class="toc_element">
89 <code><a href="#enable">enable(name, body=None, x__xgafv=None)</a></code></p>
90<p class="firstline">Enable a service so that it can be used with a project.</p>
91<p class="toc_element">
Bu Sun Kimd059ad82020-07-22 17:02:09 -070092 <code><a href="#generateServiceIdentity">generateServiceIdentity(parent, x__xgafv=None)</a></code></p>
93<p class="firstline">Generate service identity for service.</p>
94<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070095 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
96<p class="firstline">Returns the service configuration and enabled state for a given service.</p>
97<p class="toc_element">
Bu Sun Kimd059ad82020-07-22 17:02:09 -070098 <code><a href="#list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070099<p class="firstline">List all services available to the specified project, and the current</p>
100<p class="toc_element">
101 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
102<p class="firstline">Retrieves the next page of results.</p>
103<h3>Method Details</h3>
104<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700105 <code class="details" id="batchEnable">batchEnable(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700106 <pre>Enable multiple services on a project. The operation is atomic: if enabling
107any service fails, then the entire batch fails, and no state changes occur.
108
Dan O'Mearadd494642020-05-01 07:42:23 -0700109Operation&lt;response: google.protobuf.Empty&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700110
111Args:
112 parent: string, Parent to enable services on.
113
114An example name would be:
115`projects/123`
116where `123` is the project number (not project ID).
117
118The `BatchEnableServices` method currently only supports projects. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700119 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700120 The object takes the form of:
121
122{ # Request message for the `BatchEnableServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -0700123 &quot;serviceIds&quot;: [ # The identifiers of the services to enable on the project.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700124 #
125 # A valid identifier would be:
126 # serviceusage.googleapis.com
127 #
128 # Enabling services requires that each service is public or is shared with
129 # the user enabling the service.
130 #
131 # Two or more services must be specified. To enable a single service,
132 # use the `EnableService` method instead.
133 #
134 # A single request can enable a maximum of 20 services at a time. If more
135 # than 20 services are specified, the request will fail, and no state changes
136 # will occur.
Bu Sun Kim65020912020-05-20 12:08:20 -0700137 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700138 ],
139 }
140
141 x__xgafv: string, V1 error format.
142 Allowed values
143 1 - v1 error format
144 2 - v2 error format
145
146Returns:
147 An object of the form:
148
149 { # This resource represents a long-running operation that is the result of a
150 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700151 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700152 # method returns no data on success, such as `Delete`, the response is
153 # `google.protobuf.Empty`. If the original method is standard
154 # `Get`/`Create`/`Update`, the response should be the resource. For other
155 # methods, the response should have the type `XxxResponse`, where `Xxx`
156 # is the original method name. For example, if the original method name
157 # is `TakeSnapshot()`, the inferred response type is
158 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700159 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -0700160 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700161 &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.
162 # different programming environments, including REST APIs and RPC APIs. It is
163 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
164 # three pieces of data: error code, error message, and error details.
165 #
166 # You can find out more about this error model and how to work with it in the
167 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700168 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700169 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
170 # user-facing error message should be localized and sent in the
171 # google.rpc.Status.details field, or localized by the client.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700172 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
173 # message types for APIs to use.
174 {
175 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
176 },
177 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700178 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700179 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
180 # contains progress information and common metadata such as create time.
181 # Some services might not provide such metadata. Any method that returns a
182 # long-running operation should document the metadata type, if any.
183 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
184 },
185 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
186 # originally returns it. If you use the default HTTP mapping, the
187 # `name` should be a resource name ending with `operations/{unique_id}`.
188 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
189 # If `true`, the operation is completed, and either `error` or `response` is
190 # available.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700191 }</pre>
192</div>
193
194<div class="method">
195 <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
196 <pre>Disable a service so that it can no longer be used with a project.
197This prevents unintended usage that may cause unexpected billing
198charges or security leaks.
199
200It is not valid to call the disable method on a service that is not
201currently enabled. Callers will receive a `FAILED_PRECONDITION` status if
202the target service is not currently enabled.
203
Dan O'Mearadd494642020-05-01 07:42:23 -0700204Operation&lt;response: google.protobuf.Empty&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700205
206Args:
207 name: string, Name of the consumer and service to disable the service on.
208
209The enable and disable methods currently only support projects.
210
211An example name would be:
212`projects/123/services/serviceusage.googleapis.com`
213where `123` is the project number (not project ID). (required)
214 body: object, The request body.
215 The object takes the form of:
216
217{ # Request message for the `DisableService` method.
218 }
219
220 x__xgafv: string, V1 error format.
221 Allowed values
222 1 - v1 error format
223 2 - v2 error format
224
225Returns:
226 An object of the form:
227
228 { # This resource represents a long-running operation that is the result of a
229 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700230 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700231 # method returns no data on success, such as `Delete`, the response is
232 # `google.protobuf.Empty`. If the original method is standard
233 # `Get`/`Create`/`Update`, the response should be the resource. For other
234 # methods, the response should have the type `XxxResponse`, where `Xxx`
235 # is the original method name. For example, if the original method name
236 # is `TakeSnapshot()`, the inferred response type is
237 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700238 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -0700239 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700240 &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.
241 # different programming environments, including REST APIs and RPC APIs. It is
242 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
243 # three pieces of data: error code, error message, and error details.
244 #
245 # You can find out more about this error model and how to work with it in the
246 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700247 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700248 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
249 # user-facing error message should be localized and sent in the
250 # google.rpc.Status.details field, or localized by the client.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700251 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
252 # message types for APIs to use.
253 {
254 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
255 },
256 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700257 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700258 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
259 # contains progress information and common metadata such as create time.
260 # Some services might not provide such metadata. Any method that returns a
261 # long-running operation should document the metadata type, if any.
262 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
263 },
264 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
265 # originally returns it. If you use the default HTTP mapping, the
266 # `name` should be a resource name ending with `operations/{unique_id}`.
267 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
268 # If `true`, the operation is completed, and either `error` or `response` is
269 # available.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700270 }</pre>
271</div>
272
273<div class="method">
274 <code class="details" id="enable">enable(name, body=None, x__xgafv=None)</code>
275 <pre>Enable a service so that it can be used with a project.
276
Dan O'Mearadd494642020-05-01 07:42:23 -0700277Operation&lt;response: google.protobuf.Empty&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700278
279Args:
280 name: string, Name of the consumer and service to enable the service on.
281
282The `EnableService` and `DisableService` methods currently only support
283projects.
284
285Enabling a service requires that the service is public or is shared with
286the user enabling the service.
287
288An example name would be:
289`projects/123/services/serviceusage.googleapis.com`
290where `123` is the project number (not project ID). (required)
291 body: object, The request body.
292 The object takes the form of:
293
294{ # Request message for the `EnableService` method.
295 }
296
297 x__xgafv: string, V1 error format.
298 Allowed values
299 1 - v1 error format
300 2 - v2 error format
301
302Returns:
303 An object of the form:
304
305 { # This resource represents a long-running operation that is the result of a
306 # network API call.
Bu Sun Kim65020912020-05-20 12:08:20 -0700307 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
Dan O'Mearadd494642020-05-01 07:42:23 -0700308 # method returns no data on success, such as `Delete`, the response is
309 # `google.protobuf.Empty`. If the original method is standard
310 # `Get`/`Create`/`Update`, the response should be the resource. For other
311 # methods, the response should have the type `XxxResponse`, where `Xxx`
312 # is the original method name. For example, if the original method name
313 # is `TakeSnapshot()`, the inferred response type is
314 # `TakeSnapshotResponse`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700315 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Dan O'Mearadd494642020-05-01 07:42:23 -0700316 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700317 &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.
318 # different programming environments, including REST APIs and RPC APIs. It is
319 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
320 # three pieces of data: error code, error message, and error details.
321 #
322 # You can find out more about this error model and how to work with it in the
323 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700324 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700325 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
326 # user-facing error message should be localized and sent in the
327 # google.rpc.Status.details field, or localized by the client.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700328 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
329 # message types for APIs to use.
330 {
331 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
332 },
333 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700334 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700335 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
336 # contains progress information and common metadata such as create time.
337 # Some services might not provide such metadata. Any method that returns a
338 # long-running operation should document the metadata type, if any.
339 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
340 },
341 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
342 # originally returns it. If you use the default HTTP mapping, the
343 # `name` should be a resource name ending with `operations/{unique_id}`.
344 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
345 # If `true`, the operation is completed, and either `error` or `response` is
346 # available.
347 }</pre>
348</div>
349
350<div class="method">
351 <code class="details" id="generateServiceIdentity">generateServiceIdentity(parent, x__xgafv=None)</code>
352 <pre>Generate service identity for service.
353
354Args:
355 parent: string, Name of the consumer and service to generate an identity for.
356
357The `GenerateServiceIdentity` methods currently only support projects.
358
359An example name would be:
360`projects/123/services/example.googleapis.com` where `123` is the
361project number. (required)
362 x__xgafv: string, V1 error format.
363 Allowed values
364 1 - v1 error format
365 2 - v2 error format
366
367Returns:
368 An object of the form:
369
370 { # This resource represents a long-running operation that is the result of a
371 # network API call.
372 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
373 # method returns no data on success, such as `Delete`, the response is
374 # `google.protobuf.Empty`. If the original method is standard
375 # `Get`/`Create`/`Update`, the response should be the resource. For other
376 # methods, the response should have the type `XxxResponse`, where `Xxx`
377 # is the original method name. For example, if the original method name
378 # is `TakeSnapshot()`, the inferred response type is
379 # `TakeSnapshotResponse`.
380 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
381 },
382 &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.
383 # different programming environments, including REST APIs and RPC APIs. It is
384 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
385 # three pieces of data: error code, error message, and error details.
386 #
387 # You can find out more about this error model and how to work with it in the
388 # [API Design Guide](https://cloud.google.com/apis/design/errors).
389 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
390 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
391 # user-facing error message should be localized and sent in the
392 # google.rpc.Status.details field, or localized by the client.
393 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
394 # message types for APIs to use.
395 {
396 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
397 },
398 ],
399 },
400 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
401 # contains progress information and common metadata such as create time.
402 # Some services might not provide such metadata. Any method that returns a
403 # long-running operation should document the metadata type, if any.
404 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
405 },
406 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
407 # originally returns it. If you use the default HTTP mapping, the
408 # `name` should be a resource name ending with `operations/{unique_id}`.
409 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
410 # If `true`, the operation is completed, and either `error` or `response` is
411 # available.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700412 }</pre>
413</div>
414
415<div class="method">
416 <code class="details" id="get">get(name, x__xgafv=None)</code>
417 <pre>Returns the service configuration and enabled state for a given service.
418
419Args:
420 name: string, Name of the consumer and service to get the `ConsumerState` for.
421
422An example name would be:
423`projects/123/services/serviceusage.googleapis.com`
424where `123` is the project number (not project ID). (required)
425 x__xgafv: string, V1 error format.
426 Allowed values
427 1 - v1 error format
428 2 - v2 error format
429
430Returns:
431 An object of the form:
432
433 { # A service that is available for use by the consumer.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700434 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
435 #
436 # A valid name would be:
437 # - projects/123/services/serviceusage.googleapis.com
438 &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 -0700439 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700440 # Some fields may be filtered out of the configuration in responses to
441 # the `ListServices` method. These fields are present only in responses to
442 # the `GetService` method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700443 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
444 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700445 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700446 # An example DNS address would be:
447 # `calendar.googleapis.com`.
448 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
449 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700450 #
451 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700452 { # Usage configuration rules for the service.
453 #
454 # NOTE: Under development.
455 #
456 #
457 # Use this rule to configure unregistered calls for the service. Unregistered
458 # calls are calls that do not contain consumer project identity.
459 # (Example: calls that do not contain an API key).
460 # By default, API methods do not allow unregistered calls, and each method call
461 # must be identified by a consumer project identity. Use this rule to
462 # allow/disallow unregistered calls.
463 #
464 # Example of an API that wants to allow unregistered calls for entire service.
465 #
466 # usage:
467 # rules:
468 # - selector: &quot;*&quot;
469 # allow_unregistered_calls: true
470 #
471 # Example of a method that wants to allow unregistered calls.
472 #
473 # usage:
474 # rules:
475 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
476 # allow_unregistered_calls: true
477 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
478 # plane features, such as quota and billing, will not be available.
479 # This flag is used by Google Cloud Endpoints to bypass checks for internal
480 # methods, such as service health check methods.
481 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
482 # that don&#x27;t identify any user or application.
483 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
484 # methods in all APIs.
485 #
486 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700487 },
488 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700489 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
490 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
491 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
492 &quot;A String&quot;,
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700493 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700494 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
495 #
496 #
497 # Use this field to configure per-product per-project service identity.
498 # Example of a service identity configuration.
499 #
500 # usage:
501 # service_identity:
502 # - service_account_parent: &quot;projects/123456789&quot;
503 # display_name: &quot;Cloud XXX Service Agent&quot;
504 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
505 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
506 # Must be less than or equal to 256 UTF-8 bytes.
507 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
508 # Must be less than or equal to 100 UTF-8 bytes.
509 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
510 #
511 # An example name would be:
512 # `projects/123456789`
513 },
514 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
515 # service producer.
516 #
517 # Google Service Management currently only supports
518 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
519 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
520 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
521 # documented in https://cloud.google.com/pubsub/docs/overview.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700522 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700523 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
524 # of the endpoints.
525 { # `Endpoint` describes a network endpoint that serves a set of APIs.
526 # A service may expose any number of endpoints, and all endpoints share the
527 # same service configuration, such as quota configuration and monitoring
528 # configuration.
529 #
530 # Example service configuration:
531 #
532 # name: library-example.googleapis.com
533 # endpoints:
534 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
535 # # API be served from endpoint address library-example.googleapis.com.
536 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
537 # # it to decide whether the subsequent cross-origin request is
538 # # allowed to proceed.
539 # - name: library-example.googleapis.com
540 # allow_cors: true
541 &quot;allowCors&quot;: True or False, # Allowing
542 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
543 # cross-domain traffic, would allow the backends served from this endpoint to
544 # receive and respond to HTTP OPTIONS requests. The response will be used by
545 # the browser to determine whether the subsequent cross-origin request is
546 # allowed to proceed.
547 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
548 # handle requests to this [API
549 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
550 # either a valid IPv4 address or a fully-qualified domain name. For example,
551 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
552 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
553 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
554 # please specify multiple google.api.Endpoint for each of the intended
555 # aliases.
556 #
557 # Additional names that this endpoint will be hosted on.
558 &quot;A String&quot;,
559 ],
560 },
561 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700562 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
563 #
564 # Example for an API targeted for external use:
565 #
566 # name: calendar.googleapis.com
567 # authentication:
568 # providers:
569 # - id: google_calendar_auth
570 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
571 # issuer: https://securetoken.google.com
572 # rules:
573 # - selector: &quot;*&quot;
574 # requirements:
575 # provider_id: google_calendar_auth
576 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
577 { # Configuration for an authentication provider, including support for
578 # [JSON Web Token
579 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700580 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
581 # [OpenID
582 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
583 # Optional if the key set document:
584 # - can be retrieved from
585 # [OpenID
586 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
587 # the issuer.
588 # - can be inferred from the email domain of the issuer (e.g. a Google
589 # service account).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700590 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700591 # Example: https://www.googleapis.com/oauth2/v1/certs
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700592 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
593 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700594 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
595 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
596 # Usually a URL or an email address.
597 #
598 # Example: https://securetoken.google.com
599 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700600 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
601 #
602 # JWT locations can be either from HTTP headers or URL query parameters.
603 # The rule is that the first match wins. The checking order is: checking
604 # all headers first, then URL query parameters.
605 #
606 # If not specified, default to use following 3 locations:
607 # 1) Authorization: Bearer
608 # 2) x-goog-iap-jwt-assertion
609 # 3) access_token query parameter
610 #
611 # Default locations can be specified as followings:
612 # jwt_locations:
613 # - header: Authorization
614 # value_prefix: &quot;Bearer &quot;
615 # - header: x-goog-iap-jwt-assertion
616 # - query: access_token
617 { # Specifies a location to extract JWT from an API request.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700618 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
619 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
620 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
621 # If not empty, the header value has to match (case sensitive) this prefix.
622 # If not matched, JWT will not be extracted. If matched, JWT will be
623 # extracted after the prefix is removed.
624 #
625 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
626 # value_prefix=&quot;Bearer &quot; with a space at the end.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700627 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700628 },
629 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700630 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
631 # `AuthRequirement.provider_id`.
632 #
633 # Example: &quot;bookstore_auth&quot;.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700634 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
635 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
636 # that are allowed to access. A JWT containing any of these audiences will
637 # be accepted. When this setting is absent, JWTs with audiences:
638 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
639 # - &quot;https://[service.name]/&quot;
640 # will be accepted.
641 # For example, if no audiences are in the setting, LibraryService API will
642 # accept JWTs with the following audiences:
643 # -
644 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
645 # - https://library-example.googleapis.com/
646 #
647 # Example:
648 #
649 # audiences: bookstore_android.apps.googleusercontent.com,
650 # bookstore_web.apps.googleusercontent.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700651 },
652 ],
653 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
654 #
655 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
656 { # Authentication rules for the service.
657 #
658 # By default, if a method has any authentication requirements, every request
659 # must include a valid credential matching one of the requirements.
660 # It&#x27;s an error to include more than one kind of credential in a single
661 # request.
662 #
663 # If a method doesn&#x27;t have any auth requirements, request credentials will be
664 # ignored.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700665 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
666 #
667 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700668 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
669 { # User-defined authentication requirements, including support for
670 # [JSON Web Token
671 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
672 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
673 #
674 # Example:
675 #
676 # provider_id: bookstore_auth
677 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
678 # implemented and accepted in all the runtime components.
679 #
680 # The list of JWT
681 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
682 # that are allowed to access. A JWT containing any of these audiences will
683 # be accepted. When this setting is absent, only JWTs with audience
684 # &quot;https://Service_name/API_name&quot;
685 # will be accepted. For example, if no audiences are in the setting,
686 # LibraryService API will only accept JWTs with the following audience
687 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
688 #
689 # Example:
690 #
691 # audiences: bookstore_android.apps.googleusercontent.com,
692 # bookstore_web.apps.googleusercontent.com
693 },
694 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700695 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
696 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
697 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
698 # giving it permission to access that data on their behalf.
699 #
700 # OAuth scope specifications should be fairly coarse grained; a user will need
701 # to see and understand the text description of what your scope means.
702 #
703 # In most cases: use one or at most two OAuth scopes for an entire family of
704 # products. If your product has multiple APIs, you should probably be sharing
705 # the OAuth scope across all of those APIs.
706 #
707 # When you need finer grained OAuth consent screens: talk with your product
708 # management about how developers will use them in practice.
709 #
710 # Please note that even though each of the canonical scopes is enough for a
711 # request to be accepted and passed to the backend, a request can still fail
712 # due to the backend requiring additional scopes or permissions.
713 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
714 # OAuth token containing any of these scopes will be accepted.
715 #
716 # Example:
717 #
718 # canonical_scopes: https://www.googleapis.com/auth/calendar,
719 # https://www.googleapis.com/auth/calendar.read
720 },
721 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700722 },
723 ],
724 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700725 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700726 # versions, and method names of the interfaces.
727 { # Api is a light-weight descriptor for an API Interface.
728 #
Bu Sun Kim65020912020-05-20 12:08:20 -0700729 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
730 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700731 # from API Services, which represent a concrete implementation of an interface
732 # as opposed to simply a description of methods and bindings. They are also
Bu Sun Kim65020912020-05-20 12:08:20 -0700733 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700734 # this message itself. See https://cloud.google.com/apis/design/glossary for
735 # detailed terminology.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700736 &quot;options&quot;: [ # Any metadata attached to the interface.
737 { # A protocol buffer option, which can be attached to a message, field,
738 # enumeration, etc.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700739 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
740 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
741 # should be used. If the value is an enum, it should be stored as an int32
742 # value using the google.protobuf.Int32Value type.
743 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
744 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700745 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
746 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
747 # For custom options, it should be the fully-qualified name. For example,
748 # `&quot;google.api.http&quot;`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700749 },
750 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700751 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
752 # `major-version.minor-version`, as in `1.10`. If the minor version is
753 # omitted, it defaults to zero. If the entire version field is empty, the
754 # major version is derived from the package name, as outlined below. If the
755 # field is not empty, the version in the package name will be verified to be
756 # consistent with what is provided here.
757 #
758 # The versioning schema uses [semantic
759 # versioning](http://semver.org) where the major version number
760 # indicates a breaking change and the minor version an additive,
761 # non-breaking change. Both version numbers are signals to users
762 # what to expect from different versions, and should be carefully
763 # chosen based on the product plan.
764 #
765 # The major version is also reflected in the package name of the
766 # interface, which must end in `v&lt;major-version&gt;`, as in
767 # `google.feature.v1`. For major versions 0 and 1, the suffix can
768 # be omitted. Zero major versions must only be used for
769 # experimental, non-GA interfaces.
Bu Sun Kim65020912020-05-20 12:08:20 -0700770 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700771 { # Declares an API Interface to be included in this interface. The including
772 # interface must redeclare all the methods from the included interface, but
773 # documentation and options are inherited as follows:
774 #
775 # - If after comment and whitespace stripping, the documentation
776 # string of the redeclared method is empty, it will be inherited
777 # from the original method.
778 #
779 # - Each annotation belonging to the service config (http,
780 # visibility) which is not set in the redeclared method will be
781 # inherited.
782 #
783 # - If an http annotation is inherited, the path pattern will be
784 # modified as follows. Any version prefix will be replaced by the
785 # version of the including interface plus the root path if
786 # specified.
787 #
788 # Example of a simple mixin:
789 #
790 # package google.acl.v1;
791 # service AccessControl {
792 # // Get the underlying ACL object.
793 # rpc GetAcl(GetAclRequest) returns (Acl) {
Bu Sun Kim65020912020-05-20 12:08:20 -0700794 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700795 # }
796 # }
797 #
798 # package google.storage.v2;
799 # service Storage {
800 # // rpc GetAcl(GetAclRequest) returns (Acl);
801 #
802 # // Get a data record.
803 # rpc GetData(GetDataRequest) returns (Data) {
Bu Sun Kim65020912020-05-20 12:08:20 -0700804 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700805 # }
806 # }
807 #
808 # Example of a mixin configuration:
809 #
810 # apis:
811 # - name: google.storage.v2.Storage
812 # mixins:
813 # - name: google.acl.v1.AccessControl
814 #
815 # The mixin construct implies that all methods in `AccessControl` are
816 # also declared with same name and request/response types in
817 # `Storage`. A documentation generator or annotation processor will
818 # see the effective `Storage.GetAcl` method after inherting
819 # documentation and annotations as follows:
820 #
821 # service Storage {
822 # // Get the underlying ACL object.
823 # rpc GetAcl(GetAclRequest) returns (Acl) {
Bu Sun Kim65020912020-05-20 12:08:20 -0700824 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700825 # }
826 # ...
827 # }
828 #
829 # Note how the version in the path pattern changed from `v1` to `v2`.
830 #
831 # If the `root` field in the mixin is specified, it should be a
832 # relative path under which inherited HTTP paths are placed. Example:
833 #
834 # apis:
835 # - name: google.storage.v2.Storage
836 # mixins:
837 # - name: google.acl.v1.AccessControl
838 # root: acls
839 #
840 # This implies the following inherited HTTP annotation:
841 #
842 # service Storage {
843 # // Get the underlying ACL object.
844 # rpc GetAcl(GetAclRequest) returns (Acl) {
Bu Sun Kim65020912020-05-20 12:08:20 -0700845 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700846 # }
847 # ...
848 # }
Bu Sun Kim65020912020-05-20 12:08:20 -0700849 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700850 # are rooted.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700851 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700852 },
853 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700854 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
855 # message.
856 # protobuf element, like the file in which it is defined.
857 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
858 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
859 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700860 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
861 # followed by the interface&#x27;s simple name.
Bu Sun Kim65020912020-05-20 12:08:20 -0700862 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700863 { # Method represents a method of an API interface.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700864 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700865 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700866 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700867 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
868 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
Bu Sun Kim65020912020-05-20 12:08:20 -0700869 &quot;options&quot;: [ # Any metadata attached to the method.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700870 { # A protocol buffer option, which can be attached to a message, field,
871 # enumeration, etc.
Bu Sun Kim65020912020-05-20 12:08:20 -0700872 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700873 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
874 # should be used. If the value is an enum, it should be stored as an int32
875 # value using the google.protobuf.Int32Value type.
Bu Sun Kim65020912020-05-20 12:08:20 -0700876 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700877 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700878 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
879 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
880 # For custom options, it should be the fully-qualified name. For example,
881 # `&quot;google.api.http&quot;`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700882 },
883 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700884 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
Bu Sun Kim65020912020-05-20 12:08:20 -0700885 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700886 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700887 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700888 },
889 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700890 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
891 # usage.
892 #
893 # The metric based quota configuration works this way:
894 # - The service configuration defines a set of metrics.
895 # - For API calls, the quota.metric_rules maps methods to metrics with
896 # corresponding costs.
897 # - The quota.limits defines limits on the metrics, which will be used for
898 # quota checks at runtime.
899 #
900 # An example quota configuration in yaml format:
901 #
902 # quota:
903 # limits:
904 #
905 # - name: apiWriteQpsPerProject
906 # metric: library.googleapis.com/write_calls
907 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
908 # values:
909 # STANDARD: 10000
910 #
911 #
912 # # The metric rules bind all methods to the read_calls metric,
913 # # except for the UpdateBook and DeleteBook methods. These two methods
914 # # are mapped to the write_calls metric, with the UpdateBook method
915 # # consuming at twice rate as the DeleteBook method.
916 # metric_rules:
917 # - selector: &quot;*&quot;
918 # metric_costs:
919 # library.googleapis.com/read_calls: 1
920 # - selector: google.example.library.v1.LibraryService.UpdateBook
921 # metric_costs:
922 # library.googleapis.com/write_calls: 2
923 # - selector: google.example.library.v1.LibraryService.DeleteBook
924 # metric_costs:
925 # library.googleapis.com/write_calls: 1
926 #
927 # Corresponding Metric definition:
928 #
929 # metrics:
930 # - name: library.googleapis.com/read_calls
931 # display_name: Read requests
932 # metric_kind: DELTA
933 # value_type: INT64
934 #
935 # - name: library.googleapis.com/write_calls
936 # display_name: Write requests
937 # metric_kind: DELTA
938 # value_type: INT64
939 #
940 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
941 # or more metrics.
942 { # Bind API methods to metrics. Binding a method to a metric causes that
943 # metric&#x27;s configured quota behaviors to apply to the method call.
944 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700945 #
946 # Refer to selector for syntax details.
Bu Sun Kimd059ad82020-07-22 17:02:09 -0700947 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
948 # cost applied to each metric.
949 #
950 # The key of the map is the metric name, and the values are the amount
951 # increased for the metric against which the quota limits are defined.
952 # The value must not be negative.
953 &quot;a_key&quot;: &quot;A String&quot;,
954 },
955 },
956 ],
957 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
958 { # `QuotaLimit` defines a specific limit that applies over a specified duration
959 # for a limit type. There can be at most one limit for a duration and limit
960 # type combination defined within a `QuotaGroup`.
961 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
962 # integer value that is the maximum number of requests allowed for the
963 # specified unit. Currently only STANDARD is supported.
964 &quot;a_key&quot;: &quot;A String&quot;,
965 },
966 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
967 #
968 # The name must be provided, and it must be unique within the service. The
969 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
970 #
971 # The maximum length of the limit name is 64 characters.
972 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
973 # Metric.unit. The supported unit kinds are determined by the quota
974 # backend system.
975 #
976 # Here are some examples:
977 # * &quot;1/min/{project}&quot; for quota per minute per project.
978 #
979 # Note: the order of unit components is insignificant.
980 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
981 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
982 # duration. This is the number of tokens assigned when a client
983 # application developer activates the service for his/her project.
984 #
985 # Specifying a value of 0 will block all requests. This can be used if you
986 # are provisioning quota to selected consumers and blocking others.
987 # Similarly, a value of -1 will indicate an unlimited quota. No other
988 # negative values are allowed.
989 #
990 # Used by group-based quotas only.
991 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
992 # The free tier is the number of tokens that will be subtracted from the
993 # billed amount when billing is enabled.
994 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
995 # group; it is invalid on any other limit. If this field is not set, it
996 # defaults to 0, indicating that there is no free tier for this service.
997 #
998 # Used by group-based quotas only.
999 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
1000 # duration. Client application developers can override the default limit up
1001 # to this maximum. If specified, this value cannot be set to a value less
1002 # than the default limit. If not specified, it is set to the default limit.
1003 #
1004 # To allow clients to apply overrides with no upper bound, set this to -1,
1005 # indicating unlimited maximum quota.
1006 #
1007 # Used by group-based quotas only.
1008 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
1009 # Should be used only when more context is needed to understand this limit
1010 # than provided by the limit&#x27;s display name (see: `display_name`).
1011 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
1012 # the same metric will be checked together during runtime. The metric must be
1013 # defined within the service config.
1014 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
1015 # Optional. If not set, the UI will provide a default display name based on
1016 # the quota configuration. This field can be used to override the default
1017 # display name generated from the configuration.
1018 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
1019 #
1020 # Used by group-based quotas only.
1021 },
1022 ],
1023 },
1024 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
1025 # documentation URL.
1026 #
1027 # Example:
1028 # &lt;pre&gt;&lt;code&gt;documentation:
1029 # summary: &gt;
1030 # The Google Calendar API gives access
1031 # to most calendar features.
1032 # pages:
1033 # - name: Overview
1034 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
1035 # - name: Tutorial
1036 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
1037 # subpages;
1038 # - name: Java
1039 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
1040 # rules:
1041 # - selector: google.calendar.Calendar.Get
1042 # description: &gt;
1043 # ...
1044 # - selector: google.calendar.Calendar.Put
1045 # description: &gt;
1046 # ...
1047 # &lt;/code&gt;&lt;/pre&gt;
1048 # Documentation is provided in markdown syntax. In addition to
1049 # standard markdown features, definition lists, tables and fenced
1050 # code blocks are supported. Section headers can be provided and are
1051 # interpreted relative to the section nesting of the context where
1052 # a documentation fragment is embedded.
1053 #
1054 # Documentation from the IDL is merged with documentation defined
1055 # via the config at normalization time, where documentation provided
1056 # by config rules overrides IDL provided.
1057 #
1058 # A number of constructs specific to the API platform are supported
1059 # in documentation text.
1060 #
1061 # In order to reference a proto element, the following
1062 # notation can be used:
1063 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
1064 # To override the display text used for the link, this can be used:
1065 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
1066 # Text can be excluded from doc using the following notation:
1067 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1068 #
1069 # A few directives are available in documentation. Note that
1070 # directives must appear on a single line to be properly
1071 # identified. The `include` directive includes a markdown file from
1072 # an external source:
1073 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1074 # The `resource_for` directive marks a message to be the resource of
1075 # a collection in REST view. If it is not specified, tools attempt
1076 # to infer the resource from the operations in a collection:
1077 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1078 # The directive `suppress_warning` does not directly affect documentation
1079 # and is documented together with service config validation.
1080 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
1081 # from the yaml file) is not suitable. This can be seen in any fully
1082 # specified service urls as well as sections that show a base that other
1083 # urls are relative to.
1084 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
1085 #
1086 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1087 { # A documentation rule provides information about individual API elements.
1088 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
1089 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
1090 # Wildcards are only allowed at the end and for a whole component of the
1091 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
1092 # wildcard will match one or more components. To specify a default for all
1093 # applicable elements, the whole pattern &quot;*&quot; is used.
1094 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
1095 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
1096 # an element is marked as `deprecated`.
1097 },
1098 ],
1099 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
1100 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
1101 # plain text.
1102 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
1103 # &lt;pre&gt;&lt;code&gt;documentation:
1104 # summary: ...
1105 # overview: &amp;#40;== include overview.md ==&amp;#41;
1106 # &lt;/code&gt;&lt;/pre&gt;
1107 # This is a shortcut for the following declaration (using pages style):
1108 # &lt;pre&gt;&lt;code&gt;documentation:
1109 # summary: ...
1110 # pages:
1111 # - name: Overview
1112 # content: &amp;#40;== include overview.md ==&amp;#41;
1113 # &lt;/code&gt;&lt;/pre&gt;
1114 # Note: you cannot specify both `overview` field and `pages` field.
1115 &quot;pages&quot;: [ # The top level pages for the documentation set.
1116 { # Represents a documentation page. A page can contain subpages to represent
1117 # nested documentation set structure.
1118 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
1119 # generate URI of the page, text of the link to this page in navigation,
1120 # etc. The full page name (start from the root page name to this page
1121 # concatenated with `.`) can be used as reference to the page in your
1122 # documentation. For example:
1123 # &lt;pre&gt;&lt;code&gt;pages:
1124 # - name: Tutorial
1125 # content: &amp;#40;== include tutorial.md ==&amp;#41;
1126 # subpages:
1127 # - name: Java
1128 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
1129 # &lt;/code&gt;&lt;/pre&gt;
1130 # You can reference `Java` page using Markdown reference link syntax:
1131 # `Java`.
1132 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
1133 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
1134 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
1135 # honored in the generated docset.
1136 # Object with schema name: Page
1137 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001138 },
1139 ],
1140 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001141 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001142 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
1143 #
1144 # A valid name would be:
1145 # - projects/123
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001146 }</pre>
1147</div>
1148
1149<div class="method">
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001150 <code class="details" id="list">list(parent, filter=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001151 <pre>List all services available to the specified project, and the current
1152state of those services with respect to the project. The list includes
1153all public services, all services for which the calling user has the
1154`servicemanagement.services.bind` permission, and all services that have
1155already been enabled on the project. The list can be filtered to
1156only include services in a specific state, for example to only include
1157services enabled on the project.
1158
1159Args:
1160 parent: string, Parent to search for services on.
1161
1162An example name would be:
1163`projects/123`
1164where `123` is the project number (not project ID). (required)
Bu Sun Kim65020912020-05-20 12:08:20 -07001165 filter: string, Only list services that conform to the given filter.
1166The allowed filter strings are `state:ENABLED` and `state:DISABLED`.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001167 pageToken: string, Token identifying which result to start with, which is returned by a
1168previous list call.
Bu Sun Kim65020912020-05-20 12:08:20 -07001169 pageSize: integer, Requested size of the next page of data.
1170Requested page size cannot exceed 200.
1171 If not set, the default page size is 50.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001172 x__xgafv: string, V1 error format.
1173 Allowed values
1174 1 - v1 error format
1175 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001176
1177Returns:
1178 An object of the form:
1179
1180 { # Response message for the `ListServices` method.
Bu Sun Kim65020912020-05-20 12:08:20 -07001181 &quot;services&quot;: [ # The available services for the requested project.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001182 { # A service that is available for use by the consumer.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001183 &quot;name&quot;: &quot;A String&quot;, # The resource name of the consumer and service.
1184 #
1185 # A valid name would be:
1186 # - projects/123/services/serviceusage.googleapis.com
1187 &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 -07001188 &quot;config&quot;: { # The configuration of the service. # The service configuration of the available service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001189 # Some fields may be filtered out of the configuration in responses to
1190 # the `ListServices` method. These fields are present only in responses to
1191 # the `GetService` method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001192 &quot;title&quot;: &quot;A String&quot;, # The product title for this service.
1193 &quot;name&quot;: &quot;A String&quot;, # The DNS address at which this service is available.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001194 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001195 # An example DNS address would be:
1196 # `calendar.googleapis.com`.
1197 &quot;usage&quot;: { # Configuration controlling usage of a service. # Configuration controlling usage of this service.
1198 &quot;rules&quot;: [ # A list of usage rules that apply to individual API methods.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001199 #
1200 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001201 { # Usage configuration rules for the service.
1202 #
1203 # NOTE: Under development.
1204 #
1205 #
1206 # Use this rule to configure unregistered calls for the service. Unregistered
1207 # calls are calls that do not contain consumer project identity.
1208 # (Example: calls that do not contain an API key).
1209 # By default, API methods do not allow unregistered calls, and each method call
1210 # must be identified by a consumer project identity. Use this rule to
1211 # allow/disallow unregistered calls.
1212 #
1213 # Example of an API that wants to allow unregistered calls for entire service.
1214 #
1215 # usage:
1216 # rules:
1217 # - selector: &quot;*&quot;
1218 # allow_unregistered_calls: true
1219 #
1220 # Example of a method that wants to allow unregistered calls.
1221 #
1222 # usage:
1223 # rules:
1224 # - selector: &quot;google.example.library.v1.LibraryService.CreateBook&quot;
1225 # allow_unregistered_calls: true
1226 &quot;skipServiceControl&quot;: True or False, # If true, the selected method should skip service control and the control
1227 # plane features, such as quota and billing, will not be available.
1228 # This flag is used by Google Cloud Endpoints to bypass checks for internal
1229 # methods, such as service health check methods.
1230 &quot;allowUnregisteredCalls&quot;: True or False, # If true, the selected method allows unregistered calls, e.g. calls
1231 # that don&#x27;t identify any user or application.
1232 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies. Use &#x27;*&#x27; to indicate all
1233 # methods in all APIs.
1234 #
1235 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001236 },
1237 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001238 &quot;requirements&quot;: [ # Requirements that must be satisfied before a consumer project can use the
1239 # service. Each requirement is of the form &lt;service.name&gt;/&lt;requirement-id&gt;;
1240 # for example &#x27;serviceusage.googleapis.com/billing-enabled&#x27;.
1241 &quot;A String&quot;,
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001242 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001243 &quot;serviceIdentity&quot;: { # The per-product per-project service identity for a service. # The configuration of a per-product per-project service identity.
1244 #
1245 #
1246 # Use this field to configure per-product per-project service identity.
1247 # Example of a service identity configuration.
1248 #
1249 # usage:
1250 # service_identity:
1251 # - service_account_parent: &quot;projects/123456789&quot;
1252 # display_name: &quot;Cloud XXX Service Agent&quot;
1253 # description: &quot;Used as the identity of Cloud XXX to access resources&quot;
1254 &quot;description&quot;: &quot;A String&quot;, # Optional. A user-specified opaque description of the service account.
1255 # Must be less than or equal to 256 UTF-8 bytes.
1256 &quot;displayName&quot;: &quot;A String&quot;, # Optional. A user-specified name for the service account.
1257 # Must be less than or equal to 100 UTF-8 bytes.
1258 &quot;serviceAccountParent&quot;: &quot;A String&quot;, # A service account project that hosts the service accounts.
1259 #
1260 # An example name would be:
1261 # `projects/123456789`
1262 },
1263 &quot;producerNotificationChannel&quot;: &quot;A String&quot;, # The full resource name of a channel used for sending notifications to the
1264 # service producer.
1265 #
1266 # Google Service Management currently only supports
1267 # [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
1268 # channel. To use Google Cloud Pub/Sub as the channel, this must be the name
1269 # of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
1270 # documented in https://cloud.google.com/pubsub/docs/overview.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001271 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001272 &quot;endpoints&quot;: [ # Configuration for network endpoints. Contains only the names and aliases
1273 # of the endpoints.
1274 { # `Endpoint` describes a network endpoint that serves a set of APIs.
1275 # A service may expose any number of endpoints, and all endpoints share the
1276 # same service configuration, such as quota configuration and monitoring
1277 # configuration.
1278 #
1279 # Example service configuration:
1280 #
1281 # name: library-example.googleapis.com
1282 # endpoints:
1283 # # Below entry makes &#x27;google.example.library.v1.Library&#x27;
1284 # # API be served from endpoint address library-example.googleapis.com.
1285 # # It also allows HTTP OPTIONS calls to be passed to the backend, for
1286 # # it to decide whether the subsequent cross-origin request is
1287 # # allowed to proceed.
1288 # - name: library-example.googleapis.com
1289 # allow_cors: true
1290 &quot;allowCors&quot;: True or False, # Allowing
1291 # [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
1292 # cross-domain traffic, would allow the backends served from this endpoint to
1293 # receive and respond to HTTP OPTIONS requests. The response will be used by
1294 # the browser to determine whether the subsequent cross-origin request is
1295 # allowed to proceed.
1296 &quot;target&quot;: &quot;A String&quot;, # The specification of an Internet routable address of API frontend that will
1297 # handle requests to this [API
1298 # Endpoint](https://cloud.google.com/apis/design/glossary). It should be
1299 # either a valid IPv4 address or a fully-qualified domain name. For example,
1300 # &quot;8.8.8.8&quot; or &quot;myservice.appspot.com&quot;.
1301 &quot;name&quot;: &quot;A String&quot;, # The canonical name of this endpoint.
1302 &quot;aliases&quot;: [ # DEPRECATED: This field is no longer supported. Instead of using aliases,
1303 # please specify multiple google.api.Endpoint for each of the intended
1304 # aliases.
1305 #
1306 # Additional names that this endpoint will be hosted on.
1307 &quot;A String&quot;,
1308 ],
1309 },
1310 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001311 &quot;authentication&quot;: { # `Authentication` defines the authentication configuration for an API. # Auth configuration. Contains only the OAuth rules.
1312 #
1313 # Example for an API targeted for external use:
1314 #
1315 # name: calendar.googleapis.com
1316 # authentication:
1317 # providers:
1318 # - id: google_calendar_auth
1319 # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
1320 # issuer: https://securetoken.google.com
1321 # rules:
1322 # - selector: &quot;*&quot;
1323 # requirements:
1324 # provider_id: google_calendar_auth
1325 &quot;providers&quot;: [ # Defines a set of authentication providers that a service supports.
1326 { # Configuration for an authentication provider, including support for
1327 # [JSON Web Token
1328 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001329 &quot;jwksUri&quot;: &quot;A String&quot;, # URL of the provider&#x27;s public key set to validate signature of the JWT. See
1330 # [OpenID
1331 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
1332 # Optional if the key set document:
1333 # - can be retrieved from
1334 # [OpenID
1335 # Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of
1336 # the issuer.
1337 # - can be inferred from the email domain of the issuer (e.g. a Google
1338 # service account).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001339 #
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001340 # Example: https://www.googleapis.com/oauth2/v1/certs
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001341 &quot;authorizationUrl&quot;: &quot;A String&quot;, # Redirect URL if JWT token is required but not present or is expired.
1342 # Implement authorizationUrl of securityDefinitions in OpenAPI spec.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001343 &quot;issuer&quot;: &quot;A String&quot;, # Identifies the principal that issued the JWT. See
1344 # https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
1345 # Usually a URL or an email address.
1346 #
1347 # Example: https://securetoken.google.com
1348 # Example: 1234567-compute@developer.gserviceaccount.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001349 &quot;jwtLocations&quot;: [ # Defines the locations to extract the JWT.
1350 #
1351 # JWT locations can be either from HTTP headers or URL query parameters.
1352 # The rule is that the first match wins. The checking order is: checking
1353 # all headers first, then URL query parameters.
1354 #
1355 # If not specified, default to use following 3 locations:
1356 # 1) Authorization: Bearer
1357 # 2) x-goog-iap-jwt-assertion
1358 # 3) access_token query parameter
1359 #
1360 # Default locations can be specified as followings:
1361 # jwt_locations:
1362 # - header: Authorization
1363 # value_prefix: &quot;Bearer &quot;
1364 # - header: x-goog-iap-jwt-assertion
1365 # - query: access_token
1366 { # Specifies a location to extract JWT from an API request.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001367 &quot;query&quot;: &quot;A String&quot;, # Specifies URL query parameter name to extract JWT token.
1368 &quot;valuePrefix&quot;: &quot;A String&quot;, # The value prefix. The value format is &quot;value_prefix{token}&quot;
1369 # Only applies to &quot;in&quot; header type. Must be empty for &quot;in&quot; query type.
1370 # If not empty, the header value has to match (case sensitive) this prefix.
1371 # If not matched, JWT will not be extracted. If matched, JWT will be
1372 # extracted after the prefix is removed.
1373 #
1374 # For example, for &quot;Authorization: Bearer {JWT}&quot;,
1375 # value_prefix=&quot;Bearer &quot; with a space at the end.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001376 &quot;header&quot;: &quot;A String&quot;, # Specifies HTTP header name to extract JWT token.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001377 },
1378 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001379 &quot;id&quot;: &quot;A String&quot;, # The unique identifier of the auth provider. It will be referred to by
1380 # `AuthRequirement.provider_id`.
1381 #
1382 # Example: &quot;bookstore_auth&quot;.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001383 &quot;audiences&quot;: &quot;A String&quot;, # The list of JWT
1384 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1385 # that are allowed to access. A JWT containing any of these audiences will
1386 # be accepted. When this setting is absent, JWTs with audiences:
1387 # - &quot;https://[service.name]/[google.protobuf.Api.name]&quot;
1388 # - &quot;https://[service.name]/&quot;
1389 # will be accepted.
1390 # For example, if no audiences are in the setting, LibraryService API will
1391 # accept JWTs with the following audiences:
1392 # -
1393 # https://library-example.googleapis.com/google.example.library.v1.LibraryService
1394 # - https://library-example.googleapis.com/
1395 #
1396 # Example:
1397 #
1398 # audiences: bookstore_android.apps.googleusercontent.com,
1399 # bookstore_web.apps.googleusercontent.com
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001400 },
1401 ],
1402 &quot;rules&quot;: [ # A list of authentication rules that apply to individual API methods.
1403 #
1404 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1405 { # Authentication rules for the service.
1406 #
1407 # By default, if a method has any authentication requirements, every request
1408 # must include a valid credential matching one of the requirements.
1409 # It&#x27;s an error to include more than one kind of credential in a single
1410 # request.
1411 #
1412 # If a method doesn&#x27;t have any auth requirements, request credentials will be
1413 # ignored.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001414 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
1415 #
1416 # Refer to selector for syntax details.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001417 &quot;requirements&quot;: [ # Requirements for additional authentication providers.
1418 { # User-defined authentication requirements, including support for
1419 # [JSON Web Token
1420 # (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1421 &quot;providerId&quot;: &quot;A String&quot;, # id from authentication provider.
1422 #
1423 # Example:
1424 #
1425 # provider_id: bookstore_auth
1426 &quot;audiences&quot;: &quot;A String&quot;, # NOTE: This will be deprecated soon, once AuthProvider.audiences is
1427 # implemented and accepted in all the runtime components.
1428 #
1429 # The list of JWT
1430 # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
1431 # that are allowed to access. A JWT containing any of these audiences will
1432 # be accepted. When this setting is absent, only JWTs with audience
1433 # &quot;https://Service_name/API_name&quot;
1434 # will be accepted. For example, if no audiences are in the setting,
1435 # LibraryService API will only accept JWTs with the following audience
1436 # &quot;https://library-example.googleapis.com/google.example.library.v1.LibraryService&quot;.
1437 #
1438 # Example:
1439 #
1440 # audiences: bookstore_android.apps.googleusercontent.com,
1441 # bookstore_web.apps.googleusercontent.com
1442 },
1443 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001444 &quot;oauth&quot;: { # OAuth scopes are a way to define data and permissions on data. For example, # The requirements for OAuth credentials.
1445 # there are scopes defined for &quot;Read-only access to Google Calendar&quot; and
1446 # &quot;Access to Cloud Platform&quot;. Users can consent to a scope for an application,
1447 # giving it permission to access that data on their behalf.
1448 #
1449 # OAuth scope specifications should be fairly coarse grained; a user will need
1450 # to see and understand the text description of what your scope means.
1451 #
1452 # In most cases: use one or at most two OAuth scopes for an entire family of
1453 # products. If your product has multiple APIs, you should probably be sharing
1454 # the OAuth scope across all of those APIs.
1455 #
1456 # When you need finer grained OAuth consent screens: talk with your product
1457 # management about how developers will use them in practice.
1458 #
1459 # Please note that even though each of the canonical scopes is enough for a
1460 # request to be accepted and passed to the backend, a request can still fail
1461 # due to the backend requiring additional scopes or permissions.
1462 &quot;canonicalScopes&quot;: &quot;A String&quot;, # The list of publicly documented OAuth scopes that are allowed access. An
1463 # OAuth token containing any of these scopes will be accepted.
1464 #
1465 # Example:
1466 #
1467 # canonical_scopes: https://www.googleapis.com/auth/calendar,
1468 # https://www.googleapis.com/auth/calendar.read
1469 },
1470 &quot;allowWithoutCredential&quot;: True or False, # If true, the service accepts API keys without any other credential.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001471 },
1472 ],
1473 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001474 &quot;apis&quot;: [ # A list of API interfaces exported by this service. Contains only the names,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001475 # versions, and method names of the interfaces.
1476 { # Api is a light-weight descriptor for an API Interface.
1477 #
Bu Sun Kim65020912020-05-20 12:08:20 -07001478 # Interfaces are also described as &quot;protocol buffer services&quot; in some contexts,
1479 # such as by the &quot;service&quot; keyword in a .proto file, but they are different
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001480 # from API Services, which represent a concrete implementation of an interface
1481 # as opposed to simply a description of methods and bindings. They are also
Bu Sun Kim65020912020-05-20 12:08:20 -07001482 # sometimes simply referred to as &quot;APIs&quot; in other contexts, such as the name of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001483 # this message itself. See https://cloud.google.com/apis/design/glossary for
1484 # detailed terminology.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001485 &quot;options&quot;: [ # Any metadata attached to the interface.
1486 { # A protocol buffer option, which can be attached to a message, field,
1487 # enumeration, etc.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001488 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
1489 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1490 # should be used. If the value is an enum, it should be stored as an int32
1491 # value using the google.protobuf.Int32Value type.
1492 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
1493 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001494 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
1495 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
1496 # For custom options, it should be the fully-qualified name. For example,
1497 # `&quot;google.api.http&quot;`.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001498 },
1499 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001500 &quot;version&quot;: &quot;A String&quot;, # A version string for this interface. If specified, must have the form
1501 # `major-version.minor-version`, as in `1.10`. If the minor version is
1502 # omitted, it defaults to zero. If the entire version field is empty, the
1503 # major version is derived from the package name, as outlined below. If the
1504 # field is not empty, the version in the package name will be verified to be
1505 # consistent with what is provided here.
1506 #
1507 # The versioning schema uses [semantic
1508 # versioning](http://semver.org) where the major version number
1509 # indicates a breaking change and the minor version an additive,
1510 # non-breaking change. Both version numbers are signals to users
1511 # what to expect from different versions, and should be carefully
1512 # chosen based on the product plan.
1513 #
1514 # The major version is also reflected in the package name of the
1515 # interface, which must end in `v&lt;major-version&gt;`, as in
1516 # `google.feature.v1`. For major versions 0 and 1, the suffix can
1517 # be omitted. Zero major versions must only be used for
1518 # experimental, non-GA interfaces.
Bu Sun Kim65020912020-05-20 12:08:20 -07001519 &quot;mixins&quot;: [ # Included interfaces. See Mixin.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001520 { # Declares an API Interface to be included in this interface. The including
1521 # interface must redeclare all the methods from the included interface, but
1522 # documentation and options are inherited as follows:
1523 #
1524 # - If after comment and whitespace stripping, the documentation
1525 # string of the redeclared method is empty, it will be inherited
1526 # from the original method.
1527 #
1528 # - Each annotation belonging to the service config (http,
1529 # visibility) which is not set in the redeclared method will be
1530 # inherited.
1531 #
1532 # - If an http annotation is inherited, the path pattern will be
1533 # modified as follows. Any version prefix will be replaced by the
1534 # version of the including interface plus the root path if
1535 # specified.
1536 #
1537 # Example of a simple mixin:
1538 #
1539 # package google.acl.v1;
1540 # service AccessControl {
1541 # // Get the underlying ACL object.
1542 # rpc GetAcl(GetAclRequest) returns (Acl) {
Bu Sun Kim65020912020-05-20 12:08:20 -07001543 # option (google.api.http).get = &quot;/v1/{resource=**}:getAcl&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001544 # }
1545 # }
1546 #
1547 # package google.storage.v2;
1548 # service Storage {
1549 # // rpc GetAcl(GetAclRequest) returns (Acl);
1550 #
1551 # // Get a data record.
1552 # rpc GetData(GetDataRequest) returns (Data) {
Bu Sun Kim65020912020-05-20 12:08:20 -07001553 # option (google.api.http).get = &quot;/v2/{resource=**}&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001554 # }
1555 # }
1556 #
1557 # Example of a mixin configuration:
1558 #
1559 # apis:
1560 # - name: google.storage.v2.Storage
1561 # mixins:
1562 # - name: google.acl.v1.AccessControl
1563 #
1564 # The mixin construct implies that all methods in `AccessControl` are
1565 # also declared with same name and request/response types in
1566 # `Storage`. A documentation generator or annotation processor will
1567 # see the effective `Storage.GetAcl` method after inherting
1568 # documentation and annotations as follows:
1569 #
1570 # service Storage {
1571 # // Get the underlying ACL object.
1572 # rpc GetAcl(GetAclRequest) returns (Acl) {
Bu Sun Kim65020912020-05-20 12:08:20 -07001573 # option (google.api.http).get = &quot;/v2/{resource=**}:getAcl&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001574 # }
1575 # ...
1576 # }
1577 #
1578 # Note how the version in the path pattern changed from `v1` to `v2`.
1579 #
1580 # If the `root` field in the mixin is specified, it should be a
1581 # relative path under which inherited HTTP paths are placed. Example:
1582 #
1583 # apis:
1584 # - name: google.storage.v2.Storage
1585 # mixins:
1586 # - name: google.acl.v1.AccessControl
1587 # root: acls
1588 #
1589 # This implies the following inherited HTTP annotation:
1590 #
1591 # service Storage {
1592 # // Get the underlying ACL object.
1593 # rpc GetAcl(GetAclRequest) returns (Acl) {
Bu Sun Kim65020912020-05-20 12:08:20 -07001594 # option (google.api.http).get = &quot;/v2/acls/{resource=**}:getAcl&quot;;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001595 # }
1596 # ...
1597 # }
Bu Sun Kim65020912020-05-20 12:08:20 -07001598 &quot;root&quot;: &quot;A String&quot;, # If non-empty specifies a path under which inherited HTTP paths
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001599 # are rooted.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001600 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of the interface which is included.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001601 },
1602 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001603 &quot;sourceContext&quot;: { # `SourceContext` represents information about the source of a # Source context for the protocol buffer service represented by this
1604 # message.
1605 # protobuf element, like the file in which it is defined.
1606 &quot;fileName&quot;: &quot;A String&quot;, # The path-qualified name of the .proto file that contained the associated
1607 # protobuf element. For example: `&quot;google/protobuf/source_context.proto&quot;`.
1608 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001609 &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this interface, including package name
1610 # followed by the interface&#x27;s simple name.
Bu Sun Kim65020912020-05-20 12:08:20 -07001611 &quot;methods&quot;: [ # The methods of this interface, in unspecified order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001612 { # Method represents a method of an API interface.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001613 &quot;requestStreaming&quot;: True or False, # If true, the request is streamed.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001614 &quot;responseTypeUrl&quot;: &quot;A String&quot;, # The URL of the output message type.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001615 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of this method.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001616 &quot;name&quot;: &quot;A String&quot;, # The simple name of this method.
1617 &quot;responseStreaming&quot;: True or False, # If true, the response is streamed.
Bu Sun Kim65020912020-05-20 12:08:20 -07001618 &quot;options&quot;: [ # Any metadata attached to the method.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001619 { # A protocol buffer option, which can be attached to a message, field,
1620 # enumeration, etc.
Bu Sun Kim65020912020-05-20 12:08:20 -07001621 &quot;value&quot;: { # The option&#x27;s value packed in an Any message. If the value is a primitive,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001622 # the corresponding wrapper type defined in google/protobuf/wrappers.proto
1623 # should be used. If the value is an enum, it should be stored as an int32
1624 # value using the google.protobuf.Int32Value type.
Bu Sun Kim65020912020-05-20 12:08:20 -07001625 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001626 },
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001627 &quot;name&quot;: &quot;A String&quot;, # The option&#x27;s name. For protobuf built-in options (options defined in
1628 # descriptor.proto), this is the short name. For example, `&quot;map_entry&quot;`.
1629 # For custom options, it should be the fully-qualified name. For example,
1630 # `&quot;google.api.http&quot;`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001631 },
1632 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001633 &quot;requestTypeUrl&quot;: &quot;A String&quot;, # A URL of the input message type.
Bu Sun Kim65020912020-05-20 12:08:20 -07001634 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001635 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001636 &quot;syntax&quot;: &quot;A String&quot;, # The source syntax of the service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001637 },
1638 ],
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001639 &quot;quota&quot;: { # Quota configuration helps to achieve fairness and budgeting in service # Quota configuration.
1640 # usage.
1641 #
1642 # The metric based quota configuration works this way:
1643 # - The service configuration defines a set of metrics.
1644 # - For API calls, the quota.metric_rules maps methods to metrics with
1645 # corresponding costs.
1646 # - The quota.limits defines limits on the metrics, which will be used for
1647 # quota checks at runtime.
1648 #
1649 # An example quota configuration in yaml format:
1650 #
1651 # quota:
1652 # limits:
1653 #
1654 # - name: apiWriteQpsPerProject
1655 # metric: library.googleapis.com/write_calls
1656 # unit: &quot;1/min/{project}&quot; # rate limit for consumer projects
1657 # values:
1658 # STANDARD: 10000
1659 #
1660 #
1661 # # The metric rules bind all methods to the read_calls metric,
1662 # # except for the UpdateBook and DeleteBook methods. These two methods
1663 # # are mapped to the write_calls metric, with the UpdateBook method
1664 # # consuming at twice rate as the DeleteBook method.
1665 # metric_rules:
1666 # - selector: &quot;*&quot;
1667 # metric_costs:
1668 # library.googleapis.com/read_calls: 1
1669 # - selector: google.example.library.v1.LibraryService.UpdateBook
1670 # metric_costs:
1671 # library.googleapis.com/write_calls: 2
1672 # - selector: google.example.library.v1.LibraryService.DeleteBook
1673 # metric_costs:
1674 # library.googleapis.com/write_calls: 1
1675 #
1676 # Corresponding Metric definition:
1677 #
1678 # metrics:
1679 # - name: library.googleapis.com/read_calls
1680 # display_name: Read requests
1681 # metric_kind: DELTA
1682 # value_type: INT64
1683 #
1684 # - name: library.googleapis.com/write_calls
1685 # display_name: Write requests
1686 # metric_kind: DELTA
1687 # value_type: INT64
1688 #
1689 &quot;metricRules&quot;: [ # List of `MetricRule` definitions, each one mapping a selected method to one
1690 # or more metrics.
1691 { # Bind API methods to metrics. Binding a method to a metric causes that
1692 # metric&#x27;s configured quota behaviors to apply to the method call.
1693 &quot;selector&quot;: &quot;A String&quot;, # Selects the methods to which this rule applies.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001694 #
1695 # Refer to selector for syntax details.
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001696 &quot;metricCosts&quot;: { # Metrics to update when the selected methods are called, and the associated
1697 # cost applied to each metric.
1698 #
1699 # The key of the map is the metric name, and the values are the amount
1700 # increased for the metric against which the quota limits are defined.
1701 # The value must not be negative.
1702 &quot;a_key&quot;: &quot;A String&quot;,
1703 },
1704 },
1705 ],
1706 &quot;limits&quot;: [ # List of `QuotaLimit` definitions for the service.
1707 { # `QuotaLimit` defines a specific limit that applies over a specified duration
1708 # for a limit type. There can be at most one limit for a duration and limit
1709 # type combination defined within a `QuotaGroup`.
1710 &quot;values&quot;: { # Tiered limit values. You must specify this as a key:value pair, with an
1711 # integer value that is the maximum number of requests allowed for the
1712 # specified unit. Currently only STANDARD is supported.
1713 &quot;a_key&quot;: &quot;A String&quot;,
1714 },
1715 &quot;name&quot;: &quot;A String&quot;, # Name of the quota limit.
1716 #
1717 # The name must be provided, and it must be unique within the service. The
1718 # name can only include alphanumeric characters as well as &#x27;-&#x27;.
1719 #
1720 # The maximum length of the limit name is 64 characters.
1721 &quot;unit&quot;: &quot;A String&quot;, # Specify the unit of the quota limit. It uses the same syntax as
1722 # Metric.unit. The supported unit kinds are determined by the quota
1723 # backend system.
1724 #
1725 # Here are some examples:
1726 # * &quot;1/min/{project}&quot; for quota per minute per project.
1727 #
1728 # Note: the order of unit components is insignificant.
1729 # The &quot;1&quot; at the beginning is required to follow the metric unit syntax.
1730 &quot;defaultLimit&quot;: &quot;A String&quot;, # Default number of tokens that can be consumed during the specified
1731 # duration. This is the number of tokens assigned when a client
1732 # application developer activates the service for his/her project.
1733 #
1734 # Specifying a value of 0 will block all requests. This can be used if you
1735 # are provisioning quota to selected consumers and blocking others.
1736 # Similarly, a value of -1 will indicate an unlimited quota. No other
1737 # negative values are allowed.
1738 #
1739 # Used by group-based quotas only.
1740 &quot;freeTier&quot;: &quot;A String&quot;, # Free tier value displayed in the Developers Console for this limit.
1741 # The free tier is the number of tokens that will be subtracted from the
1742 # billed amount when billing is enabled.
1743 # This field can only be set on a limit with duration &quot;1d&quot;, in a billable
1744 # group; it is invalid on any other limit. If this field is not set, it
1745 # defaults to 0, indicating that there is no free tier for this service.
1746 #
1747 # Used by group-based quotas only.
1748 &quot;maxLimit&quot;: &quot;A String&quot;, # Maximum number of tokens that can be consumed during the specified
1749 # duration. Client application developers can override the default limit up
1750 # to this maximum. If specified, this value cannot be set to a value less
1751 # than the default limit. If not specified, it is set to the default limit.
1752 #
1753 # To allow clients to apply overrides with no upper bound, set this to -1,
1754 # indicating unlimited maximum quota.
1755 #
1756 # Used by group-based quotas only.
1757 &quot;description&quot;: &quot;A String&quot;, # Optional. User-visible, extended description for this quota limit.
1758 # Should be used only when more context is needed to understand this limit
1759 # than provided by the limit&#x27;s display name (see: `display_name`).
1760 &quot;metric&quot;: &quot;A String&quot;, # The name of the metric this quota limit applies to. The quota limits with
1761 # the same metric will be checked together during runtime. The metric must be
1762 # defined within the service config.
1763 &quot;displayName&quot;: &quot;A String&quot;, # User-visible display name for this limit.
1764 # Optional. If not set, the UI will provide a default display name based on
1765 # the quota configuration. This field can be used to override the default
1766 # display name generated from the configuration.
1767 &quot;duration&quot;: &quot;A String&quot;, # Duration of this limit in textual notation. Must be &quot;100s&quot; or &quot;1d&quot;.
1768 #
1769 # Used by group-based quotas only.
1770 },
1771 ],
1772 },
1773 &quot;documentation&quot;: { # `Documentation` provides the information for describing a service. # Additional API documentation. Contains only the summary and the
1774 # documentation URL.
1775 #
1776 # Example:
1777 # &lt;pre&gt;&lt;code&gt;documentation:
1778 # summary: &gt;
1779 # The Google Calendar API gives access
1780 # to most calendar features.
1781 # pages:
1782 # - name: Overview
1783 # content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
1784 # - name: Tutorial
1785 # content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
1786 # subpages;
1787 # - name: Java
1788 # content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
1789 # rules:
1790 # - selector: google.calendar.Calendar.Get
1791 # description: &gt;
1792 # ...
1793 # - selector: google.calendar.Calendar.Put
1794 # description: &gt;
1795 # ...
1796 # &lt;/code&gt;&lt;/pre&gt;
1797 # Documentation is provided in markdown syntax. In addition to
1798 # standard markdown features, definition lists, tables and fenced
1799 # code blocks are supported. Section headers can be provided and are
1800 # interpreted relative to the section nesting of the context where
1801 # a documentation fragment is embedded.
1802 #
1803 # Documentation from the IDL is merged with documentation defined
1804 # via the config at normalization time, where documentation provided
1805 # by config rules overrides IDL provided.
1806 #
1807 # A number of constructs specific to the API platform are supported
1808 # in documentation text.
1809 #
1810 # In order to reference a proto element, the following
1811 # notation can be used:
1812 # &lt;pre&gt;&lt;code&gt;&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code&gt;&lt;/pre&gt;
1813 # To override the display text used for the link, this can be used:
1814 # &lt;pre&gt;&lt;code&gt;&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code&gt;&lt;/pre&gt;
1815 # Text can be excluded from doc using the following notation:
1816 # &lt;pre&gt;&lt;code&gt;&amp;#40;-- internal comment --&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1817 #
1818 # A few directives are available in documentation. Note that
1819 # directives must appear on a single line to be properly
1820 # identified. The `include` directive includes a markdown file from
1821 # an external source:
1822 # &lt;pre&gt;&lt;code&gt;&amp;#40;== include path/to/file ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1823 # The `resource_for` directive marks a message to be the resource of
1824 # a collection in REST view. If it is not specified, tools attempt
1825 # to infer the resource from the operations in a collection:
1826 # &lt;pre&gt;&lt;code&gt;&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code&gt;&lt;/pre&gt;
1827 # The directive `suppress_warning` does not directly affect documentation
1828 # and is documented together with service config validation.
1829 &quot;serviceRootUrl&quot;: &quot;A String&quot;, # Specifies the service root url if the default one (the service name
1830 # from the yaml file) is not suitable. This can be seen in any fully
1831 # specified service urls as well as sections that show a base that other
1832 # urls are relative to.
1833 &quot;rules&quot;: [ # A list of documentation rules that apply to individual API elements.
1834 #
1835 # **NOTE:** All service configuration rules follow &quot;last one wins&quot; order.
1836 { # A documentation rule provides information about individual API elements.
1837 &quot;selector&quot;: &quot;A String&quot;, # The selector is a comma-separated list of patterns. Each pattern is a
1838 # qualified name of the element which may end in &quot;*&quot;, indicating a wildcard.
1839 # Wildcards are only allowed at the end and for a whole component of the
1840 # qualified name, i.e. &quot;foo.*&quot; is ok, but not &quot;foo.b*&quot; or &quot;foo.*.bar&quot;. A
1841 # wildcard will match one or more components. To specify a default for all
1842 # applicable elements, the whole pattern &quot;*&quot; is used.
1843 &quot;description&quot;: &quot;A String&quot;, # Description of the selected API(s).
1844 &quot;deprecationDescription&quot;: &quot;A String&quot;, # Deprecation description of the selected element(s). It can be provided if
1845 # an element is marked as `deprecated`.
1846 },
1847 ],
1848 &quot;documentationRootUrl&quot;: &quot;A String&quot;, # The URL to the root of documentation.
1849 &quot;summary&quot;: &quot;A String&quot;, # A short summary of what the service does. Can only be provided by
1850 # plain text.
1851 &quot;overview&quot;: &quot;A String&quot;, # Declares a single overview page. For example:
1852 # &lt;pre&gt;&lt;code&gt;documentation:
1853 # summary: ...
1854 # overview: &amp;#40;== include overview.md ==&amp;#41;
1855 # &lt;/code&gt;&lt;/pre&gt;
1856 # This is a shortcut for the following declaration (using pages style):
1857 # &lt;pre&gt;&lt;code&gt;documentation:
1858 # summary: ...
1859 # pages:
1860 # - name: Overview
1861 # content: &amp;#40;== include overview.md ==&amp;#41;
1862 # &lt;/code&gt;&lt;/pre&gt;
1863 # Note: you cannot specify both `overview` field and `pages` field.
1864 &quot;pages&quot;: [ # The top level pages for the documentation set.
1865 { # Represents a documentation page. A page can contain subpages to represent
1866 # nested documentation set structure.
1867 &quot;name&quot;: &quot;A String&quot;, # The name of the page. It will be used as an identity of the page to
1868 # generate URI of the page, text of the link to this page in navigation,
1869 # etc. The full page name (start from the root page name to this page
1870 # concatenated with `.`) can be used as reference to the page in your
1871 # documentation. For example:
1872 # &lt;pre&gt;&lt;code&gt;pages:
1873 # - name: Tutorial
1874 # content: &amp;#40;== include tutorial.md ==&amp;#41;
1875 # subpages:
1876 # - name: Java
1877 # content: &amp;#40;== include tutorial_java.md ==&amp;#41;
1878 # &lt;/code&gt;&lt;/pre&gt;
1879 # You can reference `Java` page using Markdown reference link syntax:
1880 # `Java`.
1881 &quot;content&quot;: &quot;A String&quot;, # The Markdown content of the page. You can use &lt;code&gt;&amp;#40;== include {path}
1882 # ==&amp;#41;&lt;/code&gt; to include content from a Markdown file.
1883 &quot;subpages&quot;: [ # Subpages of this page. The order of subpages specified here will be
1884 # honored in the generated docset.
1885 # Object with schema name: Page
1886 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001887 },
1888 ],
1889 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001890 },
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001891 &quot;parent&quot;: &quot;A String&quot;, # The resource name of the consumer.
1892 #
1893 # A valid name would be:
1894 # - projects/123
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001895 },
1896 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001897 &quot;nextPageToken&quot;: &quot;A String&quot;, # Token that can be passed to `ListServices` to resume a paginated
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001898 # query.
1899 }</pre>
1900</div>
1901
1902<div class="method">
1903 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
1904 <pre>Retrieves the next page of results.
1905
1906Args:
1907 previous_request: The request for the previous page. (required)
1908 previous_response: The response from the request for the previous page. (required)
1909
1910Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -07001911 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001912 page. Returns None if there are no more items in the collection.
1913 </pre>
1914</div>
1915
1916</body></html>