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