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