1"""Generated message classes for servicemanagement version v1. 2 3The service management API for Google Cloud Platform 4""" 5# NOTE: This file is autogenerated and should not be edited by hand. 6 7from apitools.base.protorpclite import messages as _messages 8from apitools.base.py import encoding 9from apitools.base.py import extra_types 10 11 12package = 'servicemanagement' 13 14 15class Api(_messages.Message): 16 r"""Api is a light-weight descriptor for a protocol buffer service. 17 18 Enums: 19 SyntaxValueValuesEnum: The source syntax of the service. 20 21 Fields: 22 methods: The methods of this api, in unspecified order. 23 mixins: Included APIs. See Mixin. 24 name: The fully qualified name of this api, including package name 25 followed by the api's simple name. 26 options: Any metadata attached to the API. 27 sourceContext: Source context for the protocol buffer service represented 28 by this message. 29 syntax: The source syntax of the service. 30 version: A version string for this api. If specified, must have the form 31 `major-version.minor-version`, as in `1.10`. If the minor version is 32 omitted, it defaults to zero. If the entire version field is empty, the 33 major version is derived from the package name, as outlined below. If 34 the field is not empty, the version in the package name will be verified 35 to be consistent with what is provided here. The versioning schema uses 36 [semantic versioning](http://semver.org) where the major version number 37 indicates a breaking change and the minor version an additive, non- 38 breaking change. Both version numbers are signals to users what to 39 expect from different versions, and should be carefully chosen based on 40 the product plan. The major version is also reflected in the package 41 name of the API, which must end in `v<major-version>`, as in 42 `google.feature.v1`. For major versions 0 and 1, the suffix can be 43 omitted. Zero major versions must only be used for experimental, none-GA 44 apis. 45 """ 46 47 class SyntaxValueValuesEnum(_messages.Enum): 48 r"""The source syntax of the service. 49 50 Values: 51 SYNTAX_PROTO2: Syntax `proto2`. 52 SYNTAX_PROTO3: Syntax `proto3`. 53 """ 54 SYNTAX_PROTO2 = 0 55 SYNTAX_PROTO3 = 1 56 57 methods = _messages.MessageField('Method', 1, repeated=True) 58 mixins = _messages.MessageField('Mixin', 2, repeated=True) 59 name = _messages.StringField(3) 60 options = _messages.MessageField('Option', 4, repeated=True) 61 sourceContext = _messages.MessageField('SourceContext', 5) 62 syntax = _messages.EnumField('SyntaxValueValuesEnum', 6) 63 version = _messages.StringField(7) 64 65 66class AreaUnderCurveParams(_messages.Message): 67 r"""AreaUnderCurveParams groups the metrics relevant to generating duration 68 based metric from base (snapshot) metric and delta (change) metric. The 69 generated metric has two dimensions: resource usage metric and the 70 duration the metric applies. Essentially the generated metric is the Area 71 Under Curve(AUC) of the "duration - resource" usage curve. This AUC metric 72 is readily appliable to billing since "billable resource usage" depends on 73 resource usage and duration of the resource used. A service config may 74 contain multiple resources and corresponding metrics. AreaUnderCurveParams 75 groups the relevant ones: which snapshot_metric and change_metric are used 76 to produce which generated_metric. 77 78 Fields: 79 changeMetric: Change of resource usage at a particular timestamp. This 80 should a DELTA metric. 81 generatedMetric: Metric generated from snapshot_metric and change_metric. 82 This is also a DELTA metric. 83 snapshotMetric: Total usage of a resource at a particular timestamp. This 84 should be a GAUGE metric. 85 """ 86 87 changeMetric = _messages.StringField(1) 88 generatedMetric = _messages.StringField(2) 89 snapshotMetric = _messages.StringField(3) 90 91 92class AuthProvider(_messages.Message): 93 r"""Configuration for an anthentication provider, including support for 94 [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json- 95 web-token-32). 96 97 Fields: 98 id: The unique identifier of the auth provider. It will be referred to by 99 `AuthRequirement.provider_id`. Example: "bookstore_auth". 100 issuer: Identifies the principal that issued the JWT. See 101 https://tools.ietf.org/html/draft-ietf-oauth-json-web- 102 token-32#section-4.1.1 Usually a URL or an email address. Example: 103 https://securetoken.google.com Example: 104 1234567-compute@developer.gserviceaccount.com 105 jwksUri: URL of the provider's public key set to validate signature of the 106 JWT. See [OpenID Discovery](https://openid.net/specs/openid-connect- 107 discovery-1_0.html#ProviderMetadata). Optional if the key set document: 108 - can be retrieved from [OpenID Discovery](https://openid.net/specs 109 /openid-connect-discovery-1_0.html of the issuer. - can be inferred 110 from the email domain of the issuer (e.g. a Google service account). 111 Example: https://www.googleapis.com/oauth2/v1/certs 112 """ 113 114 id = _messages.StringField(1) 115 issuer = _messages.StringField(2) 116 jwksUri = _messages.StringField(3) 117 118 119class AuthRequirement(_messages.Message): 120 r"""User-defined authentication requirements, including support for [JSON 121 Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web- 122 token-32). 123 124 Fields: 125 audiences: The list of JWT [audiences](https://tools.ietf.org/html/draft- 126 ietf-oauth-json-web-token-32#section-4.1.3). that are allowed to access. 127 A JWT containing any of these audiences will be accepted. When this 128 setting is absent, only JWTs with audience 129 "https://Service_name/API_name" will be accepted. For example, if no 130 audiences are in the setting, LibraryService API will only accept JWTs 131 with the following audience "https://library- 132 example.googleapis.com/google.example.library.v1.LibraryService". 133 Example: audiences: bookstore_android.apps.googleusercontent.com, 134 bookstore_web.apps.googleusercontent.com 135 providerId: id from authentication provider. Example: provider_id: 136 bookstore_auth 137 """ 138 139 audiences = _messages.StringField(1) 140 providerId = _messages.StringField(2) 141 142 143class Authentication(_messages.Message): 144 r"""`Authentication` defines the authentication configuration for an API. 145 Example for an API targeted for external use: name: 146 calendar.googleapis.com authentication: rules: - selector: 147 "*" oauth: canonical_scopes: 148 https://www.googleapis.com/auth/calendar - selector: 149 google.calendar.Delegate oauth: canonical_scopes: 150 https://www.googleapis.com/auth/calendar.read 151 152 Fields: 153 providers: Defines a set of authentication providers that a service 154 supports. 155 rules: Individual rules for authentication. 156 """ 157 158 providers = _messages.MessageField('AuthProvider', 1, repeated=True) 159 rules = _messages.MessageField('AuthenticationRule', 2, repeated=True) 160 161 162class AuthenticationRule(_messages.Message): 163 r"""Authentication rules for the service. By default, if a method has any 164 authentication requirements, every request must include a valid credential 165 matching one of the requirements. It's an error to include more than one 166 kind of credential in a single request. If a method doesn't have any auth 167 requirements, request credentials will be ignored. 168 169 Fields: 170 allowWithoutCredential: Whether to allow requests without a credential. 171 If quota is enabled, an API key is required for such request to pass the 172 quota check. 173 oauth: The requirements for OAuth credentials. 174 requirements: Requirements for additional authentication providers. 175 selector: Selects the methods to which this rule applies. Refer to 176 selector for syntax details. 177 """ 178 179 allowWithoutCredential = _messages.BooleanField(1) 180 oauth = _messages.MessageField('OAuthRequirements', 2) 181 requirements = _messages.MessageField('AuthRequirement', 3, repeated=True) 182 selector = _messages.StringField(4) 183 184 185class Backend(_messages.Message): 186 r"""`Backend` defines the backend configuration for a service. 187 188 Fields: 189 rules: A list of backend rules providing configuration for individual API 190 elements. 191 """ 192 193 rules = _messages.MessageField('BackendRule', 1, repeated=True) 194 195 196class BackendRule(_messages.Message): 197 r"""A backend rule provides configuration for an individual API element. 198 199 Fields: 200 address: The address of the API backend. 201 deadline: The number of seconds to wait for a response from a request. 202 The default depends on the deployment context. 203 selector: Selects the methods to which this rule applies. Refer to 204 selector for syntax details. 205 """ 206 207 address = _messages.StringField(1) 208 deadline = _messages.FloatField(2) 209 selector = _messages.StringField(3) 210 211 212class Billing(_messages.Message): 213 r"""Billing related configuration of the service. The following example 214 shows how to configure metrics for billing: metrics: - name: 215 library.googleapis.com/read_calls metric_kind: DELTA value_type: 216 INT64 - name: library.googleapis.com/write_calls metric_kind: 217 DELTA value_type: INT64 billing: metrics: - 218 library.googleapis.com/read_calls - library.googleapis.com/write_calls 219 The next example shows how to enable billing status check and customize the 220 check behavior. It makes sure billing status check is included in the 221 `Check` method of [Service Control API](https://cloud.google.com/service- 222 control/). In the example, "google.storage.Get" method can be served when 223 the billing status is either `current` or `delinquent`, while 224 "google.storage.Write" method can only be served when the billing status is 225 `current`: billing: rules: - selector: google.storage.Get 226 allowed_statuses: - current - delinquent - selector: 227 google.storage.Write allowed_statuses: current Mostly services 228 should only allow `current` status when serving requests. In addition, 229 services can choose to allow both `current` and `delinquent` statuses when 230 serving read-only requests to resources. If there's no matching selector for 231 operation, no billing status check will be performed. 232 233 Fields: 234 areaUnderCurveParams: Per resource grouping for delta billing based 235 resource configs. 236 metrics: Names of the metrics to report to billing. Each name must be 237 defined in Service.metrics section. 238 rules: A list of billing status rules for configuring billing status 239 check. 240 """ 241 242 areaUnderCurveParams = _messages.MessageField('AreaUnderCurveParams', 1, repeated=True) 243 metrics = _messages.StringField(2, repeated=True) 244 rules = _messages.MessageField('BillingStatusRule', 3, repeated=True) 245 246 247class BillingStatusRule(_messages.Message): 248 r"""Defines the billing status requirements for operations. When used with 249 [Service Control API](https://cloud.google.com/service-control/), the 250 following statuses are supported: - **current**: the associated billing 251 account is up to date and capable of paying for resource 252 usages. - **delinquent**: the associated billing account has a correctable 253 problem, such as late payment. Mostly services should 254 only allow `current` status when serving requests. In addition, services can 255 choose to allow both `current` and `delinquent` statuses when serving read- 256 only requests to resources. If the list of allowed_statuses is empty, it 257 means no billing requirement. 258 259 Fields: 260 allowedStatuses: Allowed billing statuses. The billing status check passes 261 if the actual billing status matches any of the provided values here. 262 selector: Selects the operation names to which this rule applies. Refer to 263 selector for syntax details. 264 """ 265 266 allowedStatuses = _messages.StringField(1, repeated=True) 267 selector = _messages.StringField(2) 268 269 270class CompositeOperationMetadata(_messages.Message): 271 r"""Metadata for composite operations. 272 273 Messages: 274 OriginalRequestValue: Original request that triggered this operation. 275 ResponseFieldMasksValue: Defines which part of the response a child 276 operation will contribute. Each key of the map is the name of a child 277 operation. Each value is a field mask that identifies what that child 278 operation contributes to the response, for example, "quota_settings", 279 "visiblity_settings", etc. 280 281 Fields: 282 childOperations: The child operations. The details of the asynchronous 283 child operations are stored in a separate row and not in this metadata. 284 Only the operation name is stored here. 285 originalRequest: Original request that triggered this operation. 286 persisted: Indicates whether the requested state change has been 287 persisted. Once this field is set, it is guaranteed to propagate to all 288 backends eventually, but it may not be visible immediately. Clients that 289 are not concerned with waiting on propagation can stop polling the 290 operation once the persisted field is set 291 responseFieldMasks: Defines which part of the response a child operation 292 will contribute. Each key of the map is the name of a child operation. 293 Each value is a field mask that identifies what that child operation 294 contributes to the response, for example, "quota_settings", 295 "visiblity_settings", etc. 296 """ 297 298 @encoding.MapUnrecognizedFields('additionalProperties') 299 class OriginalRequestValue(_messages.Message): 300 r"""Original request that triggered this operation. 301 302 Messages: 303 AdditionalProperty: An additional property for a OriginalRequestValue 304 object. 305 306 Fields: 307 additionalProperties: Properties of the object. Contains field @type 308 with type URL. 309 """ 310 311 class AdditionalProperty(_messages.Message): 312 r"""An additional property for a OriginalRequestValue object. 313 314 Fields: 315 key: Name of the additional property. 316 value: A extra_types.JsonValue attribute. 317 """ 318 319 key = _messages.StringField(1) 320 value = _messages.MessageField('extra_types.JsonValue', 2) 321 322 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 323 324 @encoding.MapUnrecognizedFields('additionalProperties') 325 class ResponseFieldMasksValue(_messages.Message): 326 r"""Defines which part of the response a child operation will contribute. 327 Each key of the map is the name of a child operation. Each value is a 328 field mask that identifies what that child operation contributes to the 329 response, for example, "quota_settings", "visiblity_settings", etc. 330 331 Messages: 332 AdditionalProperty: An additional property for a ResponseFieldMasksValue 333 object. 334 335 Fields: 336 additionalProperties: Additional properties of type 337 ResponseFieldMasksValue 338 """ 339 340 class AdditionalProperty(_messages.Message): 341 r"""An additional property for a ResponseFieldMasksValue object. 342 343 Fields: 344 key: Name of the additional property. 345 value: A string attribute. 346 """ 347 348 key = _messages.StringField(1) 349 value = _messages.StringField(2) 350 351 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 352 353 childOperations = _messages.MessageField('Operation', 1, repeated=True) 354 originalRequest = _messages.MessageField('OriginalRequestValue', 2) 355 persisted = _messages.BooleanField(3) 356 responseFieldMasks = _messages.MessageField('ResponseFieldMasksValue', 4) 357 358 359class ConfigFile(_messages.Message): 360 r"""Generic specification of a source configuration file 361 362 Enums: 363 FileTypeValueValuesEnum: The kind of configuration file represented. This 364 is used to determine the method for generating `google.api.Service` 365 using this file. 366 367 Fields: 368 contents: DEPRECATED. The contents of the configuration file. Use 369 file_contents moving forward. 370 fileContents: The bytes that constitute the file. 371 filePath: The file name of the configuration file (full or relative path). 372 fileType: The kind of configuration file represented. This is used to 373 determine the method for generating `google.api.Service` using this 374 file. 375 """ 376 377 class FileTypeValueValuesEnum(_messages.Enum): 378 r"""The kind of configuration file represented. This is used to determine 379 the method for generating `google.api.Service` using this file. 380 381 Values: 382 FILE_TYPE_UNSPECIFIED: Unknown file type. 383 SERVICE_CONFIG_YAML: YAML-specification of service. 384 OPEN_API_JSON: OpenAPI specification, serialized in JSON. 385 OPEN_API_YAML: OpenAPI specification, serialized in YAML. 386 FILE_DESCRIPTOR_SET_PROTO: FileDescriptorSet, generated by protoc. To 387 generate, use protoc with imports and source info included. For an 388 example test.proto file, the following command would put the value in 389 a new file named out.pb. $protoc --include_imports 390 --include_source_info test.proto -o out.pb 391 """ 392 FILE_TYPE_UNSPECIFIED = 0 393 SERVICE_CONFIG_YAML = 1 394 OPEN_API_JSON = 2 395 OPEN_API_YAML = 3 396 FILE_DESCRIPTOR_SET_PROTO = 4 397 398 contents = _messages.StringField(1) 399 fileContents = _messages.BytesField(2) 400 filePath = _messages.StringField(3) 401 fileType = _messages.EnumField('FileTypeValueValuesEnum', 4) 402 403 404class ConfigOptions(_messages.Message): 405 r"""A set of options to cover use of source config within `ServiceManager` 406 and related tools. 407 """ 408 409 410 411class ConfigSource(_messages.Message): 412 r"""Represents a user-specified configuration for a service (as opposed to 413 the the generated service config form provided by `google.api.Service`). 414 This is meant to encode service config as manipulated directly by customers, 415 rather than the config form resulting from toolchain generation and 416 normalization. 417 418 Fields: 419 files: Set of source configuration files that are used to generate a 420 service config (`google.api.Service`). 421 id: A unique ID for a specific instance of this message, typically 422 assigned by the client for tracking purpose. If empty, the server may 423 choose to generate one instead. 424 openApiSpec: OpenAPI specification 425 options: Options to cover use of source config within ServiceManager and 426 tools 427 protoSpec: Protocol buffer API specification 428 """ 429 430 files = _messages.MessageField('ConfigFile', 1, repeated=True) 431 id = _messages.StringField(2) 432 openApiSpec = _messages.MessageField('OpenApiSpec', 3) 433 options = _messages.MessageField('ConfigOptions', 4) 434 protoSpec = _messages.MessageField('ProtoSpec', 5) 435 436 437class Context(_messages.Message): 438 r"""`Context` defines which contexts an API requests. Example: 439 context: rules: - selector: "*" requested: - 440 google.rpc.context.ProjectContext - google.rpc.context.OriginContext 441 The above specifies that all methods in the API request 442 `google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`. 443 Available context types are defined in package `google.rpc.context`. 444 445 Fields: 446 rules: List of rules for context, applicable to methods. 447 """ 448 449 rules = _messages.MessageField('ContextRule', 1, repeated=True) 450 451 452class ContextRule(_messages.Message): 453 r"""A context rule provides information about the context for an individual 454 API element. 455 456 Fields: 457 provided: A list of full type names of provided contexts. 458 requested: A list of full type names of requested contexts. 459 selector: Selects the methods to which this rule applies. Refer to 460 selector for syntax details. 461 """ 462 463 provided = _messages.StringField(1, repeated=True) 464 requested = _messages.StringField(2, repeated=True) 465 selector = _messages.StringField(3) 466 467 468class Control(_messages.Message): 469 r"""Selects and configures the service controller used by the service. The 470 service controller handles features like abuse, quota, billing, logging, 471 monitoring, etc. 472 473 Fields: 474 environment: The service control environment to use. If empty, no control 475 plane feature (like quota and billing) will be enabled. 476 """ 477 478 environment = _messages.StringField(1) 479 480 481class ConvertConfigRequest(_messages.Message): 482 r"""Request message for `ConvertConfig` method. 483 484 Messages: 485 ConfigSpecValue: Input configuration For this version of API, the 486 supported type is OpenApiSpec 487 488 Fields: 489 configSpec: Input configuration For this version of API, the supported 490 type is OpenApiSpec 491 openApiSpec: The OpenAPI specification for an API. 492 serviceName: The service name to use for constructing the normalized 493 service configuration equivalent of the provided configuration 494 specification. 495 swaggerSpec: The swagger specification for an API. 496 """ 497 498 @encoding.MapUnrecognizedFields('additionalProperties') 499 class ConfigSpecValue(_messages.Message): 500 r"""Input configuration For this version of API, the supported type is 501 OpenApiSpec 502 503 Messages: 504 AdditionalProperty: An additional property for a ConfigSpecValue object. 505 506 Fields: 507 additionalProperties: Properties of the object. Contains field @type 508 with type URL. 509 """ 510 511 class AdditionalProperty(_messages.Message): 512 r"""An additional property for a ConfigSpecValue object. 513 514 Fields: 515 key: Name of the additional property. 516 value: A extra_types.JsonValue attribute. 517 """ 518 519 key = _messages.StringField(1) 520 value = _messages.MessageField('extra_types.JsonValue', 2) 521 522 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 523 524 configSpec = _messages.MessageField('ConfigSpecValue', 1) 525 openApiSpec = _messages.MessageField('OpenApiSpec', 2) 526 serviceName = _messages.StringField(3) 527 swaggerSpec = _messages.MessageField('SwaggerSpec', 4) 528 529 530class ConvertConfigResponse(_messages.Message): 531 r"""Response message for `ConvertConfig` method. 532 533 Fields: 534 diagnostics: Any errors or warnings that occured during config conversion. 535 serviceConfig: The service configuration. Not set if errors occured during 536 conversion. 537 """ 538 539 diagnostics = _messages.MessageField('Diagnostic', 1, repeated=True) 540 serviceConfig = _messages.MessageField('Service', 2) 541 542 543class CustomError(_messages.Message): 544 r"""Customize service error responses. For example, list any service 545 specific protobuf types that can appear in error detail lists of error 546 responses. Example: custom_error: types: - 547 google.foo.v1.CustomError - google.foo.v1.AnotherError 548 549 Fields: 550 rules: The list of custom error rules to select to which messages this 551 should apply. 552 types: The list of custom error detail types, e.g. 553 'google.foo.v1.CustomError'. 554 """ 555 556 rules = _messages.MessageField('CustomErrorRule', 1, repeated=True) 557 types = _messages.StringField(2, repeated=True) 558 559 560class CustomErrorRule(_messages.Message): 561 r"""A custom error rule. 562 563 Fields: 564 isErrorType: Mark this message as possible payload in error response. 565 Otherwise, objects of this type will be filtered when they appear in 566 error payload. 567 selector: Selects messages to which this rule applies. Refer to selector 568 for syntax details. 569 """ 570 571 isErrorType = _messages.BooleanField(1) 572 selector = _messages.StringField(2) 573 574 575class CustomHttpPattern(_messages.Message): 576 r"""A custom pattern is used for defining custom HTTP verb. 577 578 Fields: 579 kind: The name of this custom HTTP verb. 580 path: The path matched by this custom verb. 581 """ 582 583 kind = _messages.StringField(1) 584 path = _messages.StringField(2) 585 586 587class CustomerSettings(_messages.Message): 588 r"""Settings that control how a customer (identified by a billing account) 589 uses a service 590 591 Fields: 592 customerId: ID for the customer that consumes the service (see above). The 593 supported types of customers are: 1. domain:{domain} A Google Apps 594 domain name. For example, google.com. 2. 595 billingAccount:{billing_account_id} A Google Cloud Plafrom billing 596 account. For Example, 123456-7890ab-cdef12. 597 quotaSettings: Settings that control how much or how fast the service can 598 be used by the consumer projects owned by the customer collectively. 599 serviceName: The name of the service. See the `ServiceManager` overview 600 for naming requirements. 601 """ 602 603 customerId = _messages.StringField(1) 604 quotaSettings = _messages.MessageField('QuotaSettings', 2) 605 serviceName = _messages.StringField(3) 606 607 608class Diagnostic(_messages.Message): 609 r"""A collection that represents a diagnostic message (error or warning) 610 611 Enums: 612 KindValueValuesEnum: The kind of diagnostic information provided. 613 614 Fields: 615 kind: The kind of diagnostic information provided. 616 location: Location of the cause or context of the diagnostic information. 617 message: The string message of the diagnostic information. 618 """ 619 620 class KindValueValuesEnum(_messages.Enum): 621 r"""The kind of diagnostic information provided. 622 623 Values: 624 WARNING: Warnings and errors 625 ERROR: Only errors 626 """ 627 WARNING = 0 628 ERROR = 1 629 630 kind = _messages.EnumField('KindValueValuesEnum', 1) 631 location = _messages.StringField(2) 632 message = _messages.StringField(3) 633 634 635class DisableServiceRequest(_messages.Message): 636 r"""Request message for DisableService method. 637 638 Fields: 639 consumerId: The identity of consumer resource which service disablement 640 will be applied to. The Google Service Management implementation 641 accepts the following forms: "project:<project_id>", 642 "project_number:<project_number>". Note: this is made compatible with 643 google.api.servicecontrol.v1.Operation.consumer_id. 644 """ 645 646 consumerId = _messages.StringField(1) 647 648 649class Documentation(_messages.Message): 650 r"""`Documentation` provides the information for describing a service. 651 Example: <pre><code>documentation: summary: > The Google Calendar API 652 gives access to most calendar features. pages: - name: Overview 653 content: (== include google/foo/overview.md ==) - name: Tutorial 654 content: (== include google/foo/tutorial.md ==) subpages; - 655 name: Java content: (== include google/foo/tutorial_java.md 656 ==) rules: - selector: google.calendar.Calendar.Get description: 657 > ... - selector: google.calendar.Calendar.Put description: > 658 ... </code></pre> Documentation is provided in markdown syntax. In addition 659 to standard markdown features, definition lists, tables and fenced code 660 blocks are supported. Section headers can be provided and are interpreted 661 relative to the section nesting of the context where a documentation 662 fragment is embedded. Documentation from the IDL is merged with 663 documentation defined via the config at normalization time, where 664 documentation provided by config rules overrides IDL provided. A number of 665 constructs specific to the API platform are supported in documentation text. 666 In order to reference a proto element, the following notation can be used: 667 <pre><code>[fully.qualified.proto.name][]</code></pre> To override 668 the display text used for the link, this can be used: 669 <pre><code>[display text][fully.qualified.proto.name]</code></pre> 670 Text can be excluded from doc using the following notation: 671 <pre><code>(-- internal comment --)</code></pre> Comments can be 672 made conditional using a visibility label. The below text will be only 673 rendered if the `BETA` label is available: <pre><code>(--BETA: comment 674 for BETA users --)</code></pre> A few directives are available in 675 documentation. Note that directives must appear on a single line to be 676 properly identified. The `include` directive includes a markdown file from 677 an external source: <pre><code>(== include path/to/file 678 ==)</code></pre> The `resource_for` directive marks a message to be the 679 resource of a collection in REST view. If it is not specified, tools attempt 680 to infer the resource from the operations in a collection: 681 <pre><code>(== resource_for v1.shelves.books ==)</code></pre> The 682 directive `suppress_warning` does not directly affect documentation and is 683 documented together with service config validation. 684 685 Fields: 686 documentationRootUrl: The URL to the root of documentation. 687 overview: Declares a single overview page. For example: 688 <pre><code>documentation: summary: ... overview: (== include 689 overview.md ==) </code></pre> This is a shortcut for the following 690 declaration (using pages style): <pre><code>documentation: summary: 691 ... pages: - name: Overview content: (== include overview.md 692 ==) </code></pre> Note: you cannot specify both `overview` field and 693 `pages` field. 694 pages: The top level pages for the documentation set. 695 rules: Documentation rules for individual elements of the service. 696 summary: A short summary of what the service does. Can only be provided by 697 plain text. 698 """ 699 700 documentationRootUrl = _messages.StringField(1) 701 overview = _messages.StringField(2) 702 pages = _messages.MessageField('Page', 3, repeated=True) 703 rules = _messages.MessageField('DocumentationRule', 4, repeated=True) 704 summary = _messages.StringField(5) 705 706 707class DocumentationRule(_messages.Message): 708 r"""A documentation rule provides information about individual API elements. 709 710 Fields: 711 deprecationDescription: Deprecation description of the selected 712 element(s). It can be provided if an element is marked as `deprecated`. 713 description: Description of the selected API(s). 714 selector: The selector is a comma-separated list of patterns. Each pattern 715 is a qualified name of the element which may end in "*", indicating a 716 wildcard. Wildcards are only allowed at the end and for a whole 717 component of the qualified name, i.e. "foo.*" is ok, but not "foo.b*" or 718 "foo.*.bar". To specify a default for all applicable elements, the whole 719 pattern "*" is used. 720 """ 721 722 deprecationDescription = _messages.StringField(1) 723 description = _messages.StringField(2) 724 selector = _messages.StringField(3) 725 726 727class EffectiveQuotaGroup(_messages.Message): 728 r"""An effective quota group contains both the metadata for a quota group as 729 derived from the service config, and the effective limits in that group as 730 calculated from producer and consumer overrides together with service 731 defaults. 732 733 Enums: 734 BillingInteractionValueValuesEnum: 735 736 Fields: 737 baseGroup: The service configuration for this quota group, minus the quota 738 limits, which are replaced by the effective limits below. 739 billingInteraction: A BillingInteractionValueValuesEnum attribute. 740 quotas: The usage and limit information for each limit within this quota 741 group. 742 """ 743 744 class BillingInteractionValueValuesEnum(_messages.Enum): 745 r"""BillingInteractionValueValuesEnum enum type. 746 747 Values: 748 BILLING_INTERACTION_UNSPECIFIED: The interaction between this quota 749 group and the project billing status is unspecified. 750 NONBILLABLE_ONLY: This quota group is enforced only when the consumer 751 project is not billable. 752 BILLABLE_ONLY: This quota group is enforced only when the consumer 753 project is billable. 754 ANY_BILLING_STATUS: This quota group is enforced regardless of the 755 consumer project's billing status. 756 """ 757 BILLING_INTERACTION_UNSPECIFIED = 0 758 NONBILLABLE_ONLY = 1 759 BILLABLE_ONLY = 2 760 ANY_BILLING_STATUS = 3 761 762 baseGroup = _messages.MessageField('QuotaGroup', 1) 763 billingInteraction = _messages.EnumField('BillingInteractionValueValuesEnum', 2) 764 quotas = _messages.MessageField('QuotaInfo', 3, repeated=True) 765 766 767class EffectiveQuotaLimit(_messages.Message): 768 r"""An effective quota limit contains the metadata for a quota limit as 769 derived from the service config, together with fields that describe the 770 effective limit value and what overrides can be applied to it. 771 772 Fields: 773 baseLimit: The service's configuration for this quota limit. 774 effectiveLimit: The effective limit value, based on the stored producer 775 and consumer overrides and the service defaults. 776 key: The key used to identify this limit when applying overrides. The 777 consumer_overrides and producer_overrides maps are keyed by strings of 778 the form "QuotaGroupName/QuotaLimitName". 779 maxConsumerOverrideAllowed: The maximum override value that a consumer may 780 specify. 781 """ 782 783 baseLimit = _messages.MessageField('QuotaLimit', 1) 784 effectiveLimit = _messages.IntegerField(2) 785 key = _messages.StringField(3) 786 maxConsumerOverrideAllowed = _messages.IntegerField(4) 787 788 789class EnableServiceRequest(_messages.Message): 790 r"""Request message for EnableService method. 791 792 Fields: 793 consumerId: The identity of consumer resource which service enablement 794 will be applied to. The Google Service Management implementation 795 accepts the following forms: "project:<project_id>", 796 "project_number:<project_number>". Note: this is made compatible with 797 google.api.servicecontrol.v1.Operation.consumer_id. 798 """ 799 800 consumerId = _messages.StringField(1) 801 802 803class Enum(_messages.Message): 804 r"""Enum type definition. 805 806 Enums: 807 SyntaxValueValuesEnum: The source syntax. 808 809 Fields: 810 enumvalue: Enum value definitions. 811 name: Enum type name. 812 options: Protocol buffer options. 813 sourceContext: The source context. 814 syntax: The source syntax. 815 """ 816 817 class SyntaxValueValuesEnum(_messages.Enum): 818 r"""The source syntax. 819 820 Values: 821 SYNTAX_PROTO2: Syntax `proto2`. 822 SYNTAX_PROTO3: Syntax `proto3`. 823 """ 824 SYNTAX_PROTO2 = 0 825 SYNTAX_PROTO3 = 1 826 827 enumvalue = _messages.MessageField('EnumValue', 1, repeated=True) 828 name = _messages.StringField(2) 829 options = _messages.MessageField('Option', 3, repeated=True) 830 sourceContext = _messages.MessageField('SourceContext', 4) 831 syntax = _messages.EnumField('SyntaxValueValuesEnum', 5) 832 833 834class EnumValue(_messages.Message): 835 r"""Enum value definition. 836 837 Fields: 838 name: Enum value name. 839 number: Enum value number. 840 options: Protocol buffer options. 841 """ 842 843 name = _messages.StringField(1) 844 number = _messages.IntegerField(2, variant=_messages.Variant.INT32) 845 options = _messages.MessageField('Option', 3, repeated=True) 846 847 848class Field(_messages.Message): 849 r"""A single field of a message type. 850 851 Enums: 852 CardinalityValueValuesEnum: The field cardinality. 853 KindValueValuesEnum: The field type. 854 855 Fields: 856 cardinality: The field cardinality. 857 defaultValue: The string value of the default value of this field. Proto2 858 syntax only. 859 jsonName: The field JSON name. 860 kind: The field type. 861 name: The field name. 862 number: The field number. 863 oneofIndex: The index of the field type in `Type.oneofs`, for message or 864 enumeration types. The first type has index 1; zero means the type is 865 not in the list. 866 options: The protocol buffer options. 867 packed: Whether to use alternative packed wire representation. 868 typeUrl: The field type URL, without the scheme, for message or 869 enumeration types. Example: 870 `"type.googleapis.com/google.protobuf.Timestamp"`. 871 """ 872 873 class CardinalityValueValuesEnum(_messages.Enum): 874 r"""The field cardinality. 875 876 Values: 877 CARDINALITY_UNKNOWN: For fields with unknown cardinality. 878 CARDINALITY_OPTIONAL: For optional fields. 879 CARDINALITY_REQUIRED: For required fields. Proto2 syntax only. 880 CARDINALITY_REPEATED: For repeated fields. 881 """ 882 CARDINALITY_UNKNOWN = 0 883 CARDINALITY_OPTIONAL = 1 884 CARDINALITY_REQUIRED = 2 885 CARDINALITY_REPEATED = 3 886 887 class KindValueValuesEnum(_messages.Enum): 888 r"""The field type. 889 890 Values: 891 TYPE_UNKNOWN: Field type unknown. 892 TYPE_DOUBLE: Field type double. 893 TYPE_FLOAT: Field type float. 894 TYPE_INT64: Field type int64. 895 TYPE_UINT64: Field type uint64. 896 TYPE_INT32: Field type int32. 897 TYPE_FIXED64: Field type fixed64. 898 TYPE_FIXED32: Field type fixed32. 899 TYPE_BOOL: Field type bool. 900 TYPE_STRING: Field type string. 901 TYPE_GROUP: Field type group. Proto2 syntax only, and deprecated. 902 TYPE_MESSAGE: Field type message. 903 TYPE_BYTES: Field type bytes. 904 TYPE_UINT32: Field type uint32. 905 TYPE_ENUM: Field type enum. 906 TYPE_SFIXED32: Field type sfixed32. 907 TYPE_SFIXED64: Field type sfixed64. 908 TYPE_SINT32: Field type sint32. 909 TYPE_SINT64: Field type sint64. 910 """ 911 TYPE_UNKNOWN = 0 912 TYPE_DOUBLE = 1 913 TYPE_FLOAT = 2 914 TYPE_INT64 = 3 915 TYPE_UINT64 = 4 916 TYPE_INT32 = 5 917 TYPE_FIXED64 = 6 918 TYPE_FIXED32 = 7 919 TYPE_BOOL = 8 920 TYPE_STRING = 9 921 TYPE_GROUP = 10 922 TYPE_MESSAGE = 11 923 TYPE_BYTES = 12 924 TYPE_UINT32 = 13 925 TYPE_ENUM = 14 926 TYPE_SFIXED32 = 15 927 TYPE_SFIXED64 = 16 928 TYPE_SINT32 = 17 929 TYPE_SINT64 = 18 930 931 cardinality = _messages.EnumField('CardinalityValueValuesEnum', 1) 932 defaultValue = _messages.StringField(2) 933 jsonName = _messages.StringField(3) 934 kind = _messages.EnumField('KindValueValuesEnum', 4) 935 name = _messages.StringField(5) 936 number = _messages.IntegerField(6, variant=_messages.Variant.INT32) 937 oneofIndex = _messages.IntegerField(7, variant=_messages.Variant.INT32) 938 options = _messages.MessageField('Option', 8, repeated=True) 939 packed = _messages.BooleanField(9) 940 typeUrl = _messages.StringField(10) 941 942 943class File(_messages.Message): 944 r"""A single swagger specification file. 945 946 Fields: 947 contents: The contents of the swagger spec file. 948 path: The relative path of the swagger spec file. 949 """ 950 951 contents = _messages.StringField(1) 952 path = _messages.StringField(2) 953 954 955class Http(_messages.Message): 956 r"""Defines the HTTP configuration for a service. It contains a list of 957 HttpRule, each specifying the mapping of an RPC method to one or more HTTP 958 REST API methods. 959 960 Fields: 961 rules: A list of HTTP rules for configuring the HTTP REST API methods. 962 """ 963 964 rules = _messages.MessageField('HttpRule', 1, repeated=True) 965 966 967class HttpRule(_messages.Message): 968 r"""`HttpRule` defines the mapping of an RPC method to one or more HTTP REST 969 APIs. The mapping determines what portions of the request message are 970 populated from the path, query parameters, or body of the HTTP request. The 971 mapping is typically specified as an `google.api.http` annotation, see 972 "google/api/annotations.proto" for details. The mapping consists of a field 973 specifying the path template and method kind. The path template can refer 974 to fields in the request message, as in the example below which describes a 975 REST GET operation on a resource collection of messages: ```proto service 976 Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { 977 option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; 978 } } message GetMessageRequest { message SubMessage { string subfield = 979 1; } string message_id = 1; // mapped to the URL SubMessage sub = 2; 980 // `sub.subfield` is url-mapped } message Message { string text = 1; // 981 content of the resource } ``` This definition enables an automatic, 982 bidrectional mapping of HTTP JSON to RPC. Example: HTTP | RPC -----|----- 983 `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: 984 SubMessage(subfield: "foo"))` In general, not only fields but also field 985 paths can be referenced from a path pattern. Fields mapped to the path 986 pattern cannot be repeated and must have a primitive (non-message) type. 987 Any fields in the request message which are not bound by the path pattern 988 automatically become (optional) HTTP query parameters. Assume the following 989 definition of the request message: ```proto message GetMessageRequest { 990 message SubMessage { string subfield = 1; } string message_id = 1; 991 // mapped to the URL int64 revision = 2; // becomes a parameter 992 SubMessage sub = 3; // `sub.subfield` becomes a parameter } ``` This 993 enables a HTTP JSON to RPC mapping as below: HTTP | RPC -----|----- `GET 994 /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: 995 "123456" revision: 2 sub: SubMessage(subfield: "foo"))` Note that fields 996 which are mapped to HTTP parameters must have a primitive type or a repeated 997 primitive type. Message types are not allowed. In the case of a repeated 998 type, the parameter can be repeated in the URL, as in `...?param=A¶m=B`. 999 For HTTP method kinds which allow a request body, the `body` field specifies 1000 the mapping. Consider a REST update method on the message resource 1001 collection: ```proto service Messaging { rpc 1002 UpdateMessage(UpdateMessageRequest) returns (Message) { option 1003 (google.api.http) = { put: "/v1/messages/{message_id}" body: 1004 "message" }; } } message UpdateMessageRequest { string message_id = 1005 1; // mapped to the URL Message message = 2; // mapped to the body } ``` 1006 The following HTTP JSON to RPC mapping is enabled, where the representation 1007 of the JSON in the request body is determined by protos JSON encoding: HTTP 1008 | RPC -----|----- `PUT /v1/messages/123456 { "text": "Hi!" }` | 1009 `UpdateMessage(message_id: "123456" message { text: "Hi!" })` The special 1010 name `*` can be used in the body mapping to define that every field not 1011 bound by the path template should be mapped to the request body. This 1012 enables the following alternative definition of the update method: ```proto 1013 service Messaging { rpc UpdateMessage(Message) returns (Message) { 1014 option (google.api.http) = { put: "/v1/messages/{message_id}" 1015 body: "*" }; } } message Message { string message_id = 1; string 1016 text = 2; } ``` The following HTTP JSON to RPC mapping is enabled: HTTP | 1017 RPC -----|----- `PUT /v1/messages/123456 { "text": "Hi!" }` | 1018 `UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using `*` 1019 in the body mapping, it is not possible to have HTTP parameters, as all 1020 fields not bound by the path end in the body. This makes this option more 1021 rarely used in practice of defining REST APIs. The common usage of `*` is in 1022 custom methods which don't use the URL at all for transferring data. It is 1023 possible to define multiple HTTP methods for one RPC by using the 1024 `additional_bindings` option. Example: ```proto service Messaging { rpc 1025 GetMessage(GetMessageRequest) returns (Message) { option 1026 (google.api.http) = { get: "/v1/messages/{message_id}" 1027 additional_bindings { get: 1028 "/v1/users/{user_id}/messages/{message_id}" } }; } } message 1029 GetMessageRequest { string message_id = 1; string user_id = 2; } ``` 1030 This enables the following two alternative HTTP JSON to RPC mappings: HTTP 1031 | RPC -----|----- `GET /v1/messages/123456` | `GetMessage(message_id: 1032 "123456")` `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" 1033 message_id: "123456")` # Rules for HTTP mapping The rules for mapping HTTP 1034 path, query parameters, and body fields to the request message are as 1035 follows: 1. The `body` field specifies either `*` or a field path, or is 1036 omitted. If omitted, it assumes there is no HTTP body. 2. Leaf fields 1037 (recursive expansion of nested messages in the request) can be classified 1038 into three types: (a) Matched in the URL template. (b) Covered by 1039 body (if body is `*`, everything except (a) fields; else everything 1040 under the body field) (c) All other fields. 3. URL query parameters 1041 found in the HTTP request are mapped to (c) fields. 4. Any body sent with an 1042 HTTP request can contain only (b) fields. The syntax of the path template 1043 is as follows: Template = "/" Segments [ Verb ] ; Segments = 1044 Segment { "/" Segment } ; Segment = "*" | "**" | LITERAL | Variable ; 1045 Variable = "{" FieldPath [ "=" Segments ] "}" ; FieldPath = IDENT { "." 1046 IDENT } ; Verb = ":" LITERAL ; The syntax `*` matches a single path 1047 segment. It follows the semantics of [RFC 1048 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String 1049 Expansion. The syntax `**` matches zero or more path segments. It follows 1050 the semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 1051 3.2.3 Reserved Expansion. The syntax `LITERAL` matches literal text in the 1052 URL path. The syntax `Variable` matches the entire path as specified by its 1053 template; this nested template must not contain further variables. If a 1054 variable matches a single path segment, its template may be omitted, e.g. 1055 `{var}` is equivalent to `{var=*}`. NOTE: the field paths in variables and 1056 in the `body` must not refer to repeated fields or map fields. Use 1057 CustomHttpPattern to specify any HTTP method that is not included in the 1058 `pattern` field, such as HEAD, or "*" to leave the HTTP method unspecified 1059 for a given URL path rule. The wild-card rule is useful for services that 1060 provide content to Web (HTML) clients. 1061 1062 Fields: 1063 additionalBindings: Additional HTTP bindings for the selector. Nested 1064 bindings must not contain an `additional_bindings` field themselves 1065 (that is, the nesting may only be one level deep). 1066 body: The name of the request field whose value is mapped to the HTTP 1067 body, or `*` for mapping all fields not captured by the path pattern to 1068 the HTTP body. NOTE: the referred field must not be a repeated field. 1069 custom: Custom pattern is used for defining custom verbs. 1070 delete: Used for deleting a resource. 1071 get: Used for listing and getting information about resources. 1072 mediaDownload: Do not use this. For media support, add instead 1073 [][google.bytestream.RestByteStream] as an API to your configuration. 1074 mediaUpload: Do not use this. For media support, add instead 1075 [][google.bytestream.RestByteStream] as an API to your configuration. 1076 patch: Used for updating a resource. 1077 post: Used for creating a resource. 1078 put: Used for updating a resource. 1079 selector: Selects methods to which this rule applies. Refer to selector 1080 for syntax details. 1081 """ 1082 1083 additionalBindings = _messages.MessageField('HttpRule', 1, repeated=True) 1084 body = _messages.StringField(2) 1085 custom = _messages.MessageField('CustomHttpPattern', 3) 1086 delete = _messages.StringField(4) 1087 get = _messages.StringField(5) 1088 mediaDownload = _messages.MessageField('MediaDownload', 6) 1089 mediaUpload = _messages.MessageField('MediaUpload', 7) 1090 patch = _messages.StringField(8) 1091 post = _messages.StringField(9) 1092 put = _messages.StringField(10) 1093 selector = _messages.StringField(11) 1094 1095 1096class LabelDescriptor(_messages.Message): 1097 r"""A description of a label. 1098 1099 Enums: 1100 ValueTypeValueValuesEnum: The type of data that can be assigned to the 1101 label. 1102 1103 Fields: 1104 description: A human-readable description for the label. 1105 key: The label key. 1106 valueType: The type of data that can be assigned to the label. 1107 """ 1108 1109 class ValueTypeValueValuesEnum(_messages.Enum): 1110 r"""The type of data that can be assigned to the label. 1111 1112 Values: 1113 STRING: A variable-length string. This is the default. 1114 BOOL: Boolean; true or false. 1115 INT64: A 64-bit signed integer. 1116 """ 1117 STRING = 0 1118 BOOL = 1 1119 INT64 = 2 1120 1121 description = _messages.StringField(1) 1122 key = _messages.StringField(2) 1123 valueType = _messages.EnumField('ValueTypeValueValuesEnum', 3) 1124 1125 1126class ListServiceConfigsResponse(_messages.Message): 1127 r"""Response message for ListServiceConfigs method. 1128 1129 Fields: 1130 nextPageToken: The token of the next page of results. 1131 serviceConfigs: The list of service config resources. 1132 """ 1133 1134 nextPageToken = _messages.StringField(1) 1135 serviceConfigs = _messages.MessageField('Service', 2, repeated=True) 1136 1137 1138class ListServicesResponse(_messages.Message): 1139 r"""Response message for `ListServices` method. 1140 1141 Fields: 1142 nextPageToken: Token that can be passed to `ListServices` to resume a 1143 paginated query. 1144 services: The results of the query. 1145 """ 1146 1147 nextPageToken = _messages.StringField(1) 1148 services = _messages.MessageField('ManagedService', 2, repeated=True) 1149 1150 1151class LogDescriptor(_messages.Message): 1152 r"""A description of a log type. Example in YAML format: - name: 1153 library.googleapis.com/activity_history description: The history of 1154 borrowing and returning library items. display_name: Activity 1155 labels: - key: /customer_id description: Identifier of a 1156 library customer 1157 1158 Fields: 1159 description: A human-readable description of this log. This information 1160 appears in the documentation and can contain details. 1161 displayName: The human-readable name for this log. This information 1162 appears on the user interface and should be concise. 1163 labels: The set of labels that are available to describe a specific log 1164 entry. Runtime requests that contain labels not specified here are 1165 considered invalid. 1166 name: The name of the log. It must be less than 512 characters long and 1167 can include the following characters: upper- and lower-case alphanumeric 1168 characters [A-Za-z0-9], and punctuation characters including slash, 1169 underscore, hyphen, period [/_-.]. 1170 """ 1171 1172 description = _messages.StringField(1) 1173 displayName = _messages.StringField(2) 1174 labels = _messages.MessageField('LabelDescriptor', 3, repeated=True) 1175 name = _messages.StringField(4) 1176 1177 1178class Logging(_messages.Message): 1179 r"""Logging configuration of the service. The following example shows how 1180 to configure logs to be sent to the producer and consumer projects. In the 1181 example, the `library.googleapis.com/activity_history` log is sent to both 1182 the producer and consumer projects, whereas the 1183 `library.googleapis.com/purchase_history` log is only sent to the producer 1184 project: monitored_resources: - type: library.googleapis.com/branch 1185 labels: - key: /city description: The city where the library 1186 branch is located in. - key: /name description: The name of 1187 the branch. logs: - name: library.googleapis.com/activity_history 1188 labels: - key: /customer_id - name: 1189 library.googleapis.com/purchase_history logging: 1190 producer_destinations: - monitored_resource: 1191 library.googleapis.com/branch logs: - 1192 library.googleapis.com/activity_history - 1193 library.googleapis.com/purchase_history consumer_destinations: - 1194 monitored_resource: library.googleapis.com/branch logs: - 1195 library.googleapis.com/activity_history 1196 1197 Fields: 1198 consumerDestinations: Logging configurations for sending logs to the 1199 consumer project. There can be multiple consumer destinations, each one 1200 must have a different monitored resource type. A log can be used in at 1201 most one consumer destination. 1202 producerDestinations: Logging configurations for sending logs to the 1203 producer project. There can be multiple producer destinations, each one 1204 must have a different monitored resource type. A log can be used in at 1205 most one producer destination. 1206 """ 1207 1208 consumerDestinations = _messages.MessageField('LoggingDestination', 1, repeated=True) 1209 producerDestinations = _messages.MessageField('LoggingDestination', 2, repeated=True) 1210 1211 1212class LoggingDestination(_messages.Message): 1213 r"""Configuration of a specific logging destination (the producer project or 1214 the consumer project). 1215 1216 Fields: 1217 logs: Names of the logs to be sent to this destination. Each name must be 1218 defined in the Service.logs section. 1219 monitoredResource: The monitored resource type. The type must be defined 1220 in Service.monitored_resources section. 1221 """ 1222 1223 logs = _messages.StringField(1, repeated=True) 1224 monitoredResource = _messages.StringField(2) 1225 1226 1227class ManagedService(_messages.Message): 1228 r"""The full representation of an API Service that is managed by the 1229 `ServiceManager` API. Includes both the service configuration, as well as 1230 other control plane deployment related information. 1231 1232 Fields: 1233 configSource: User-supplied source configuration for the service. This is 1234 distinct from the generated configuration provided in 1235 `google.api.Service`. This is NOT populated on GetService calls at the 1236 moment. NOTE: Any upsert operation that contains both a service_config 1237 and a config_source is considered invalid and will result in an error 1238 being returned. 1239 generation: A server-assigned monotonically increasing number that changes 1240 whenever a mutation is made to the `ManagedService` or any of its 1241 components via the `ServiceManager` API. 1242 operations: Read-only view of pending operations affecting this resource, 1243 if requested. 1244 producerProjectId: ID of the project that produces and owns this service. 1245 projectSettings: Read-only view of settings for a particular consumer 1246 project, if requested. 1247 serviceConfig: The service's generated configuration. 1248 serviceName: The name of the service. See the `ServiceManager` overview 1249 for naming requirements. This name must match `google.api.Service.name` 1250 in the `service_config` field. 1251 """ 1252 1253 configSource = _messages.MessageField('ConfigSource', 1) 1254 generation = _messages.IntegerField(2) 1255 operations = _messages.MessageField('Operation', 3, repeated=True) 1256 producerProjectId = _messages.StringField(4) 1257 projectSettings = _messages.MessageField('ProjectSettings', 5) 1258 serviceConfig = _messages.MessageField('Service', 6) 1259 serviceName = _messages.StringField(7) 1260 1261 1262class MediaDownload(_messages.Message): 1263 r"""Do not use this. For media support, add instead 1264 [][google.bytestream.RestByteStream] as an API to your configuration. 1265 1266 Fields: 1267 enabled: Whether download is enabled. 1268 """ 1269 1270 enabled = _messages.BooleanField(1) 1271 1272 1273class MediaUpload(_messages.Message): 1274 r"""Do not use this. For media support, add instead 1275 [][google.bytestream.RestByteStream] as an API to your configuration. 1276 1277 Fields: 1278 enabled: Whether upload is enabled. 1279 """ 1280 1281 enabled = _messages.BooleanField(1) 1282 1283 1284class Method(_messages.Message): 1285 r"""Method represents a method of an api. 1286 1287 Enums: 1288 SyntaxValueValuesEnum: The source syntax of this method. 1289 1290 Fields: 1291 name: The simple name of this method. 1292 options: Any metadata attached to the method. 1293 requestStreaming: If true, the request is streamed. 1294 requestTypeUrl: A URL of the input message type. 1295 responseStreaming: If true, the response is streamed. 1296 responseTypeUrl: The URL of the output message type. 1297 syntax: The source syntax of this method. 1298 """ 1299 1300 class SyntaxValueValuesEnum(_messages.Enum): 1301 r"""The source syntax of this method. 1302 1303 Values: 1304 SYNTAX_PROTO2: Syntax `proto2`. 1305 SYNTAX_PROTO3: Syntax `proto3`. 1306 """ 1307 SYNTAX_PROTO2 = 0 1308 SYNTAX_PROTO3 = 1 1309 1310 name = _messages.StringField(1) 1311 options = _messages.MessageField('Option', 2, repeated=True) 1312 requestStreaming = _messages.BooleanField(3) 1313 requestTypeUrl = _messages.StringField(4) 1314 responseStreaming = _messages.BooleanField(5) 1315 responseTypeUrl = _messages.StringField(6) 1316 syntax = _messages.EnumField('SyntaxValueValuesEnum', 7) 1317 1318 1319class MetricDescriptor(_messages.Message): 1320 r"""Defines a metric type and its schema. 1321 1322 Enums: 1323 MetricKindValueValuesEnum: Whether the metric records instantaneous 1324 values, changes to a value, etc. 1325 ValueTypeValueValuesEnum: Whether the measurement is an integer, a 1326 floating-point number, etc. 1327 1328 Fields: 1329 description: A detailed description of the metric, which can be used in 1330 documentation. 1331 displayName: A concise name for the metric, which can be displayed in user 1332 interfaces. Use sentence case without an ending period, for example 1333 "Request count". 1334 labels: The set of labels that can be used to describe a specific instance 1335 of this metric type. For example, the 1336 `compute.googleapis.com/instance/network/received_bytes_count` metric 1337 type has a label, `loadbalanced`, that specifies whether the traffic was 1338 received through a load balanced IP address. 1339 metricKind: Whether the metric records instantaneous values, changes to a 1340 value, etc. 1341 name: Resource name. The format of the name may vary between different 1342 implementations. For examples: 1343 projects/{project_id}/metricDescriptors/{type=**} 1344 metricDescriptors/{type=**} 1345 type: The metric type including a DNS name prefix, for example 1346 `"compute.googleapis.com/instance/cpu/utilization"`. Metric types should 1347 use a natural hierarchical grouping such as the following: 1348 compute.googleapis.com/instance/cpu/utilization 1349 compute.googleapis.com/instance/disk/read_ops_count 1350 compute.googleapis.com/instance/network/received_bytes_count Note that 1351 if the metric type changes, the monitoring data will be discontinued, 1352 and anything depends on it will break, such as monitoring dashboards, 1353 alerting rules and quota limits. Therefore, once a metric has been 1354 published, its type should be immutable. 1355 unit: The unit in which the metric value is reported. It is only 1356 applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. 1357 The supported units are a subset of [The Unified Code for Units of 1358 Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units 1359 (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute 1360 * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo 1361 (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` 1362 tera (10**12) * `P` peta (10**15) * `E` exa (10**18) * 1363 `Z` zetta (10**21) * `Y` yotta (10**24) * `m` milli 1364 (10**-3) * `u` micro (10**-6) * `n` nano (10**-9) * `p` 1365 pico (10**-12) * `f` femto (10**-15) * `a` atto 1366 (10**-18) * `z` zepto (10**-21) * `y` yocto (10**-24) * `Ki` 1367 kibi (2**10) * `Mi` mebi (2**20) * `Gi` gibi (2**30) * 1368 `Ti` tebi (2**40) **Grammar** The grammar includes the 1369 dimensionless unit `1`, such as `1/s`. The grammar also includes these 1370 connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.` 1371 multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a 1372 unit is as follows: Expression = Component { "." Component } { "/" 1373 Component } ; Component = [ PREFIX ] UNIT [ Annotation ] 1374 | Annotation | "1" ; Annotation = "{" 1375 NAME "}" ; Notes: * `Annotation` is just a comment if it follows a 1376 `UNIT` and is equivalent to `1` if it is used alone. For examples, 1377 `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a 1378 sequence of non-blank printable ASCII characters not containing '{' 1379 or '}'. 1380 valueType: Whether the measurement is an integer, a floating-point number, 1381 etc. 1382 """ 1383 1384 class MetricKindValueValuesEnum(_messages.Enum): 1385 r"""Whether the metric records instantaneous values, changes to a value, 1386 etc. 1387 1388 Values: 1389 METRIC_KIND_UNSPECIFIED: Do not use this default value. 1390 GAUGE: Instantaneous measurements of a varying quantity. 1391 DELTA: Changes over non-overlapping time intervals. 1392 CUMULATIVE: Cumulative value over time intervals that can overlap. The 1393 overlapping intervals must have the same start time. 1394 """ 1395 METRIC_KIND_UNSPECIFIED = 0 1396 GAUGE = 1 1397 DELTA = 2 1398 CUMULATIVE = 3 1399 1400 class ValueTypeValueValuesEnum(_messages.Enum): 1401 r"""Whether the measurement is an integer, a floating-point number, etc. 1402 1403 Values: 1404 VALUE_TYPE_UNSPECIFIED: Do not use this default value. 1405 BOOL: The value is a boolean. This value type can be used only if the 1406 metric kind is `GAUGE`. 1407 INT64: The value is a signed 64-bit integer. 1408 DOUBLE: The value is a double precision floating point number. 1409 STRING: The value is a text string. This value type can be used only if 1410 the metric kind is `GAUGE`. 1411 DISTRIBUTION: The value is a `Distribution`. 1412 MONEY: The value is money. 1413 """ 1414 VALUE_TYPE_UNSPECIFIED = 0 1415 BOOL = 1 1416 INT64 = 2 1417 DOUBLE = 3 1418 STRING = 4 1419 DISTRIBUTION = 5 1420 MONEY = 6 1421 1422 description = _messages.StringField(1) 1423 displayName = _messages.StringField(2) 1424 labels = _messages.MessageField('LabelDescriptor', 3, repeated=True) 1425 metricKind = _messages.EnumField('MetricKindValueValuesEnum', 4) 1426 name = _messages.StringField(5) 1427 type = _messages.StringField(6) 1428 unit = _messages.StringField(7) 1429 valueType = _messages.EnumField('ValueTypeValueValuesEnum', 8) 1430 1431 1432class Mixin(_messages.Message): 1433 r"""Declares an API to be included in this API. The including API must 1434 redeclare all the methods from the included API, but documentation and 1435 options are inherited as follows: - If after comment and whitespace 1436 stripping, the documentation string of the redeclared method is empty, it 1437 will be inherited from the original method. - Each annotation belonging 1438 to the service config (http, visibility) which is not set in the 1439 redeclared method will be inherited. - If an http annotation is 1440 inherited, the path pattern will be modified as follows. Any version 1441 prefix will be replaced by the version of the including API plus the root 1442 path if specified. Example of a simple mixin: package google.acl.v1; 1443 service AccessControl { // Get the underlying ACL object. rpc 1444 GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = 1445 "/v1/{resource=**}:getAcl"; } } package google.storage.v2; 1446 service Storage { // rpc GetAcl(GetAclRequest) returns (Acl); 1447 // Get a data record. rpc GetData(GetDataRequest) returns (Data) { 1448 option (google.api.http).get = "/v2/{resource=**}"; } } Example 1449 of a mixin configuration: apis: - name: google.storage.v2.Storage 1450 mixins: - name: google.acl.v1.AccessControl The mixin construct 1451 implies that all methods in `AccessControl` are also declared with same name 1452 and request/response types in `Storage`. A documentation generator or 1453 annotation processor will see the effective `Storage.GetAcl` method after 1454 inherting documentation and annotations as follows: service Storage { 1455 // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns 1456 (Acl) { option (google.api.http).get = "/v2/{resource=**}:getAcl"; 1457 } ... } Note how the version in the path pattern changed from 1458 `v1` to `v2`. If the `root` field in the mixin is specified, it should be a 1459 relative path under which inherited HTTP paths are placed. Example: 1460 apis: - name: google.storage.v2.Storage mixins: - name: 1461 google.acl.v1.AccessControl root: acls This implies the following 1462 inherited HTTP annotation: service Storage { // Get the 1463 underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { 1464 option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; } 1465 ... } 1466 1467 Fields: 1468 name: The fully qualified name of the API which is included. 1469 root: If non-empty specifies a path under which inherited HTTP paths are 1470 rooted. 1471 """ 1472 1473 name = _messages.StringField(1) 1474 root = _messages.StringField(2) 1475 1476 1477class MonitoredResourceDescriptor(_messages.Message): 1478 r"""An object that describes the schema of a MonitoredResource object using 1479 a type name and a set of labels. For example, the monitored resource 1480 descriptor for Google Compute Engine VM instances has a type of 1481 `"gce_instance"` and specifies the use of the labels `"instance_id"` and 1482 `"zone"` to identify particular VM instances. Different APIs can support 1483 different monitored resource types. APIs generally provide a `list` method 1484 that returns the monitored resource descriptors used by the API. 1485 1486 Fields: 1487 description: Optional. A detailed description of the monitored resource 1488 type that might be used in documentation. 1489 displayName: Optional. A concise name for the monitored resource type that 1490 might be displayed in user interfaces. For example, `"Google Cloud SQL 1491 Database"`. 1492 labels: Required. A set of labels used to describe instances of this 1493 monitored resource type. For example, an individual Google Cloud SQL 1494 database is identified by values for the labels `"database_id"` and 1495 `"zone"`. 1496 name: Optional. The resource name of the monitored resource descriptor: 1497 `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where 1498 {type} is the value of the `type` field in this object and {project_id} 1499 is a project ID that provides API-specific context for accessing the 1500 type. APIs that do not use project information can use the resource 1501 name format `"monitoredResourceDescriptors/{type}"`. 1502 type: Required. The monitored resource type. For example, the type 1503 `"cloudsql_database"` represents databases in Google Cloud SQL. The 1504 maximum length of this value is 256 characters. 1505 """ 1506 1507 description = _messages.StringField(1) 1508 displayName = _messages.StringField(2) 1509 labels = _messages.MessageField('LabelDescriptor', 3, repeated=True) 1510 name = _messages.StringField(4) 1511 type = _messages.StringField(5) 1512 1513 1514class Monitoring(_messages.Message): 1515 r"""Monitoring configuration of the service. The example below shows how to 1516 configure monitored resources and metrics for monitoring. In the example, a 1517 monitored resource and two metrics are defined. The 1518 `library.googleapis.com/book/returned_count` metric is sent to both producer 1519 and consumer projects, whereas the 1520 `library.googleapis.com/book/overdue_count` metric is only sent to the 1521 consumer project. monitored_resources: - type: 1522 library.googleapis.com/branch labels: - key: /city 1523 description: The city where the library branch is located in. - key: 1524 /name description: The name of the branch. metrics: - name: 1525 library.googleapis.com/book/returned_count metric_kind: DELTA 1526 value_type: INT64 labels: - key: /customer_id - name: 1527 library.googleapis.com/book/overdue_count metric_kind: GAUGE 1528 value_type: INT64 labels: - key: /customer_id monitoring: 1529 producer_destinations: - monitored_resource: 1530 library.googleapis.com/branch metrics: - 1531 library.googleapis.com/book/returned_count consumer_destinations: 1532 - monitored_resource: library.googleapis.com/branch metrics: 1533 - library.googleapis.com/book/returned_count - 1534 library.googleapis.com/book/overdue_count 1535 1536 Fields: 1537 consumerDestinations: Monitoring configurations for sending metrics to the 1538 consumer project. There can be multiple consumer destinations, each one 1539 must have a different monitored resource type. A metric can be used in 1540 at most one consumer destination. 1541 producerDestinations: Monitoring configurations for sending metrics to the 1542 producer project. There can be multiple producer destinations, each one 1543 must have a different monitored resource type. A metric can be used in 1544 at most one producer destination. 1545 """ 1546 1547 consumerDestinations = _messages.MessageField('MonitoringDestination', 1, repeated=True) 1548 producerDestinations = _messages.MessageField('MonitoringDestination', 2, repeated=True) 1549 1550 1551class MonitoringDestination(_messages.Message): 1552 r"""Configuration of a specific monitoring destination (the producer project 1553 or the consumer project). 1554 1555 Fields: 1556 metrics: Names of the metrics to report to this monitoring destination. 1557 Each name must be defined in Service.metrics section. 1558 monitoredResource: The monitored resource type. The type must be defined 1559 in Service.monitored_resources section. 1560 """ 1561 1562 metrics = _messages.StringField(1, repeated=True) 1563 monitoredResource = _messages.StringField(2) 1564 1565 1566class OAuthRequirements(_messages.Message): 1567 r"""OAuth scopes are a way to define data and permissions on data. For 1568 example, there are scopes defined for "Read-only access to Google Calendar" 1569 and "Access to Cloud Platform". Users can consent to a scope for an 1570 application, giving it permission to access that data on their behalf. 1571 OAuth scope specifications should be fairly coarse grained; a user will need 1572 to see and understand the text description of what your scope means. In 1573 most cases: use one or at most two OAuth scopes for an entire family of 1574 products. If your product has multiple APIs, you should probably be sharing 1575 the OAuth scope across all of those APIs. When you need finer grained OAuth 1576 consent screens: talk with your product management about how developers will 1577 use them in practice. Please note that even though each of the canonical 1578 scopes is enough for a request to be accepted and passed to the backend, a 1579 request can still fail due to the backend requiring additional scopes or 1580 permissions. 1581 1582 Fields: 1583 canonicalScopes: The list of publicly documented OAuth scopes that are 1584 allowed access. An OAuth token containing any of these scopes will be 1585 accepted. Example: canonical_scopes: 1586 https://www.googleapis.com/auth/calendar, 1587 https://www.googleapis.com/auth/calendar.read 1588 """ 1589 1590 canonicalScopes = _messages.StringField(1) 1591 1592 1593class OpenApiSpec(_messages.Message): 1594 r"""A collection of OpenAPI specification files. 1595 1596 Fields: 1597 openApiFiles: Individual files. 1598 """ 1599 1600 openApiFiles = _messages.MessageField('ConfigFile', 1, repeated=True) 1601 1602 1603class Operation(_messages.Message): 1604 r"""This resource represents a long-running operation that is the result of 1605 a network API call. 1606 1607 Messages: 1608 MetadataValue: Service-specific metadata associated with the operation. 1609 It typically contains progress information and common metadata such as 1610 create time. Some services might not provide such metadata. Any method 1611 that returns a long-running operation should document the metadata type, 1612 if any. 1613 ResponseValue: The normal response of the operation in case of success. 1614 If the original method returns no data on success, such as `Delete`, the 1615 response is `google.protobuf.Empty`. If the original method is standard 1616 `Get`/`Create`/`Update`, the response should be the resource. For other 1617 methods, the response should have the type `XxxResponse`, where `Xxx` is 1618 the original method name. For example, if the original method name is 1619 `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. 1620 1621 Fields: 1622 done: If the value is `false`, it means the operation is still in 1623 progress. If true, the operation is completed, and either `error` or 1624 `response` is available. 1625 error: The error result of the operation in case of failure. 1626 metadata: Service-specific metadata associated with the operation. It 1627 typically contains progress information and common metadata such as 1628 create time. Some services might not provide such metadata. Any method 1629 that returns a long-running operation should document the metadata type, 1630 if any. 1631 name: The server-assigned name, which is only unique within the same 1632 service that originally returns it. If you use the default HTTP mapping, 1633 the `name` should have the format of `operations/some/unique/name`. 1634 response: The normal response of the operation in case of success. If the 1635 original method returns no data on success, such as `Delete`, the 1636 response is `google.protobuf.Empty`. If the original method is standard 1637 `Get`/`Create`/`Update`, the response should be the resource. For other 1638 methods, the response should have the type `XxxResponse`, where `Xxx` is 1639 the original method name. For example, if the original method name is 1640 `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. 1641 """ 1642 1643 @encoding.MapUnrecognizedFields('additionalProperties') 1644 class MetadataValue(_messages.Message): 1645 r"""Service-specific metadata associated with the operation. It typically 1646 contains progress information and common metadata such as create time. 1647 Some services might not provide such metadata. Any method that returns a 1648 long-running operation should document the metadata type, if any. 1649 1650 Messages: 1651 AdditionalProperty: An additional property for a MetadataValue object. 1652 1653 Fields: 1654 additionalProperties: Properties of the object. Contains field @type 1655 with type URL. 1656 """ 1657 1658 class AdditionalProperty(_messages.Message): 1659 r"""An additional property for a MetadataValue object. 1660 1661 Fields: 1662 key: Name of the additional property. 1663 value: A extra_types.JsonValue attribute. 1664 """ 1665 1666 key = _messages.StringField(1) 1667 value = _messages.MessageField('extra_types.JsonValue', 2) 1668 1669 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 1670 1671 @encoding.MapUnrecognizedFields('additionalProperties') 1672 class ResponseValue(_messages.Message): 1673 r"""The normal response of the operation in case of success. If the 1674 original method returns no data on success, such as `Delete`, the response 1675 is `google.protobuf.Empty`. If the original method is standard 1676 `Get`/`Create`/`Update`, the response should be the resource. For other 1677 methods, the response should have the type `XxxResponse`, where `Xxx` is 1678 the original method name. For example, if the original method name is 1679 `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. 1680 1681 Messages: 1682 AdditionalProperty: An additional property for a ResponseValue object. 1683 1684 Fields: 1685 additionalProperties: Properties of the object. Contains field @type 1686 with type URL. 1687 """ 1688 1689 class AdditionalProperty(_messages.Message): 1690 r"""An additional property for a ResponseValue object. 1691 1692 Fields: 1693 key: Name of the additional property. 1694 value: A extra_types.JsonValue attribute. 1695 """ 1696 1697 key = _messages.StringField(1) 1698 value = _messages.MessageField('extra_types.JsonValue', 2) 1699 1700 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 1701 1702 done = _messages.BooleanField(1) 1703 error = _messages.MessageField('Status', 2) 1704 metadata = _messages.MessageField('MetadataValue', 3) 1705 name = _messages.StringField(4) 1706 response = _messages.MessageField('ResponseValue', 5) 1707 1708 1709class OperationMetadata(_messages.Message): 1710 r"""The metadata associated with a long running operation resource. 1711 1712 Fields: 1713 progressPercentage: Percentage of completion of this operation, ranging 1714 from 0 to 100. 1715 resourceNames: The full name of the resources that this operation is 1716 directly associated with. 1717 startTime: The start time of the operation. 1718 steps: Detailed status information for each step. The order is 1719 undetermined. 1720 """ 1721 1722 progressPercentage = _messages.IntegerField(1, variant=_messages.Variant.INT32) 1723 resourceNames = _messages.StringField(2, repeated=True) 1724 startTime = _messages.StringField(3) 1725 steps = _messages.MessageField('Step', 4, repeated=True) 1726 1727 1728class Option(_messages.Message): 1729 r"""A protocol buffer option, which can be attached to a message, field, 1730 enumeration, etc. 1731 1732 Messages: 1733 ValueValue: The option's value. For example, `"com.google.protobuf"`. 1734 1735 Fields: 1736 name: The option's name. For example, `"java_package"`. 1737 value: The option's value. For example, `"com.google.protobuf"`. 1738 """ 1739 1740 @encoding.MapUnrecognizedFields('additionalProperties') 1741 class ValueValue(_messages.Message): 1742 r"""The option's value. For example, `"com.google.protobuf"`. 1743 1744 Messages: 1745 AdditionalProperty: An additional property for a ValueValue object. 1746 1747 Fields: 1748 additionalProperties: Properties of the object. Contains field @type 1749 with type URL. 1750 """ 1751 1752 class AdditionalProperty(_messages.Message): 1753 r"""An additional property for a ValueValue object. 1754 1755 Fields: 1756 key: Name of the additional property. 1757 value: A extra_types.JsonValue attribute. 1758 """ 1759 1760 key = _messages.StringField(1) 1761 value = _messages.MessageField('extra_types.JsonValue', 2) 1762 1763 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 1764 1765 name = _messages.StringField(1) 1766 value = _messages.MessageField('ValueValue', 2) 1767 1768 1769class Page(_messages.Message): 1770 r"""Represents a documentation page. A page can contain subpages to 1771 represent nested documentation set structure. 1772 1773 Fields: 1774 content: The Markdown content of the page. You can use <code>(== 1775 include {path} ==)</code> to include content from a Markdown file. 1776 name: The name of the page. It will be used as an identity of the page to 1777 generate URI of the page, text of the link to this page in navigation, 1778 etc. The full page name (start from the root page name to this page 1779 concatenated with `.`) can be used as reference to the page in your 1780 documentation. For example: <pre><code>pages: - name: Tutorial 1781 content: (== include tutorial.md ==) subpages: - name: Java 1782 content: (== include tutorial_java.md ==) </code></pre> You can 1783 reference `Java` page using Markdown reference link syntax: `Java`. 1784 subpages: Subpages of this page. The order of subpages specified here will 1785 be honored in the generated docset. 1786 """ 1787 1788 content = _messages.StringField(1) 1789 name = _messages.StringField(2) 1790 subpages = _messages.MessageField('Page', 3, repeated=True) 1791 1792 1793class ProjectProperties(_messages.Message): 1794 r"""A descriptor for defining project properties for a service. One service 1795 may have many consumer projects, and the service may want to behave 1796 differently depending on some properties on the project. For example, a 1797 project may be associated with a school, or a business, or a government 1798 agency, a business type property on the project may affect how a service 1799 responds to the client. This descriptor defines which properties are allowed 1800 to be set on a project. Example: project_properties: properties: 1801 - name: NO_WATERMARK type: BOOL description: Allows usage of 1802 the API without watermarks. - name: EXTENDED_TILE_CACHE_PERIOD 1803 type: INT64 1804 1805 Fields: 1806 properties: List of per consumer project-specific properties. 1807 """ 1808 1809 properties = _messages.MessageField('Property', 1, repeated=True) 1810 1811 1812class ProjectSettings(_messages.Message): 1813 r"""Settings that control how a consumer project uses a service. 1814 1815 Messages: 1816 PropertiesValue: Service-defined per-consumer properties. A key-value 1817 mapping a string key to a google.protobuf.ListValue proto. Values in the 1818 list are typed as defined in the Service configuration's 1819 consumer.properties field. 1820 1821 Fields: 1822 consumerProjectId: ID for the project consuming this service. 1823 operations: Read-only view of pending operations affecting this resource, 1824 if requested. 1825 properties: Service-defined per-consumer properties. A key-value mapping 1826 a string key to a google.protobuf.ListValue proto. Values in the list 1827 are typed as defined in the Service configuration's consumer.properties 1828 field. 1829 quotaSettings: Settings that control how much or how fast the service can 1830 be used by the consumer project. 1831 serviceName: The name of the service. See the `ServiceManager` overview 1832 for naming requirements. 1833 usageSettings: Settings that control whether this service is usable by the 1834 consumer project. 1835 visibilitySettings: Settings that control which features of the service 1836 are visible to the consumer project. 1837 """ 1838 1839 @encoding.MapUnrecognizedFields('additionalProperties') 1840 class PropertiesValue(_messages.Message): 1841 r"""Service-defined per-consumer properties. A key-value mapping a string 1842 key to a google.protobuf.ListValue proto. Values in the list are typed as 1843 defined in the Service configuration's consumer.properties field. 1844 1845 Messages: 1846 AdditionalProperty: An additional property for a PropertiesValue object. 1847 1848 Fields: 1849 additionalProperties: Additional properties of type PropertiesValue 1850 """ 1851 1852 class AdditionalProperty(_messages.Message): 1853 r"""An additional property for a PropertiesValue object. 1854 1855 Fields: 1856 key: Name of the additional property. 1857 value: A extra_types.JsonValue attribute. 1858 """ 1859 1860 key = _messages.StringField(1) 1861 value = _messages.MessageField('extra_types.JsonValue', 2, repeated=True) 1862 1863 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 1864 1865 consumerProjectId = _messages.StringField(1) 1866 operations = _messages.MessageField('Operation', 2, repeated=True) 1867 properties = _messages.MessageField('PropertiesValue', 3) 1868 quotaSettings = _messages.MessageField('QuotaSettings', 4) 1869 serviceName = _messages.StringField(5) 1870 usageSettings = _messages.MessageField('UsageSettings', 6) 1871 visibilitySettings = _messages.MessageField('VisibilitySettings', 7) 1872 1873 1874class Property(_messages.Message): 1875 r"""Defines project properties. API services can define properties that can 1876 be assigned to consumer projects so that backends can perform response 1877 customization without having to make additional calls or maintain additional 1878 storage. For example, Maps API defines properties that controls map tile 1879 cache period, or whether to embed a watermark in a result. These values can 1880 be set via API producer console. Only API providers can define and set these 1881 properties. 1882 1883 Enums: 1884 TypeValueValuesEnum: The type of this property. 1885 1886 Fields: 1887 description: The description of the property 1888 name: The name of the property (a.k.a key). 1889 type: The type of this property. 1890 """ 1891 1892 class TypeValueValuesEnum(_messages.Enum): 1893 r"""The type of this property. 1894 1895 Values: 1896 UNSPECIFIED: The type is unspecified, and will result in an error. 1897 INT64: The type is `int64`. 1898 BOOL: The type is `bool`. 1899 STRING: The type is `string`. 1900 DOUBLE: The type is 'double'. 1901 """ 1902 UNSPECIFIED = 0 1903 INT64 = 1 1904 BOOL = 2 1905 STRING = 3 1906 DOUBLE = 4 1907 1908 description = _messages.StringField(1) 1909 name = _messages.StringField(2) 1910 type = _messages.EnumField('TypeValueValuesEnum', 3) 1911 1912 1913class ProtoDescriptor(_messages.Message): 1914 r"""Contains a serialized protoc-generated protocol buffer message 1915 descriptor set along with a URL that describes the type of the descriptor 1916 message. 1917 1918 Fields: 1919 typeUrl: A URL/resource name whose content describes the type of the 1920 serialized protocol buffer message. Only 1921 'type.googleapis.com/google.protobuf.FileDescriptorSet' is supported. If 1922 the type_url is not specificed, 1923 'type.googleapis.com/google.protobuf.FileDescriptorSet' will be assumed. 1924 value: Must be a valid serialized protocol buffer descriptor set. To 1925 generate, use protoc with imports and source info included. For an 1926 example test.proto file, the following command would put the value in a 1927 new file named descriptor.pb. $protoc --include_imports 1928 --include_source_info test.proto -o descriptor.pb 1929 """ 1930 1931 typeUrl = _messages.StringField(1) 1932 value = _messages.BytesField(2) 1933 1934 1935class ProtoSpec(_messages.Message): 1936 r"""A collection of protocol buffer service specification files. 1937 1938 Fields: 1939 protoDescriptor: A complete descriptor of a protocol buffer specification 1940 """ 1941 1942 protoDescriptor = _messages.MessageField('ProtoDescriptor', 1) 1943 1944 1945class QueryUserAccessResponse(_messages.Message): 1946 r"""Request message for QueryUserAccess method. 1947 1948 Fields: 1949 accessibleVisibilityLabels: Any visibility labels on the service that are 1950 accessible by the user. 1951 canAccessService: True if the user can access the service and any 1952 unrestricted API surface. 1953 """ 1954 1955 accessibleVisibilityLabels = _messages.StringField(1, repeated=True) 1956 canAccessService = _messages.BooleanField(2) 1957 1958 1959class Quota(_messages.Message): 1960 r"""Quota configuration helps to achieve fairness and budgeting in service 1961 usage. - Fairness is achieved through the use of short-term quota limits 1962 that are usually defined over a time window of several seconds or minutes. 1963 When such a limit is applied, for example at the user level, it ensures 1964 that no single user will monopolize the service or a given customer's 1965 allocated portion of it. - Budgeting is achieved through the use of long- 1966 term quota limits that are usually defined over a time window of one or 1967 more days. These limits help client application developers predict the 1968 usage and help budgeting. Quota enforcement uses a simple token-based 1969 algorithm for resource sharing. The quota configuration structure is as 1970 follows: - `QuotaLimit` defines a single enforceable limit with a specified 1971 token amount that can be consumed over a specific duration and applies to 1972 a particular entity, like a project or an end user. If the limit applies 1973 to a user, each user making the request will get the specified number of 1974 tokens to consume. When the tokens run out, the requests from that user 1975 will be blocked until the duration elapses and the next duration window 1976 starts. - `QuotaGroup` groups a set of quota limits. - `QuotaRule` maps a 1977 method to a set of quota groups. This allows sharing of quota groups 1978 across methods as well as one method consuming tokens from more than one 1979 quota group. When a group contains multiple limits, requests to a method 1980 consuming tokens from that group must satisfy all the limits in that 1981 group. Example: quota: groups: - name: ReadGroup 1982 limits: - description: Daily Limit name: ProjectQpd 1983 default_limit: 10000 duration: 1d limit_by: 1984 CLIENT_PROJECT - description: Per-second Limit name: 1985 UserQps default_limit: 20000 duration: 100s 1986 limit_by: USER - name: WriteGroup limits: - 1987 description: Daily Limit name: ProjectQpd default_limit: 1988 1000 max_limit: 1000 duration: 1d limit_by: 1989 CLIENT_PROJECT - description: Per-second Limit name: 1990 UserQps default_limit: 2000 max_limit: 4000 1991 duration: 100s limit_by: USER rules: - selector: "*" 1992 groups: - group: ReadGroup - selector: 1993 google.calendar.Calendar.Update groups: - group: WriteGroup 1994 cost: 2 - selector: google.calendar.Calendar.Delete groups: 1995 - group: WriteGroup Here, the configuration defines two quota groups: 1996 ReadGroup and WriteGroup, each defining its own daily and per-second limits. 1997 Note that One Platform enforces per-second limits averaged over a duration 1998 of 100 seconds. The rules map ReadGroup for all methods, except for the 1999 Update and Delete methods. These two methods consume from WriteGroup, with 2000 Update method consuming at twice the rate as Delete method. Multiple quota 2001 groups can be specified for a method. The quota limits in all of those 2002 groups will be enforced. Example: quota: groups: - name: 2003 WriteGroup limits: - description: Daily Limit 2004 name: ProjectQpd default_limit: 1000 max_limit: 1000 2005 duration: 1d limit_by: CLIENT_PROJECT - description: Per- 2006 second Limit name: UserQps default_limit: 2000 2007 max_limit: 4000 duration: 100s limit_by: USER - 2008 name: StorageGroup limits: - description: Storage Quota 2009 name: StorageQuota default_limit: 1000 duration: 0 2010 limit_by: USER rules: - selector: 2011 google.calendar.Calendar.Create groups: - group: 2012 StorageGroup - group: WriteGroup - selector: 2013 google.calendar.Calendar.Delete groups: - group: 2014 StorageGroup In the above example, the Create and Delete methods manage the 2015 user's storage space. In addition, Create method uses WriteGroup to manage 2016 the requests. In this case, requests to Create method need to satisfy all 2017 quota limits defined in both quota groups. One can disable quota for 2018 selected method(s) identified by the selector by setting disable_quota to 2019 ture. For example, rules: - selector: "*" group: 2020 - group ReadGroup - selector: google.calendar.Calendar.Select 2021 disable_quota: true 2022 2023 Fields: 2024 groups: List of `QuotaGroup` definitions for the service. 2025 rules: List of `QuotaRule` definitions, each one mapping a selected method 2026 to one or more quota groups. 2027 """ 2028 2029 groups = _messages.MessageField('QuotaGroup', 1, repeated=True) 2030 rules = _messages.MessageField('QuotaRule', 2, repeated=True) 2031 2032 2033class QuotaGroup(_messages.Message): 2034 r"""`QuotaGroup` defines a set of quota limits to enforce. 2035 2036 Fields: 2037 billable: Indicates if the quota limits defined in this quota group apply 2038 to consumers who have active billing. Quota limits defined in billable 2039 groups will be applied only to consumers who have active billing. The 2040 amount of tokens consumed from billable quota group will also be 2041 reported for billing. Quota limits defined in non-billable groups will 2042 be applied only to consumers who have no active billing. 2043 description: User-visible description of this quota group. 2044 limits: Quota limits to be enforced when this quota group is used. A 2045 request must satisfy all the limits in a group for it to be permitted. 2046 name: Name of this quota group. Must be unique within the service. Quota 2047 group name is used as part of the id for quota limits. Once the quota 2048 group has been put into use, the name of the quota group should be 2049 immutable. 2050 """ 2051 2052 billable = _messages.BooleanField(1) 2053 description = _messages.StringField(2) 2054 limits = _messages.MessageField('QuotaLimit', 3, repeated=True) 2055 name = _messages.StringField(4) 2056 2057 2058class QuotaGroupMapping(_messages.Message): 2059 r"""A quota group mapping. 2060 2061 Fields: 2062 cost: Number of tokens to consume for each request. This allows different 2063 cost to be associated with different methods that consume from the same 2064 quota group. By default, each request will cost one token. 2065 group: The `QuotaGroup.name` of the group. Requests for the mapped methods 2066 will consume tokens from each of the limits defined in this group. 2067 """ 2068 2069 cost = _messages.IntegerField(1, variant=_messages.Variant.INT32) 2070 group = _messages.StringField(2) 2071 2072 2073class QuotaInfo(_messages.Message): 2074 r"""Metadata about an individual quota, containing usage and limit 2075 information. 2076 2077 Fields: 2078 currentUsage: The usage data for this quota as it applies to the current 2079 limit. 2080 historicalUsage: The historical usage data of this quota limit. Currently 2081 it is only available for daily quota limit, that is, base_limit.duration 2082 = "1d". 2083 limit: The effective limit for this quota. 2084 """ 2085 2086 currentUsage = _messages.MessageField('QuotaUsage', 1) 2087 historicalUsage = _messages.MessageField('QuotaUsage', 2, repeated=True) 2088 limit = _messages.MessageField('EffectiveQuotaLimit', 3) 2089 2090 2091class QuotaLimit(_messages.Message): 2092 r"""`QuotaLimit` defines a specific limit that applies over a specified 2093 duration for a limit type. There can be at most one limit for a duration and 2094 limit type combination defined within a `QuotaGroup`. 2095 2096 Enums: 2097 LimitByValueValuesEnum: Limit type to use for enforcing this quota limit. 2098 Each unique value gets the defined number of tokens to consume from. For 2099 a quota limit that uses user type, each user making requests through the 2100 same client application project will get his/her own pool of tokens to 2101 consume, whereas for a limit that uses client project type, all users 2102 making requests through the same client application project share a 2103 single pool of tokens. 2104 2105 Fields: 2106 defaultLimit: Default number of tokens that can be consumed during the 2107 specified duration. This is the number of tokens assigned when a client 2108 application developer activates the service for his/her project. 2109 Specifying a value of 0 will block all requests. This can be used if you 2110 are provisioning quota to selected consumers and blocking others. 2111 Similarly, a value of -1 will indicate an unlimited quota. No other 2112 negative values are allowed. 2113 description: Optional. User-visible, extended description for this quota 2114 limit. Should be used only when more context is needed to understand 2115 this limit than provided by the limit's display name (see: 2116 `display_name`). 2117 displayName: User-visible display name for this limit. Optional. If not 2118 set, the UI will provide a default display name based on the quota 2119 configuration. This field can be used to override the default display 2120 name generated from the configuration. 2121 duration: Duration of this limit in textual notation. Example: "100s", 2122 "24h", "1d". For duration longer than a day, only multiple of days is 2123 supported. We support only "100s" and "1d" for now. Additional support 2124 will be added in the future. "0" indicates indefinite duration. 2125 freeTier: Free tier value displayed in the Developers Console for this 2126 limit. The free tier is the number of tokens that will be subtracted 2127 from the billed amount when billing is enabled. This field can only be 2128 set on a limit with duration "1d", in a billable group; it is invalid on 2129 any other limit. If this field is not set, it defaults to 0, indicating 2130 that there is no free tier for this service. 2131 limitBy: Limit type to use for enforcing this quota limit. Each unique 2132 value gets the defined number of tokens to consume from. For a quota 2133 limit that uses user type, each user making requests through the same 2134 client application project will get his/her own pool of tokens to 2135 consume, whereas for a limit that uses client project type, all users 2136 making requests through the same client application project share a 2137 single pool of tokens. 2138 maxLimit: Maximum number of tokens that can be consumed during the 2139 specified duration. Client application developers can override the 2140 default limit up to this maximum. If specified, this value cannot be set 2141 to a value less than the default limit. If not specified, it is set to 2142 the default limit. To allow clients to apply overrides with no upper 2143 bound, set this to -1, indicating unlimited maximum quota. 2144 name: Name of the quota limit. Must be unique within the quota group. 2145 This name is used to refer to the limit when overriding the limit on a 2146 per-project basis. If a name is not provided, it will be generated from 2147 the limit_by and duration fields. The maximum length of the limit name 2148 is 64 characters. The name of a limit is used as a unique identifier 2149 for this limit. Therefore, once a limit has been put into use, its name 2150 should be immutable. You can use the display_name field to provide a 2151 user-friendly name for the limit. The display name can be evolved over 2152 time without affecting the identity of the limit. 2153 """ 2154 2155 class LimitByValueValuesEnum(_messages.Enum): 2156 r"""Limit type to use for enforcing this quota limit. Each unique value 2157 gets the defined number of tokens to consume from. For a quota limit that 2158 uses user type, each user making requests through the same client 2159 application project will get his/her own pool of tokens to consume, 2160 whereas for a limit that uses client project type, all users making 2161 requests through the same client application project share a single pool 2162 of tokens. 2163 2164 Values: 2165 CLIENT_PROJECT: ID of the project owned by the client application 2166 developer making the request. 2167 USER: ID of the end user making the request using the client 2168 application. 2169 """ 2170 CLIENT_PROJECT = 0 2171 USER = 1 2172 2173 defaultLimit = _messages.IntegerField(1) 2174 description = _messages.StringField(2) 2175 displayName = _messages.StringField(3) 2176 duration = _messages.StringField(4) 2177 freeTier = _messages.IntegerField(5) 2178 limitBy = _messages.EnumField('LimitByValueValuesEnum', 6) 2179 maxLimit = _messages.IntegerField(7) 2180 name = _messages.StringField(8) 2181 2182 2183class QuotaLimitOverride(_messages.Message): 2184 r"""Specifies a custom quota limit that is applied for this consumer 2185 project. This overrides the default value in google.api.QuotaLimit. 2186 2187 Fields: 2188 limit: The new limit for this project. May be -1 (unlimited), 0 (block), 2189 or any positive integer. 2190 unlimited: Indicates the override is to provide unlimited quota. If true, 2191 any value set for limit will be ignored. DEPRECATED. Use a limit value 2192 of -1 instead. 2193 """ 2194 2195 limit = _messages.IntegerField(1) 2196 unlimited = _messages.BooleanField(2) 2197 2198 2199class QuotaRule(_messages.Message): 2200 r"""`QuotaRule` maps a method to a set of `QuotaGroup`s. 2201 2202 Fields: 2203 disableQuota: Indicates if quota checking should be enforced. Quota will 2204 be disabled for methods without quota rules or with quota rules having 2205 this field set to true. When this field is set to true, no quota group 2206 mapping is allowed. 2207 groups: Quota groups to be used for this method. This supports associating 2208 a cost with each quota group. 2209 selector: Selects methods to which this rule applies. Refer to selector 2210 for syntax details. 2211 """ 2212 2213 disableQuota = _messages.BooleanField(1) 2214 groups = _messages.MessageField('QuotaGroupMapping', 2, repeated=True) 2215 selector = _messages.StringField(3) 2216 2217 2218class QuotaSettings(_messages.Message): 2219 r"""Per-consumer overrides for quota settings. See google/api/quota.proto 2220 for the corresponding service configuration which provides the default 2221 values. 2222 2223 Messages: 2224 ConsumerOverridesValue: Quota overrides set by the consumer. Consumer 2225 overrides will only have an effect up to the max_limit specified in the 2226 service config, or the the producer override, if one exists. The key 2227 for this map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for 2228 quotas defined within quota groups, where GROUP_NAME is the 2229 google.api.QuotaGroup.name field and LIMIT_NAME is the 2230 google.api.QuotaLimit.name field from the service config. For example: 2231 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2232 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2233 from the service config. For example: 'borrowedCountPerOrganization'. 2234 EffectiveQuotasValue: The effective quota limits for each group, derived 2235 from the service defaults together with any producer or consumer 2236 overrides. For each limit, the effective value is the minimum of the 2237 producer and consumer overrides if either is present, or else the 2238 service default if neither is present. DEPRECATED. Use 2239 effective_quota_groups instead. 2240 ProducerOverridesValue: Quota overrides set by the producer. Note that if 2241 a consumer override is also specified, then the minimum of the two will 2242 be used. This allows consumers to cap their usage voluntarily. The key 2243 for this map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for 2244 quotas defined within quota groups, where GROUP_NAME is the 2245 google.api.QuotaGroup.name field and LIMIT_NAME is the 2246 google.api.QuotaLimit.name field from the service config. For example: 2247 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2248 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2249 from the service config. For example: 'borrowedCountPerOrganization'. 2250 2251 Fields: 2252 consumerOverrides: Quota overrides set by the consumer. Consumer overrides 2253 will only have an effect up to the max_limit specified in the service 2254 config, or the the producer override, if one exists. The key for this 2255 map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for quotas 2256 defined within quota groups, where GROUP_NAME is the 2257 google.api.QuotaGroup.name field and LIMIT_NAME is the 2258 google.api.QuotaLimit.name field from the service config. For example: 2259 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2260 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2261 from the service config. For example: 'borrowedCountPerOrganization'. 2262 effectiveQuotaGroups: Use this field for quota limits defined under quota 2263 groups. Combines service quota configuration and project-specific 2264 settings, as a map from quota group name to the effective quota 2265 information for that group. Output-only. 2266 effectiveQuotas: The effective quota limits for each group, derived from 2267 the service defaults together with any producer or consumer overrides. 2268 For each limit, the effective value is the minimum of the producer and 2269 consumer overrides if either is present, or else the service default if 2270 neither is present. DEPRECATED. Use effective_quota_groups instead. 2271 producerOverrides: Quota overrides set by the producer. Note that if a 2272 consumer override is also specified, then the minimum of the two will be 2273 used. This allows consumers to cap their usage voluntarily. The key for 2274 this map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for 2275 quotas defined within quota groups, where GROUP_NAME is the 2276 google.api.QuotaGroup.name field and LIMIT_NAME is the 2277 google.api.QuotaLimit.name field from the service config. For example: 2278 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2279 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2280 from the service config. For example: 'borrowedCountPerOrganization'. 2281 variableTermQuotas: Quotas that are active over a specified time period. 2282 Only writeable by the producer. 2283 """ 2284 2285 @encoding.MapUnrecognizedFields('additionalProperties') 2286 class ConsumerOverridesValue(_messages.Message): 2287 r"""Quota overrides set by the consumer. Consumer overrides will only have 2288 an effect up to the max_limit specified in the service config, or the the 2289 producer override, if one exists. The key for this map is one of the 2290 following: - '<GROUP_NAME>/<LIMIT_NAME>' for quotas defined within quota 2291 groups, where GROUP_NAME is the google.api.QuotaGroup.name field and 2292 LIMIT_NAME is the google.api.QuotaLimit.name field from the service 2293 config. For example: 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for 2294 quotas defined without quota groups, where LIMIT_NAME is the 2295 google.api.QuotaLimit.name field from the service config. For example: 2296 'borrowedCountPerOrganization'. 2297 2298 Messages: 2299 AdditionalProperty: An additional property for a ConsumerOverridesValue 2300 object. 2301 2302 Fields: 2303 additionalProperties: Additional properties of type 2304 ConsumerOverridesValue 2305 """ 2306 2307 class AdditionalProperty(_messages.Message): 2308 r"""An additional property for a ConsumerOverridesValue object. 2309 2310 Fields: 2311 key: Name of the additional property. 2312 value: A QuotaLimitOverride attribute. 2313 """ 2314 2315 key = _messages.StringField(1) 2316 value = _messages.MessageField('QuotaLimitOverride', 2) 2317 2318 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2319 2320 @encoding.MapUnrecognizedFields('additionalProperties') 2321 class EffectiveQuotasValue(_messages.Message): 2322 r"""The effective quota limits for each group, derived from the service 2323 defaults together with any producer or consumer overrides. For each limit, 2324 the effective value is the minimum of the producer and consumer overrides 2325 if either is present, or else the service default if neither is present. 2326 DEPRECATED. Use effective_quota_groups instead. 2327 2328 Messages: 2329 AdditionalProperty: An additional property for a EffectiveQuotasValue 2330 object. 2331 2332 Fields: 2333 additionalProperties: Additional properties of type EffectiveQuotasValue 2334 """ 2335 2336 class AdditionalProperty(_messages.Message): 2337 r"""An additional property for a EffectiveQuotasValue object. 2338 2339 Fields: 2340 key: Name of the additional property. 2341 value: A QuotaLimitOverride attribute. 2342 """ 2343 2344 key = _messages.StringField(1) 2345 value = _messages.MessageField('QuotaLimitOverride', 2) 2346 2347 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2348 2349 @encoding.MapUnrecognizedFields('additionalProperties') 2350 class ProducerOverridesValue(_messages.Message): 2351 r"""Quota overrides set by the producer. Note that if a consumer override 2352 is also specified, then the minimum of the two will be used. This allows 2353 consumers to cap their usage voluntarily. The key for this map is one of 2354 the following: - '<GROUP_NAME>/<LIMIT_NAME>' for quotas defined within 2355 quota groups, where GROUP_NAME is the google.api.QuotaGroup.name field and 2356 LIMIT_NAME is the google.api.QuotaLimit.name field from the service 2357 config. For example: 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for 2358 quotas defined without quota groups, where LIMIT_NAME is the 2359 google.api.QuotaLimit.name field from the service config. For example: 2360 'borrowedCountPerOrganization'. 2361 2362 Messages: 2363 AdditionalProperty: An additional property for a ProducerOverridesValue 2364 object. 2365 2366 Fields: 2367 additionalProperties: Additional properties of type 2368 ProducerOverridesValue 2369 """ 2370 2371 class AdditionalProperty(_messages.Message): 2372 r"""An additional property for a ProducerOverridesValue object. 2373 2374 Fields: 2375 key: Name of the additional property. 2376 value: A QuotaLimitOverride attribute. 2377 """ 2378 2379 key = _messages.StringField(1) 2380 value = _messages.MessageField('QuotaLimitOverride', 2) 2381 2382 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2383 2384 consumerOverrides = _messages.MessageField('ConsumerOverridesValue', 1) 2385 effectiveQuotaGroups = _messages.MessageField('EffectiveQuotaGroup', 2, repeated=True) 2386 effectiveQuotas = _messages.MessageField('EffectiveQuotasValue', 3) 2387 producerOverrides = _messages.MessageField('ProducerOverridesValue', 4) 2388 variableTermQuotas = _messages.MessageField('VariableTermQuota', 5, repeated=True) 2389 2390 2391class QuotaUsage(_messages.Message): 2392 r"""Specifies the used quota amount for a quota limit at a particular time. 2393 2394 Fields: 2395 endTime: The time the quota duration ended. 2396 queryTime: The time the quota usage data was queried. 2397 startTime: The time the quota duration started. 2398 usage: The used quota value at the "query_time". 2399 """ 2400 2401 endTime = _messages.StringField(1) 2402 queryTime = _messages.StringField(2) 2403 startTime = _messages.StringField(3) 2404 usage = _messages.IntegerField(4) 2405 2406 2407class Service(_messages.Message): 2408 r"""`Service` is the root object of the configuration schema. It describes 2409 basic information like the name of the service and the exposed API 2410 interfaces, and delegates other aspects to configuration sub-sections. 2411 Example: type: google.api.Service config_version: 1 name: 2412 calendar.googleapis.com title: Google Calendar API apis: - name: 2413 google.calendar.Calendar backend: rules: - selector: "*" 2414 address: calendar.example.com 2415 2416 Fields: 2417 apis: A list of API interfaces exported by this service. Only the `name` 2418 field of the google.protobuf.Api needs to be provided by the 2419 configuration author, as the remaining fields will be derived from the 2420 IDL during the normalization process. It is an error to specify an API 2421 interface here which cannot be resolved against the associated IDL 2422 files. 2423 authentication: Auth configuration. 2424 backend: API backend configuration. 2425 billing: Billing configuration of the service. 2426 configVersion: The version of the service configuration. The config 2427 version may influence interpretation of the configuration, for example, 2428 to determine defaults. This is documented together with applicable 2429 options. The current default for the config version itself is `3`. 2430 context: Context configuration. 2431 control: Configuration for the service control plane. 2432 customError: Custom error configuration. 2433 documentation: Additional API documentation. 2434 enums: A list of all enum types included in this API service. Enums 2435 referenced directly or indirectly by the `apis` are automatically 2436 included. Enums which are not referenced but shall be included should 2437 be listed here by name. Example: enums: - name: 2438 google.someapi.v1.SomeEnum 2439 http: HTTP configuration. 2440 id: A unique ID for a specific instance of this message, typically 2441 assigned by the client for tracking purpose. If empty, the server may 2442 choose to generate one instead. 2443 logging: Logging configuration of the service. 2444 logs: Defines the logs used by this service. 2445 metrics: Defines the metrics used by this service. 2446 monitoredResources: Defines the monitored resources used by this service. 2447 This is required by the Service.monitoring and Service.logging 2448 configurations. 2449 monitoring: Monitoring configuration of the service. 2450 name: The DNS address at which this service is available, e.g. 2451 `calendar.googleapis.com`. 2452 producerProjectId: The id of the Google developer project that owns the 2453 service. Members of this project can manage the service configuration, 2454 manage consumption of the service, etc. 2455 projectProperties: Configuration of per-consumer project properties. 2456 quota: Quota configuration. 2457 systemParameters: Configuration for system parameters. 2458 systemTypes: A list of all proto message types included in this API 2459 service. It serves similar purpose as [google.api.Service.types], except 2460 that these types are not needed by user-defined APIs. Therefore, they 2461 will not show up in the generated discovery doc. This field should only 2462 be used to define system APIs in ESF. 2463 title: The product title associated with this service. 2464 types: A list of all proto message types included in this API service. 2465 Types referenced directly or indirectly by the `apis` are automatically 2466 included. Messages which are not referenced but shall be included, such 2467 as types used by the `google.protobuf.Any` type, should be listed here 2468 by name. Example: types: - name: google.protobuf.Int32 2469 usage: Configuration controlling usage of this service. 2470 visibility: API visibility configuration. 2471 """ 2472 2473 apis = _messages.MessageField('Api', 1, repeated=True) 2474 authentication = _messages.MessageField('Authentication', 2) 2475 backend = _messages.MessageField('Backend', 3) 2476 billing = _messages.MessageField('Billing', 4) 2477 configVersion = _messages.IntegerField(5, variant=_messages.Variant.UINT32) 2478 context = _messages.MessageField('Context', 6) 2479 control = _messages.MessageField('Control', 7) 2480 customError = _messages.MessageField('CustomError', 8) 2481 documentation = _messages.MessageField('Documentation', 9) 2482 enums = _messages.MessageField('Enum', 10, repeated=True) 2483 http = _messages.MessageField('Http', 11) 2484 id = _messages.StringField(12) 2485 logging = _messages.MessageField('Logging', 13) 2486 logs = _messages.MessageField('LogDescriptor', 14, repeated=True) 2487 metrics = _messages.MessageField('MetricDescriptor', 15, repeated=True) 2488 monitoredResources = _messages.MessageField('MonitoredResourceDescriptor', 16, repeated=True) 2489 monitoring = _messages.MessageField('Monitoring', 17) 2490 name = _messages.StringField(18) 2491 producerProjectId = _messages.StringField(19) 2492 projectProperties = _messages.MessageField('ProjectProperties', 20) 2493 quota = _messages.MessageField('Quota', 21) 2494 systemParameters = _messages.MessageField('SystemParameters', 22) 2495 systemTypes = _messages.MessageField('Type', 23, repeated=True) 2496 title = _messages.StringField(24) 2497 types = _messages.MessageField('Type', 25, repeated=True) 2498 usage = _messages.MessageField('Usage', 26) 2499 visibility = _messages.MessageField('Visibility', 27) 2500 2501 2502class ServiceAccessList(_messages.Message): 2503 r"""List of users and groups that are granted access to a service or 2504 visibility label. 2505 2506 Fields: 2507 members: Members that are granted access. - "user:{$user_email}" - Grant 2508 access to an individual user - "group:{$group_email}" - Grant access to 2509 direct members of the group - "domain:{$domain}" - Grant access to all 2510 members of the domain. For now, domain membership check will be 2511 similar to Devconsole/TT check: compare domain part of the user 2512 email to configured domain name. When IAM integration is complete, 2513 this will be replaced with IAM check. 2514 """ 2515 2516 members = _messages.StringField(1, repeated=True) 2517 2518 2519class ServiceAccessPolicy(_messages.Message): 2520 r"""Policy describing who can access a service and any visibility labels on 2521 that service. 2522 2523 Messages: 2524 VisibilityLabelAccessListsValue: ACLs for access to restricted parts of 2525 the service. The map key is the visibility label that is being 2526 controlled. Note that access to any label also implies access to the 2527 unrestricted surface. 2528 2529 Fields: 2530 accessList: ACL for access to the unrestricted surface of the service. 2531 serviceName: The service protected by this policy. 2532 visibilityLabelAccessLists: ACLs for access to restricted parts of the 2533 service. The map key is the visibility label that is being controlled. 2534 Note that access to any label also implies access to the unrestricted 2535 surface. 2536 """ 2537 2538 @encoding.MapUnrecognizedFields('additionalProperties') 2539 class VisibilityLabelAccessListsValue(_messages.Message): 2540 r"""ACLs for access to restricted parts of the service. The map key is 2541 the visibility label that is being controlled. Note that access to any 2542 label also implies access to the unrestricted surface. 2543 2544 Messages: 2545 AdditionalProperty: An additional property for a 2546 VisibilityLabelAccessListsValue object. 2547 2548 Fields: 2549 additionalProperties: Additional properties of type 2550 VisibilityLabelAccessListsValue 2551 """ 2552 2553 class AdditionalProperty(_messages.Message): 2554 r"""An additional property for a VisibilityLabelAccessListsValue object. 2555 2556 Fields: 2557 key: Name of the additional property. 2558 value: A ServiceAccessList attribute. 2559 """ 2560 2561 key = _messages.StringField(1) 2562 value = _messages.MessageField('ServiceAccessList', 2) 2563 2564 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2565 2566 accessList = _messages.MessageField('ServiceAccessList', 1) 2567 serviceName = _messages.StringField(2) 2568 visibilityLabelAccessLists = _messages.MessageField('VisibilityLabelAccessListsValue', 3) 2569 2570 2571class ServicemanagementOperationsGetRequest(_messages.Message): 2572 r"""A ServicemanagementOperationsGetRequest object. 2573 2574 Fields: 2575 operationsId: Part of `name`. The name of the operation resource. 2576 """ 2577 2578 operationsId = _messages.StringField(1, required=True) 2579 2580 2581class ServicemanagementServicesAccessPolicyQueryRequest(_messages.Message): 2582 r"""A ServicemanagementServicesAccessPolicyQueryRequest object. 2583 2584 Fields: 2585 serviceName: The service to query access for. 2586 userEmail: The user to query access for. 2587 """ 2588 2589 serviceName = _messages.StringField(1, required=True) 2590 userEmail = _messages.StringField(2) 2591 2592 2593class ServicemanagementServicesConfigsCreateRequest(_messages.Message): 2594 r"""A ServicemanagementServicesConfigsCreateRequest object. 2595 2596 Fields: 2597 service: A Service resource to be passed as the request body. 2598 serviceName: The name of the service. See the `ServiceManager` overview 2599 for naming requirements. For example: `example.googleapis.com`. 2600 """ 2601 2602 service = _messages.MessageField('Service', 1) 2603 serviceName = _messages.StringField(2, required=True) 2604 2605 2606class ServicemanagementServicesConfigsGetRequest(_messages.Message): 2607 r"""A ServicemanagementServicesConfigsGetRequest object. 2608 2609 Fields: 2610 configId: The id of the service config resource. Optional. If it is not 2611 specified, the latest version of config will be returned. 2612 serviceName: The name of the service. See the `ServiceManager` overview 2613 for naming requirements. For example: `example.googleapis.com`. 2614 """ 2615 2616 configId = _messages.StringField(1, required=True) 2617 serviceName = _messages.StringField(2, required=True) 2618 2619 2620class ServicemanagementServicesConfigsListRequest(_messages.Message): 2621 r"""A ServicemanagementServicesConfigsListRequest object. 2622 2623 Fields: 2624 pageSize: The max number of items to include in the response list. 2625 pageToken: The token of the page to retrieve. 2626 serviceName: The name of the service. See the `ServiceManager` overview 2627 for naming requirements. For example: `example.googleapis.com`. 2628 """ 2629 2630 pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32) 2631 pageToken = _messages.StringField(2) 2632 serviceName = _messages.StringField(3, required=True) 2633 2634 2635class ServicemanagementServicesConfigsSubmitRequest(_messages.Message): 2636 r"""A ServicemanagementServicesConfigsSubmitRequest object. 2637 2638 Fields: 2639 serviceName: The name of the service. See the `ServiceManager` overview 2640 for naming requirements. For example: `example.googleapis.com`. 2641 submitConfigSourceRequest: A SubmitConfigSourceRequest resource to be 2642 passed as the request body. 2643 """ 2644 2645 serviceName = _messages.StringField(1, required=True) 2646 submitConfigSourceRequest = _messages.MessageField('SubmitConfigSourceRequest', 2) 2647 2648 2649class ServicemanagementServicesCustomerSettingsGetRequest(_messages.Message): 2650 r"""A ServicemanagementServicesCustomerSettingsGetRequest object. 2651 2652 Enums: 2653 ViewValueValuesEnum: Request only fields for the specified view. 2654 2655 Fields: 2656 customerId: ID for the customer. See the comment for 2657 `CustomerSettings.customer_id` field of message for its format. This 2658 field is required. 2659 expand: Fields to expand in any results. 2660 serviceName: The name of the service. See the `ServiceManager` overview 2661 for naming requirements. For example: `example.googleapis.com`. This 2662 field is required. 2663 view: Request only fields for the specified view. 2664 """ 2665 2666 class ViewValueValuesEnum(_messages.Enum): 2667 r"""Request only fields for the specified view. 2668 2669 Values: 2670 PROJECT_SETTINGS_VIEW_UNSPECIFIED: <no description> 2671 CONSUMER_VIEW: <no description> 2672 PRODUCER_VIEW: <no description> 2673 ALL: <no description> 2674 """ 2675 PROJECT_SETTINGS_VIEW_UNSPECIFIED = 0 2676 CONSUMER_VIEW = 1 2677 PRODUCER_VIEW = 2 2678 ALL = 3 2679 2680 customerId = _messages.StringField(1, required=True) 2681 expand = _messages.StringField(2) 2682 serviceName = _messages.StringField(3, required=True) 2683 view = _messages.EnumField('ViewValueValuesEnum', 4) 2684 2685 2686class ServicemanagementServicesCustomerSettingsPatchRequest(_messages.Message): 2687 r"""A ServicemanagementServicesCustomerSettingsPatchRequest object. 2688 2689 Fields: 2690 customerId: ID for the customer. See the comment for 2691 `CustomerSettings.customer_id` field of message for its format. This 2692 field is required. 2693 customerSettings: A CustomerSettings resource to be passed as the request 2694 body. 2695 serviceName: The name of the service. See the `ServiceManager` overview 2696 for naming requirements. For example: `example.googleapis.com`. This 2697 field is required. 2698 updateMask: The field mask specifying which fields are to be updated. 2699 """ 2700 2701 customerId = _messages.StringField(1, required=True) 2702 customerSettings = _messages.MessageField('CustomerSettings', 2) 2703 serviceName = _messages.StringField(3, required=True) 2704 updateMask = _messages.StringField(4) 2705 2706 2707class ServicemanagementServicesDeleteRequest(_messages.Message): 2708 r"""A ServicemanagementServicesDeleteRequest object. 2709 2710 Fields: 2711 serviceName: The name of the service. See the `ServiceManager` overview 2712 for naming requirements. For example: `example.googleapis.com`. 2713 """ 2714 2715 serviceName = _messages.StringField(1, required=True) 2716 2717 2718class ServicemanagementServicesDisableRequest(_messages.Message): 2719 r"""A ServicemanagementServicesDisableRequest object. 2720 2721 Fields: 2722 disableServiceRequest: A DisableServiceRequest resource to be passed as 2723 the request body. 2724 serviceName: Name of the service to disable. Specifying an unknown service 2725 name will cause the request to fail. 2726 """ 2727 2728 disableServiceRequest = _messages.MessageField('DisableServiceRequest', 1) 2729 serviceName = _messages.StringField(2, required=True) 2730 2731 2732class ServicemanagementServicesEnableRequest(_messages.Message): 2733 r"""A ServicemanagementServicesEnableRequest object. 2734 2735 Fields: 2736 enableServiceRequest: A EnableServiceRequest resource to be passed as the 2737 request body. 2738 serviceName: Name of the service to enable. Specifying an unknown service 2739 name will cause the request to fail. 2740 """ 2741 2742 enableServiceRequest = _messages.MessageField('EnableServiceRequest', 1) 2743 serviceName = _messages.StringField(2, required=True) 2744 2745 2746class ServicemanagementServicesGetAccessPolicyRequest(_messages.Message): 2747 r"""A ServicemanagementServicesGetAccessPolicyRequest object. 2748 2749 Fields: 2750 serviceName: The name of the service. For example: 2751 `example.googleapis.com`. 2752 """ 2753 2754 serviceName = _messages.StringField(1, required=True) 2755 2756 2757class ServicemanagementServicesGetConfigRequest(_messages.Message): 2758 r"""A ServicemanagementServicesGetConfigRequest object. 2759 2760 Fields: 2761 configId: The id of the service config resource. Optional. If it is not 2762 specified, the latest version of config will be returned. 2763 serviceName: The name of the service. See the `ServiceManager` overview 2764 for naming requirements. For example: `example.googleapis.com`. 2765 """ 2766 2767 configId = _messages.StringField(1) 2768 serviceName = _messages.StringField(2, required=True) 2769 2770 2771class ServicemanagementServicesGetRequest(_messages.Message): 2772 r"""A ServicemanagementServicesGetRequest object. 2773 2774 Enums: 2775 ViewValueValuesEnum: If project_settings is expanded, request only fields 2776 for the specified view. 2777 2778 Fields: 2779 consumerProjectId: If project_settings is expanded, return settings for 2780 the specified consumer project. 2781 expand: Fields to expand in any results. By default, the following fields 2782 are not present in the result: - `operations` - `project_settings` - 2783 `project_settings.operations` - `quota_usage` (It requires 2784 `project_settings`) - `historical_quota_usage` (It requires 2785 `project_settings`) 2786 serviceName: The name of the service. See the `ServiceManager` overview 2787 for naming requirements. For example: `example.googleapis.com`. 2788 view: If project_settings is expanded, request only fields for the 2789 specified view. 2790 """ 2791 2792 class ViewValueValuesEnum(_messages.Enum): 2793 r"""If project_settings is expanded, request only fields for the specified 2794 view. 2795 2796 Values: 2797 PROJECT_SETTINGS_VIEW_UNSPECIFIED: <no description> 2798 CONSUMER_VIEW: <no description> 2799 PRODUCER_VIEW: <no description> 2800 ALL: <no description> 2801 """ 2802 PROJECT_SETTINGS_VIEW_UNSPECIFIED = 0 2803 CONSUMER_VIEW = 1 2804 PRODUCER_VIEW = 2 2805 ALL = 3 2806 2807 consumerProjectId = _messages.StringField(1) 2808 expand = _messages.StringField(2) 2809 serviceName = _messages.StringField(3, required=True) 2810 view = _messages.EnumField('ViewValueValuesEnum', 4) 2811 2812 2813class ServicemanagementServicesListRequest(_messages.Message): 2814 r"""A ServicemanagementServicesListRequest object. 2815 2816 Fields: 2817 category: Include services only in the specified category. Supported 2818 categories are servicemanagement.googleapis.com/categories/google- 2819 services or servicemanagement.googleapis.com/categories/play-games. 2820 consumerProjectId: Include services consumed by the specified project. If 2821 project_settings is expanded, then this field controls which project 2822 project_settings is populated for. 2823 expand: Fields to expand in any results. By default, the following fields 2824 are not fully included in list results: - `operations` - 2825 `project_settings` - `project_settings.operations` - `quota_usage` (It 2826 requires `project_settings`) 2827 pageSize: Requested size of the next page of data. 2828 pageToken: Token identifying which result to start with; returned by a 2829 previous list call. 2830 producerProjectId: Include services produced by the specified project. 2831 """ 2832 2833 category = _messages.StringField(1) 2834 consumerProjectId = _messages.StringField(2) 2835 expand = _messages.StringField(3) 2836 pageSize = _messages.IntegerField(4, variant=_messages.Variant.INT32) 2837 pageToken = _messages.StringField(5) 2838 producerProjectId = _messages.StringField(6) 2839 2840 2841class ServicemanagementServicesPatchConfigRequest(_messages.Message): 2842 r"""A ServicemanagementServicesPatchConfigRequest object. 2843 2844 Fields: 2845 service: A Service resource to be passed as the request body. 2846 serviceName: The name of the service. See the `ServiceManager` overview 2847 for naming requirements. For example: `example.googleapis.com`. 2848 updateMask: A mask specifying which fields to update. 2849 """ 2850 2851 service = _messages.MessageField('Service', 1) 2852 serviceName = _messages.StringField(2, required=True) 2853 updateMask = _messages.StringField(3) 2854 2855 2856class ServicemanagementServicesPatchRequest(_messages.Message): 2857 r"""A ServicemanagementServicesPatchRequest object. 2858 2859 Fields: 2860 managedService: A ManagedService resource to be passed as the request 2861 body. 2862 serviceName: The name of the service. See the `ServiceManager` overview 2863 for naming requirements. For example: `example.googleapis.com`. 2864 updateMask: A mask specifying which fields to update. 2865 """ 2866 2867 managedService = _messages.MessageField('ManagedService', 1) 2868 serviceName = _messages.StringField(2, required=True) 2869 updateMask = _messages.StringField(3) 2870 2871 2872class ServicemanagementServicesProjectSettingsGetRequest(_messages.Message): 2873 r"""A ServicemanagementServicesProjectSettingsGetRequest object. 2874 2875 Enums: 2876 ViewValueValuesEnum: Request only the fields for the specified view. 2877 2878 Fields: 2879 consumerProjectId: The project ID of the consumer. 2880 expand: Fields to expand in any results. By default, the following fields 2881 are not present in the result: - `operations` - `quota_usage` 2882 serviceName: The name of the service. See the `ServiceManager` overview 2883 for naming requirements. For example: `example.googleapis.com`. 2884 view: Request only the fields for the specified view. 2885 """ 2886 2887 class ViewValueValuesEnum(_messages.Enum): 2888 r"""Request only the fields for the specified view. 2889 2890 Values: 2891 PROJECT_SETTINGS_VIEW_UNSPECIFIED: <no description> 2892 CONSUMER_VIEW: <no description> 2893 PRODUCER_VIEW: <no description> 2894 ALL: <no description> 2895 """ 2896 PROJECT_SETTINGS_VIEW_UNSPECIFIED = 0 2897 CONSUMER_VIEW = 1 2898 PRODUCER_VIEW = 2 2899 ALL = 3 2900 2901 consumerProjectId = _messages.StringField(1, required=True) 2902 expand = _messages.StringField(2) 2903 serviceName = _messages.StringField(3, required=True) 2904 view = _messages.EnumField('ViewValueValuesEnum', 4) 2905 2906 2907class ServicemanagementServicesProjectSettingsPatchRequest(_messages.Message): 2908 r"""A ServicemanagementServicesProjectSettingsPatchRequest object. 2909 2910 Fields: 2911 consumerProjectId: The project ID of the consumer. 2912 projectSettings: A ProjectSettings resource to be passed as the request 2913 body. 2914 serviceName: The name of the service. See the `ServiceManager` overview 2915 for naming requirements. For example: `example.googleapis.com`. 2916 updateMask: The field mask specifying which fields are to be updated. 2917 """ 2918 2919 consumerProjectId = _messages.StringField(1, required=True) 2920 projectSettings = _messages.MessageField('ProjectSettings', 2) 2921 serviceName = _messages.StringField(3, required=True) 2922 updateMask = _messages.StringField(4) 2923 2924 2925class ServicemanagementServicesUpdateConfigRequest(_messages.Message): 2926 r"""A ServicemanagementServicesUpdateConfigRequest object. 2927 2928 Fields: 2929 service: A Service resource to be passed as the request body. 2930 serviceName: The name of the service. See the `ServiceManager` overview 2931 for naming requirements. For example: `example.googleapis.com`. 2932 updateMask: A mask specifying which fields to update. Update mask has been 2933 deprecated on UpdateServiceConfig service method. Please use 2934 PatchServiceConfig method instead to do partial updates. 2935 """ 2936 2937 service = _messages.MessageField('Service', 1) 2938 serviceName = _messages.StringField(2, required=True) 2939 updateMask = _messages.StringField(3) 2940 2941 2942class ServicemanagementServicesUpdateRequest(_messages.Message): 2943 r"""A ServicemanagementServicesUpdateRequest object. 2944 2945 Fields: 2946 managedService: A ManagedService resource to be passed as the request 2947 body. 2948 serviceName: The name of the service. See the `ServiceManager` overview 2949 for naming requirements. For example: `example.googleapis.com`. 2950 updateMask: A mask specifying which fields to update. Update mask has been 2951 deprecated on UpdateService service method. Please use PatchService 2952 method instead to do partial updates. 2953 """ 2954 2955 managedService = _messages.MessageField('ManagedService', 1) 2956 serviceName = _messages.StringField(2, required=True) 2957 updateMask = _messages.StringField(3) 2958 2959 2960class SourceContext(_messages.Message): 2961 r"""`SourceContext` represents information about the source of a protobuf 2962 element, like the file in which it is defined. 2963 2964 Fields: 2965 fileName: The path-qualified name of the .proto file that contained the 2966 associated protobuf element. For example: 2967 `"google/protobuf/source_context.proto"`. 2968 """ 2969 2970 fileName = _messages.StringField(1) 2971 2972 2973class StandardQueryParameters(_messages.Message): 2974 r"""Query parameters accepted by all methods. 2975 2976 Enums: 2977 FXgafvValueValuesEnum: V1 error format. 2978 AltValueValuesEnum: Data format for response. 2979 2980 Fields: 2981 f__xgafv: V1 error format. 2982 access_token: OAuth access token. 2983 alt: Data format for response. 2984 bearer_token: OAuth bearer token. 2985 callback: JSONP 2986 fields: Selector specifying which fields to include in a partial response. 2987 key: API key. Your API key identifies your project and provides you with 2988 API access, quota, and reports. Required unless you provide an OAuth 2.0 2989 token. 2990 oauth_token: OAuth 2.0 token for the current user. 2991 pp: Pretty-print response. 2992 prettyPrint: Returns response with indentations and line breaks. 2993 quotaUser: Available to use for quota purposes for server-side 2994 applications. Can be any arbitrary string assigned to a user, but should 2995 not exceed 40 characters. 2996 trace: A tracing token of the form "token:<tokenid>" to include in api 2997 requests. 2998 uploadType: Legacy upload protocol for media (e.g. "media", "multipart"). 2999 upload_protocol: Upload protocol for media (e.g. "raw", "multipart"). 3000 """ 3001 3002 class AltValueValuesEnum(_messages.Enum): 3003 r"""Data format for response. 3004 3005 Values: 3006 json: Responses with Content-Type of application/json 3007 media: Media download with context-dependent Content-Type 3008 proto: Responses with Content-Type of application/x-protobuf 3009 """ 3010 json = 0 3011 media = 1 3012 proto = 2 3013 3014 class FXgafvValueValuesEnum(_messages.Enum): 3015 r"""V1 error format. 3016 3017 Values: 3018 _1: v1 error format 3019 _2: v2 error format 3020 """ 3021 _1 = 0 3022 _2 = 1 3023 3024 f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1) 3025 access_token = _messages.StringField(2) 3026 alt = _messages.EnumField('AltValueValuesEnum', 3, default=u'json') 3027 bearer_token = _messages.StringField(4) 3028 callback = _messages.StringField(5) 3029 fields = _messages.StringField(6) 3030 key = _messages.StringField(7) 3031 oauth_token = _messages.StringField(8) 3032 pp = _messages.BooleanField(9, default=True) 3033 prettyPrint = _messages.BooleanField(10, default=True) 3034 quotaUser = _messages.StringField(11) 3035 trace = _messages.StringField(12) 3036 uploadType = _messages.StringField(13) 3037 upload_protocol = _messages.StringField(14) 3038 3039 3040class Status(_messages.Message): 3041 r"""The `Status` type defines a logical error model that is suitable for 3042 different programming environments, including REST APIs and RPC APIs. It is 3043 used by [gRPC](https://github.com/grpc). The error model is designed to be: 3044 - Simple to use and understand for most users - Flexible enough to meet 3045 unexpected needs # Overview The `Status` message contains three pieces of 3046 data: error code, error message, and error details. The error code should be 3047 an enum value of google.rpc.Code, but it may accept additional error codes 3048 if needed. The error message should be a developer-facing English message 3049 that helps developers *understand* and *resolve* the error. If a localized 3050 user-facing error message is needed, put the localized message in the error 3051 details or localize it in the client. The optional error details may contain 3052 arbitrary information about the error. There is a predefined set of error 3053 detail types in the package `google.rpc` which can be used for common error 3054 conditions. # Language mapping The `Status` message is the logical 3055 representation of the error model, but it is not necessarily the actual wire 3056 format. When the `Status` message is exposed in different client libraries 3057 and different wire protocols, it can be mapped differently. For example, it 3058 will likely be mapped to some exceptions in Java, but more likely mapped to 3059 some error codes in C. # Other uses The error model and the `Status` 3060 message can be used in a variety of environments, either with or without 3061 APIs, to provide a consistent developer experience across different 3062 environments. Example uses of this error model include: - Partial errors. 3063 If a service needs to return partial errors to the client, it may embed 3064 the `Status` in the normal response to indicate the partial errors. - 3065 Workflow errors. A typical workflow has multiple steps. Each step may 3066 have a `Status` message for error reporting purpose. - Batch operations. If 3067 a client uses batch request and batch response, the `Status` message 3068 should be used directly inside batch response, one for each error sub- 3069 response. - Asynchronous operations. If an API call embeds asynchronous 3070 operation results in its response, the status of those operations should 3071 be represented directly using the `Status` message. - Logging. If some 3072 API errors are stored in logs, the message `Status` could be used 3073 directly after any stripping needed for security/privacy reasons. 3074 3075 Messages: 3076 DetailsValueListEntry: A DetailsValueListEntry object. 3077 3078 Fields: 3079 code: The status code, which should be an enum value of google.rpc.Code. 3080 details: A list of messages that carry the error details. There will be a 3081 common set of message types for APIs to use. 3082 message: A developer-facing error message, which should be in English. Any 3083 user-facing error message should be localized and sent in the 3084 google.rpc.Status.details field, or localized by the client. 3085 """ 3086 3087 @encoding.MapUnrecognizedFields('additionalProperties') 3088 class DetailsValueListEntry(_messages.Message): 3089 r"""A DetailsValueListEntry object. 3090 3091 Messages: 3092 AdditionalProperty: An additional property for a DetailsValueListEntry 3093 object. 3094 3095 Fields: 3096 additionalProperties: Properties of the object. Contains field @type 3097 with type URL. 3098 """ 3099 3100 class AdditionalProperty(_messages.Message): 3101 r"""An additional property for a DetailsValueListEntry object. 3102 3103 Fields: 3104 key: Name of the additional property. 3105 value: A extra_types.JsonValue attribute. 3106 """ 3107 3108 key = _messages.StringField(1) 3109 value = _messages.MessageField('extra_types.JsonValue', 2) 3110 3111 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 3112 3113 code = _messages.IntegerField(1, variant=_messages.Variant.INT32) 3114 details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True) 3115 message = _messages.StringField(3) 3116 3117 3118class Step(_messages.Message): 3119 r"""Represents the status of one operation step. 3120 3121 Enums: 3122 StatusValueValuesEnum: The status code. 3123 3124 Fields: 3125 description: The short description of the step. 3126 status: The status code. 3127 """ 3128 3129 class StatusValueValuesEnum(_messages.Enum): 3130 r"""The status code. 3131 3132 Values: 3133 STATUS_UNSPECIFIED: Unspecifed code. 3134 DONE: The step has completed without errors. 3135 NOT_STARTED: The step has not started yet. 3136 IN_PROGRESS: The step is in progress. 3137 FAILED: The step has completed with errors. 3138 """ 3139 STATUS_UNSPECIFIED = 0 3140 DONE = 1 3141 NOT_STARTED = 2 3142 IN_PROGRESS = 3 3143 FAILED = 4 3144 3145 description = _messages.StringField(1) 3146 status = _messages.EnumField('StatusValueValuesEnum', 2) 3147 3148 3149class SubmitConfigSourceRequest(_messages.Message): 3150 r"""Request message for SubmitConfigSource method. 3151 3152 Fields: 3153 configSource: The source configuration for the service. 3154 validateOnly: Optional. If set, this will result in the generation of a 3155 `google.api.Service` configuration based on the `ConfigSource` provided, 3156 but the generated config and the sources will NOT be persisted. 3157 """ 3158 3159 configSource = _messages.MessageField('ConfigSource', 1) 3160 validateOnly = _messages.BooleanField(2) 3161 3162 3163class SwaggerSpec(_messages.Message): 3164 r"""A collection of swagger specification files. 3165 3166 Fields: 3167 swaggerFiles: The individual files. 3168 """ 3169 3170 swaggerFiles = _messages.MessageField('File', 1, repeated=True) 3171 3172 3173class SystemParameter(_messages.Message): 3174 r"""Define a parameter's name and location. The parameter may be passed as 3175 either an HTTP header or a URL query parameter, and if both are passed the 3176 behavior is implementation-dependent. 3177 3178 Fields: 3179 httpHeader: Define the HTTP header name to use for the parameter. It is 3180 case insensitive. 3181 name: Define the name of the parameter, such as "api_key", "alt", 3182 "callback", and etc. It is case sensitive. 3183 urlQueryParameter: Define the URL query parameter name to use for the 3184 parameter. It is case sensitive. 3185 """ 3186 3187 httpHeader = _messages.StringField(1) 3188 name = _messages.StringField(2) 3189 urlQueryParameter = _messages.StringField(3) 3190 3191 3192class SystemParameterRule(_messages.Message): 3193 r"""Define a system parameter rule mapping system parameter definitions to 3194 methods. 3195 3196 Fields: 3197 parameters: Define parameters. Multiple names may be defined for a 3198 parameter. For a given method call, only one of them should be used. If 3199 multiple names are used the behavior is implementation-dependent. If 3200 none of the specified names are present the behavior is parameter- 3201 dependent. 3202 selector: Selects the methods to which this rule applies. Use '*' to 3203 indicate all methods in all APIs. Refer to selector for syntax details. 3204 """ 3205 3206 parameters = _messages.MessageField('SystemParameter', 1, repeated=True) 3207 selector = _messages.StringField(2) 3208 3209 3210class SystemParameters(_messages.Message): 3211 r"""### System parameter configuration A system parameter is a special kind 3212 of parameter defined by the API system, not by an individual API. It is 3213 typically mapped to an HTTP header and/or a URL query parameter. This 3214 configuration specifies which methods change the names of the system 3215 parameters. 3216 3217 Fields: 3218 rules: Define system parameters. The parameters defined here will 3219 override the default parameters implemented by the system. If this field 3220 is missing from the service config, default system parameters will be 3221 used. Default system parameters and names is implementation-dependent. 3222 Example: define api key and alt name for all methods system_parameters 3223 rules: - selector: "*" parameters: - name: api_key 3224 url_query_parameter: api_key - name: alt http_header: 3225 Response-Content-Type Example: define 2 api key names for a specific 3226 method. system_parameters rules: - selector: "/ListShelves" 3227 parameters: - name: api_key http_header: Api-Key1 3228 - name: api_key http_header: Api-Key2 3229 """ 3230 3231 rules = _messages.MessageField('SystemParameterRule', 1, repeated=True) 3232 3233 3234class Type(_messages.Message): 3235 r"""A protocol buffer message type. 3236 3237 Enums: 3238 SyntaxValueValuesEnum: The source syntax. 3239 3240 Fields: 3241 fields: The list of fields. 3242 name: The fully qualified message name. 3243 oneofs: The list of types appearing in `oneof` definitions in this type. 3244 options: The protocol buffer options. 3245 sourceContext: The source context. 3246 syntax: The source syntax. 3247 """ 3248 3249 class SyntaxValueValuesEnum(_messages.Enum): 3250 r"""The source syntax. 3251 3252 Values: 3253 SYNTAX_PROTO2: Syntax `proto2`. 3254 SYNTAX_PROTO3: Syntax `proto3`. 3255 """ 3256 SYNTAX_PROTO2 = 0 3257 SYNTAX_PROTO3 = 1 3258 3259 fields = _messages.MessageField('Field', 1, repeated=True) 3260 name = _messages.StringField(2) 3261 oneofs = _messages.StringField(3, repeated=True) 3262 options = _messages.MessageField('Option', 4, repeated=True) 3263 sourceContext = _messages.MessageField('SourceContext', 5) 3264 syntax = _messages.EnumField('SyntaxValueValuesEnum', 6) 3265 3266 3267class Usage(_messages.Message): 3268 r"""Configuration controlling usage of a service. 3269 3270 Enums: 3271 ServiceAccessValueValuesEnum: Controls which users can see or activate the 3272 service. 3273 3274 Fields: 3275 activationHooks: Services that must be contacted before a consumer can 3276 begin using the service. Each service will be contacted in sequence, 3277 and, if any activation call fails, the entire activation will fail. Each 3278 hook is of the form <service.name>/<hook-id>, where <hook-id> is 3279 optional; for example: 'robotservice.googleapis.com/default'. 3280 deactivationHooks: Services that must be contacted before a consumer can 3281 deactivate a service. Each service will be contacted in sequence, and, 3282 if any deactivation call fails, the entire deactivation will fail. Each 3283 hook is of the form <service.name>/<hook-id>, where <hook-id> is 3284 optional; for example: 'compute.googleapis.com/'. 3285 dependsOnServices: Services that must be activated in order for this 3286 service to be used. The set of services activated as a result of these 3287 relations are all activated in parallel with no guaranteed order of 3288 activation. Each string is a service name, e.g. 3289 `calendar.googleapis.com`. 3290 requirements: Requirements that must be satisfied before a consumer 3291 project can use the service. Each requirement is of the form 3292 <service.name>/<requirement-id>; for example 3293 'serviceusage.googleapis.com/billing-enabled'. 3294 rules: Individual rules for configuring usage on selected methods. 3295 serviceAccess: Controls which users can see or activate the service. 3296 """ 3297 3298 class ServiceAccessValueValuesEnum(_messages.Enum): 3299 r"""Controls which users can see or activate the service. 3300 3301 Values: 3302 RESTRICTED: The service can only be seen/used by users identified in the 3303 service's access control policy. If the service has not been 3304 whitelisted by your domain administrator for out-of-org publishing, 3305 then this mode will be treated like ORG_RESTRICTED. 3306 PUBLIC: The service can be seen/used by anyone. If the service has not 3307 been whitelisted by your domain administrator for out-of-org 3308 publishing, then this mode will be treated like ORG_PUBLIC. The 3309 discovery document for the service will also be public and allow 3310 unregistered access. 3311 ORG_RESTRICTED: The service can be seen/used by users identified in the 3312 service's access control policy and they are within the organization 3313 that owns the service. Access is further constrained to the group 3314 controlled by the administrator of the project/org that owns the 3315 service. 3316 ORG_PUBLIC: The service can be seen/used by the group of users 3317 controlled by the administrator of the project/org that owns the 3318 service. 3319 """ 3320 RESTRICTED = 0 3321 PUBLIC = 1 3322 ORG_RESTRICTED = 2 3323 ORG_PUBLIC = 3 3324 3325 activationHooks = _messages.StringField(1, repeated=True) 3326 deactivationHooks = _messages.StringField(2, repeated=True) 3327 dependsOnServices = _messages.StringField(3, repeated=True) 3328 requirements = _messages.StringField(4, repeated=True) 3329 rules = _messages.MessageField('UsageRule', 5, repeated=True) 3330 serviceAccess = _messages.EnumField('ServiceAccessValueValuesEnum', 6) 3331 3332 3333class UsageRule(_messages.Message): 3334 r"""Usage configuration rules for the service. NOTE: Under development. 3335 Use this rule to configure unregistered calls for the service. Unregistered 3336 calls are calls that do not contain consumer project identity. (Example: 3337 calls that do not contain an API key). By default, API methods do not allow 3338 unregistered calls, and each method call must be identified by a consumer 3339 project identity. Use this rule to allow/disallow unregistered calls. 3340 Example of an API that wants to allow unregistered calls for entire service. 3341 usage: rules: - selector: "*" allow_unregistered_calls: 3342 true Example of a method that wants to allow unregistered calls. 3343 usage: rules: - selector: 3344 "google.example.library.v1.LibraryService.CreateBook" 3345 allow_unregistered_calls: true 3346 3347 Fields: 3348 allowUnregisteredCalls: True, if the method allows unregistered calls; 3349 false otherwise. 3350 selector: Selects the methods to which this rule applies. Use '*' to 3351 indicate all methods in all APIs. Refer to selector for syntax details. 3352 """ 3353 3354 allowUnregisteredCalls = _messages.BooleanField(1) 3355 selector = _messages.StringField(2) 3356 3357 3358class UsageSettings(_messages.Message): 3359 r"""Usage settings for a consumer of a service. 3360 3361 Enums: 3362 ConsumerEnableStatusValueValuesEnum: Consumer controlled setting to 3363 enable/disable use of this service by the consumer project. The default 3364 value of this is controlled by the service configuration. 3365 3366 Fields: 3367 consumerEnableStatus: Consumer controlled setting to enable/disable use of 3368 this service by the consumer project. The default value of this is 3369 controlled by the service configuration. 3370 """ 3371 3372 class ConsumerEnableStatusValueValuesEnum(_messages.Enum): 3373 r"""Consumer controlled setting to enable/disable use of this service by 3374 the consumer project. The default value of this is controlled by the 3375 service configuration. 3376 3377 Values: 3378 DISABLED: The service is disabled. 3379 ENABLED: The service is enabled. 3380 """ 3381 DISABLED = 0 3382 ENABLED = 1 3383 3384 consumerEnableStatus = _messages.EnumField('ConsumerEnableStatusValueValuesEnum', 1) 3385 3386 3387class VariableTermQuota(_messages.Message): 3388 r"""A variable term quota is a bucket of tokens that is consumed over a 3389 specified (usually long) time period. When present, it overrides any "1d" 3390 duration per-project quota specified on the group. Variable terms run from 3391 midnight to midnight, start_date to end_date (inclusive) in the 3392 America/Los_Angeles time zone. 3393 3394 Fields: 3395 createTime: Time when this variable term quota was created. If multiple 3396 quotas are simultaneously active, then the quota with the latest 3397 create_time is the effective one. 3398 displayEndDate: The displayed end of the active period for the variable 3399 term quota. This may be before the effective end to give the user a 3400 grace period. YYYYMMdd date format, e.g. 20140730. 3401 endDate: The effective end of the active period for the variable term 3402 quota (inclusive). This must be no more than 5 years after start_date. 3403 YYYYMMdd date format, e.g. 20140730. 3404 groupName: The quota group that has the variable term quota applied to it. 3405 This must be a google.api.QuotaGroup.name specified in the service 3406 configuration. 3407 limit: The number of tokens available during the configured term. 3408 quotaUsage: The usage data of this quota. 3409 startDate: The beginning of the active period for the variable term quota. 3410 YYYYMMdd date format, e.g. 20140730. 3411 """ 3412 3413 createTime = _messages.StringField(1) 3414 displayEndDate = _messages.StringField(2) 3415 endDate = _messages.StringField(3) 3416 groupName = _messages.StringField(4) 3417 limit = _messages.IntegerField(5) 3418 quotaUsage = _messages.MessageField('QuotaUsage', 6) 3419 startDate = _messages.StringField(7) 3420 3421 3422class Visibility(_messages.Message): 3423 r"""`Visibility` defines restrictions for the visibility of service 3424 elements. Restrictions are specified using visibility labels (e.g., 3425 TRUSTED_TESTER) that are elsewhere linked to users and projects. Users and 3426 projects can have access to more than one visibility label. The effective 3427 visibility for multiple labels is the union of each label's elements, plus 3428 any unrestricted elements. If an element and its parents have no 3429 restrictions, visibility is unconditionally granted. Example: 3430 visibility: rules: - selector: 3431 google.calendar.Calendar.EnhancedSearch restriction: TRUSTED_TESTER 3432 - selector: google.calendar.Calendar.Delegate restriction: 3433 GOOGLE_INTERNAL Here, all methods are publicly visible except for the 3434 restricted methods EnhancedSearch and Delegate. 3435 3436 Fields: 3437 enforceRuntimeVisibility: Controls whether visibility rules are enforced 3438 at runtime for requests to all APIs and methods. If true, requests 3439 without method visibility will receive a NOT_FOUND error, and any non- 3440 visible fields will be scrubbed from the response messages. In service 3441 config version 0, the default is false. In later config versions, it's 3442 true. Note, the `enforce_runtime_visibility` specified in a visibility 3443 rule overrides this setting for the APIs or methods asscoiated with the 3444 rule. 3445 rules: A list of visibility rules providing visibility configuration for 3446 individual API elements. 3447 """ 3448 3449 enforceRuntimeVisibility = _messages.BooleanField(1) 3450 rules = _messages.MessageField('VisibilityRule', 2, repeated=True) 3451 3452 3453class VisibilityRule(_messages.Message): 3454 r"""A visibility rule provides visibility configuration for an individual 3455 API element. 3456 3457 Fields: 3458 enforceRuntimeVisibility: Controls whether visibility is enforced at 3459 runtime for requests to an API method. This setting has meaning only 3460 when the selector applies to a method or an API. If true, requests 3461 without method visibility will receive a NOT_FOUND error, and any non- 3462 visible fields will be scrubbed from the response messages. The default 3463 is determined by the value of 3464 google.api.Visibility.enforce_runtime_visibility. 3465 restriction: Lists the visibility labels for this rule. Any of the listed 3466 labels grants visibility to the element. If a rule has multiple labels, 3467 removing one of the labels but not all of them can break clients. 3468 Example: visibility: rules: - selector: 3469 google.calendar.Calendar.EnhancedSearch restriction: 3470 GOOGLE_INTERNAL, TRUSTED_TESTER Removing GOOGLE_INTERNAL from this 3471 restriction will break clients that rely on this method and only had 3472 access to it through GOOGLE_INTERNAL. 3473 selector: Selects methods, messages, fields, enums, etc. to which this 3474 rule applies. Refer to selector for syntax details. 3475 """ 3476 3477 enforceRuntimeVisibility = _messages.BooleanField(1) 3478 restriction = _messages.StringField(2) 3479 selector = _messages.StringField(3) 3480 3481 3482class VisibilitySettings(_messages.Message): 3483 r"""Settings that control which features of the service are visible to the 3484 consumer project. 3485 3486 Fields: 3487 visibilityLabels: The set of visibility labels that are used to determine 3488 what API surface is visible to calls made by this project. The visible 3489 surface is a union of the surface features associated with each label 3490 listed here, plus the publicly visible (unrestricted) surface. The 3491 service producer may add or remove labels at any time. The service 3492 consumer may add a label if the calling user has been granted permission 3493 to do so by the producer. The service consumer may also remove any 3494 label at any time. 3495 """ 3496 3497 visibilityLabels = _messages.StringField(1, repeated=True) 3498 3499 3500encoding.AddCustomJsonFieldMapping( 3501 StandardQueryParameters, 'f__xgafv', '$.xgafv') 3502encoding.AddCustomJsonEnumMapping( 3503 StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1') 3504encoding.AddCustomJsonEnumMapping( 3505 StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2') 3506