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 """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 """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 """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 """Configuration for an anthentication provider, including support for [JSON 94 Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web- 95 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 """User-defined authentication requirements, including support for [JSON Web 121 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 """`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 """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 """`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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """`Context` defines which contexts an API requests. Example: context: 439 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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """`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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """`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 """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 """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 """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 """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 """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 """Logging configuration of the service. The following example shows how to 1180 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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """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 """An object that describes the schema of a MonitoredResource object using a 1479 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 """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 """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 """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 """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 """This resource represents a long-running operation that is the result of a 1605 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 """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 """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 """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 """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 """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 """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 """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 """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 """Represents a documentation page. A page can contain subpages to represent 1771 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 """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 """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 """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 """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 """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 """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 """Contains a serialized protoc-generated protocol buffer message descriptor 1915 set along with a URL that describes the type of the descriptor message. 1916 1917 Fields: 1918 typeUrl: A URL/resource name whose content describes the type of the 1919 serialized protocol buffer message. Only 1920 'type.googleapis.com/google.protobuf.FileDescriptorSet' is supported. If 1921 the type_url is not specificed, 1922 'type.googleapis.com/google.protobuf.FileDescriptorSet' will be assumed. 1923 value: Must be a valid serialized protocol buffer descriptor set. To 1924 generate, use protoc with imports and source info included. For an 1925 example test.proto file, the following command would put the value in a 1926 new file named descriptor.pb. $protoc --include_imports 1927 --include_source_info test.proto -o descriptor.pb 1928 """ 1929 1930 typeUrl = _messages.StringField(1) 1931 value = _messages.BytesField(2) 1932 1933 1934class ProtoSpec(_messages.Message): 1935 """A collection of protocol buffer service specification files. 1936 1937 Fields: 1938 protoDescriptor: A complete descriptor of a protocol buffer specification 1939 """ 1940 1941 protoDescriptor = _messages.MessageField('ProtoDescriptor', 1) 1942 1943 1944class QueryUserAccessResponse(_messages.Message): 1945 """Request message for QueryUserAccess method. 1946 1947 Fields: 1948 accessibleVisibilityLabels: Any visibility labels on the service that are 1949 accessible by the user. 1950 canAccessService: True if the user can access the service and any 1951 unrestricted API surface. 1952 """ 1953 1954 accessibleVisibilityLabels = _messages.StringField(1, repeated=True) 1955 canAccessService = _messages.BooleanField(2) 1956 1957 1958class Quota(_messages.Message): 1959 """Quota configuration helps to achieve fairness and budgeting in service 1960 usage. - Fairness is achieved through the use of short-term quota limits 1961 that are usually defined over a time window of several seconds or minutes. 1962 When such a limit is applied, for example at the user level, it ensures 1963 that no single user will monopolize the service or a given customer's 1964 allocated portion of it. - Budgeting is achieved through the use of long- 1965 term quota limits that are usually defined over a time window of one or 1966 more days. These limits help client application developers predict the 1967 usage and help budgeting. Quota enforcement uses a simple token-based 1968 algorithm for resource sharing. The quota configuration structure is as 1969 follows: - `QuotaLimit` defines a single enforceable limit with a specified 1970 token amount that can be consumed over a specific duration and applies to 1971 a particular entity, like a project or an end user. If the limit applies 1972 to a user, each user making the request will get the specified number of 1973 tokens to consume. When the tokens run out, the requests from that user 1974 will be blocked until the duration elapses and the next duration window 1975 starts. - `QuotaGroup` groups a set of quota limits. - `QuotaRule` maps a 1976 method to a set of quota groups. This allows sharing of quota groups 1977 across methods as well as one method consuming tokens from more than one 1978 quota group. When a group contains multiple limits, requests to a method 1979 consuming tokens from that group must satisfy all the limits in that 1980 group. Example: quota: groups: - name: ReadGroup 1981 limits: - description: Daily Limit name: ProjectQpd 1982 default_limit: 10000 duration: 1d limit_by: 1983 CLIENT_PROJECT - description: Per-second Limit name: 1984 UserQps default_limit: 20000 duration: 100s 1985 limit_by: USER - name: WriteGroup limits: - 1986 description: Daily Limit name: ProjectQpd default_limit: 1987 1000 max_limit: 1000 duration: 1d limit_by: 1988 CLIENT_PROJECT - description: Per-second Limit name: 1989 UserQps default_limit: 2000 max_limit: 4000 1990 duration: 100s limit_by: USER rules: - selector: "*" 1991 groups: - group: ReadGroup - selector: 1992 google.calendar.Calendar.Update groups: - group: WriteGroup 1993 cost: 2 - selector: google.calendar.Calendar.Delete groups: 1994 - group: WriteGroup Here, the configuration defines two quota groups: 1995 ReadGroup and WriteGroup, each defining its own daily and per-second limits. 1996 Note that One Platform enforces per-second limits averaged over a duration 1997 of 100 seconds. The rules map ReadGroup for all methods, except for the 1998 Update and Delete methods. These two methods consume from WriteGroup, with 1999 Update method consuming at twice the rate as Delete method. Multiple quota 2000 groups can be specified for a method. The quota limits in all of those 2001 groups will be enforced. Example: quota: groups: - name: 2002 WriteGroup limits: - description: Daily Limit 2003 name: ProjectQpd default_limit: 1000 max_limit: 1000 2004 duration: 1d limit_by: CLIENT_PROJECT - description: Per- 2005 second Limit name: UserQps default_limit: 2000 2006 max_limit: 4000 duration: 100s limit_by: USER - 2007 name: StorageGroup limits: - description: Storage Quota 2008 name: StorageQuota default_limit: 1000 duration: 0 2009 limit_by: USER rules: - selector: 2010 google.calendar.Calendar.Create groups: - group: 2011 StorageGroup - group: WriteGroup - selector: 2012 google.calendar.Calendar.Delete groups: - group: 2013 StorageGroup In the above example, the Create and Delete methods manage the 2014 user's storage space. In addition, Create method uses WriteGroup to manage 2015 the requests. In this case, requests to Create method need to satisfy all 2016 quota limits defined in both quota groups. One can disable quota for 2017 selected method(s) identified by the selector by setting disable_quota to 2018 ture. For example, rules: - selector: "*" group: 2019 - group ReadGroup - selector: google.calendar.Calendar.Select 2020 disable_quota: true 2021 2022 Fields: 2023 groups: List of `QuotaGroup` definitions for the service. 2024 rules: List of `QuotaRule` definitions, each one mapping a selected method 2025 to one or more quota groups. 2026 """ 2027 2028 groups = _messages.MessageField('QuotaGroup', 1, repeated=True) 2029 rules = _messages.MessageField('QuotaRule', 2, repeated=True) 2030 2031 2032class QuotaGroup(_messages.Message): 2033 """`QuotaGroup` defines a set of quota limits to enforce. 2034 2035 Fields: 2036 billable: Indicates if the quota limits defined in this quota group apply 2037 to consumers who have active billing. Quota limits defined in billable 2038 groups will be applied only to consumers who have active billing. The 2039 amount of tokens consumed from billable quota group will also be 2040 reported for billing. Quota limits defined in non-billable groups will 2041 be applied only to consumers who have no active billing. 2042 description: User-visible description of this quota group. 2043 limits: Quota limits to be enforced when this quota group is used. A 2044 request must satisfy all the limits in a group for it to be permitted. 2045 name: Name of this quota group. Must be unique within the service. Quota 2046 group name is used as part of the id for quota limits. Once the quota 2047 group has been put into use, the name of the quota group should be 2048 immutable. 2049 """ 2050 2051 billable = _messages.BooleanField(1) 2052 description = _messages.StringField(2) 2053 limits = _messages.MessageField('QuotaLimit', 3, repeated=True) 2054 name = _messages.StringField(4) 2055 2056 2057class QuotaGroupMapping(_messages.Message): 2058 """A quota group mapping. 2059 2060 Fields: 2061 cost: Number of tokens to consume for each request. This allows different 2062 cost to be associated with different methods that consume from the same 2063 quota group. By default, each request will cost one token. 2064 group: The `QuotaGroup.name` of the group. Requests for the mapped methods 2065 will consume tokens from each of the limits defined in this group. 2066 """ 2067 2068 cost = _messages.IntegerField(1, variant=_messages.Variant.INT32) 2069 group = _messages.StringField(2) 2070 2071 2072class QuotaInfo(_messages.Message): 2073 """Metadata about an individual quota, containing usage and limit 2074 information. 2075 2076 Fields: 2077 currentUsage: The usage data for this quota as it applies to the current 2078 limit. 2079 historicalUsage: The historical usage data of this quota limit. Currently 2080 it is only available for daily quota limit, that is, base_limit.duration 2081 = "1d". 2082 limit: The effective limit for this quota. 2083 """ 2084 2085 currentUsage = _messages.MessageField('QuotaUsage', 1) 2086 historicalUsage = _messages.MessageField('QuotaUsage', 2, repeated=True) 2087 limit = _messages.MessageField('EffectiveQuotaLimit', 3) 2088 2089 2090class QuotaLimit(_messages.Message): 2091 """`QuotaLimit` defines a specific limit that applies over a specified 2092 duration for a limit type. There can be at most one limit for a duration and 2093 limit type combination defined within a `QuotaGroup`. 2094 2095 Enums: 2096 LimitByValueValuesEnum: Limit type to use for enforcing this quota limit. 2097 Each unique value gets the defined number of tokens to consume from. For 2098 a quota limit that uses user type, each user making requests through the 2099 same client application project will get his/her own pool of tokens to 2100 consume, whereas for a limit that uses client project type, all users 2101 making requests through the same client application project share a 2102 single pool of tokens. 2103 2104 Fields: 2105 defaultLimit: Default number of tokens that can be consumed during the 2106 specified duration. This is the number of tokens assigned when a client 2107 application developer activates the service for his/her project. 2108 Specifying a value of 0 will block all requests. This can be used if you 2109 are provisioning quota to selected consumers and blocking others. 2110 Similarly, a value of -1 will indicate an unlimited quota. No other 2111 negative values are allowed. 2112 description: Optional. User-visible, extended description for this quota 2113 limit. Should be used only when more context is needed to understand 2114 this limit than provided by the limit's display name (see: 2115 `display_name`). 2116 displayName: User-visible display name for this limit. Optional. If not 2117 set, the UI will provide a default display name based on the quota 2118 configuration. This field can be used to override the default display 2119 name generated from the configuration. 2120 duration: Duration of this limit in textual notation. Example: "100s", 2121 "24h", "1d". For duration longer than a day, only multiple of days is 2122 supported. We support only "100s" and "1d" for now. Additional support 2123 will be added in the future. "0" indicates indefinite duration. 2124 freeTier: Free tier value displayed in the Developers Console for this 2125 limit. The free tier is the number of tokens that will be subtracted 2126 from the billed amount when billing is enabled. This field can only be 2127 set on a limit with duration "1d", in a billable group; it is invalid on 2128 any other limit. If this field is not set, it defaults to 0, indicating 2129 that there is no free tier for this service. 2130 limitBy: Limit type to use for enforcing this quota limit. Each unique 2131 value gets the defined number of tokens to consume from. For a quota 2132 limit that uses user type, each user making requests through the same 2133 client application project will get his/her own pool of tokens to 2134 consume, whereas for a limit that uses client project type, all users 2135 making requests through the same client application project share a 2136 single pool of tokens. 2137 maxLimit: Maximum number of tokens that can be consumed during the 2138 specified duration. Client application developers can override the 2139 default limit up to this maximum. If specified, this value cannot be set 2140 to a value less than the default limit. If not specified, it is set to 2141 the default limit. To allow clients to apply overrides with no upper 2142 bound, set this to -1, indicating unlimited maximum quota. 2143 name: Name of the quota limit. Must be unique within the quota group. 2144 This name is used to refer to the limit when overriding the limit on a 2145 per-project basis. If a name is not provided, it will be generated from 2146 the limit_by and duration fields. The maximum length of the limit name 2147 is 64 characters. The name of a limit is used as a unique identifier 2148 for this limit. Therefore, once a limit has been put into use, its name 2149 should be immutable. You can use the display_name field to provide a 2150 user-friendly name for the limit. The display name can be evolved over 2151 time without affecting the identity of the limit. 2152 """ 2153 2154 class LimitByValueValuesEnum(_messages.Enum): 2155 """Limit type to use for enforcing this quota limit. Each unique value 2156 gets the defined number of tokens to consume from. For a quota limit that 2157 uses user type, each user making requests through the same client 2158 application project will get his/her own pool of tokens to consume, 2159 whereas for a limit that uses client project type, all users making 2160 requests through the same client application project share a single pool 2161 of tokens. 2162 2163 Values: 2164 CLIENT_PROJECT: ID of the project owned by the client application 2165 developer making the request. 2166 USER: ID of the end user making the request using the client 2167 application. 2168 """ 2169 CLIENT_PROJECT = 0 2170 USER = 1 2171 2172 defaultLimit = _messages.IntegerField(1) 2173 description = _messages.StringField(2) 2174 displayName = _messages.StringField(3) 2175 duration = _messages.StringField(4) 2176 freeTier = _messages.IntegerField(5) 2177 limitBy = _messages.EnumField('LimitByValueValuesEnum', 6) 2178 maxLimit = _messages.IntegerField(7) 2179 name = _messages.StringField(8) 2180 2181 2182class QuotaLimitOverride(_messages.Message): 2183 """Specifies a custom quota limit that is applied for this consumer project. 2184 This overrides the default value in google.api.QuotaLimit. 2185 2186 Fields: 2187 limit: The new limit for this project. May be -1 (unlimited), 0 (block), 2188 or any positive integer. 2189 unlimited: Indicates the override is to provide unlimited quota. If true, 2190 any value set for limit will be ignored. DEPRECATED. Use a limit value 2191 of -1 instead. 2192 """ 2193 2194 limit = _messages.IntegerField(1) 2195 unlimited = _messages.BooleanField(2) 2196 2197 2198class QuotaRule(_messages.Message): 2199 """`QuotaRule` maps a method to a set of `QuotaGroup`s. 2200 2201 Fields: 2202 disableQuota: Indicates if quota checking should be enforced. Quota will 2203 be disabled for methods without quota rules or with quota rules having 2204 this field set to true. When this field is set to true, no quota group 2205 mapping is allowed. 2206 groups: Quota groups to be used for this method. This supports associating 2207 a cost with each quota group. 2208 selector: Selects methods to which this rule applies. Refer to selector 2209 for syntax details. 2210 """ 2211 2212 disableQuota = _messages.BooleanField(1) 2213 groups = _messages.MessageField('QuotaGroupMapping', 2, repeated=True) 2214 selector = _messages.StringField(3) 2215 2216 2217class QuotaSettings(_messages.Message): 2218 """Per-consumer overrides for quota settings. See google/api/quota.proto for 2219 the corresponding service configuration which provides the default values. 2220 2221 Messages: 2222 ConsumerOverridesValue: Quota overrides set by the consumer. Consumer 2223 overrides will only have an effect up to the max_limit specified in the 2224 service config, or the the producer override, if one exists. The key 2225 for this map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for 2226 quotas defined within quota groups, where GROUP_NAME is the 2227 google.api.QuotaGroup.name field and LIMIT_NAME is the 2228 google.api.QuotaLimit.name field from the service config. For example: 2229 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2230 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2231 from the service config. For example: 'borrowedCountPerOrganization'. 2232 EffectiveQuotasValue: The effective quota limits for each group, derived 2233 from the service defaults together with any producer or consumer 2234 overrides. For each limit, the effective value is the minimum of the 2235 producer and consumer overrides if either is present, or else the 2236 service default if neither is present. DEPRECATED. Use 2237 effective_quota_groups instead. 2238 ProducerOverridesValue: Quota overrides set by the producer. Note that if 2239 a consumer override is also specified, then the minimum of the two will 2240 be used. This allows consumers to cap their usage voluntarily. The key 2241 for this map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for 2242 quotas defined within quota groups, where GROUP_NAME is the 2243 google.api.QuotaGroup.name field and LIMIT_NAME is the 2244 google.api.QuotaLimit.name field from the service config. For example: 2245 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2246 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2247 from the service config. For example: 'borrowedCountPerOrganization'. 2248 2249 Fields: 2250 consumerOverrides: Quota overrides set by the consumer. Consumer overrides 2251 will only have an effect up to the max_limit specified in the service 2252 config, or the the producer override, if one exists. The key for this 2253 map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for quotas 2254 defined within quota groups, where GROUP_NAME is the 2255 google.api.QuotaGroup.name field and LIMIT_NAME is the 2256 google.api.QuotaLimit.name field from the service config. For example: 2257 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2258 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2259 from the service config. For example: 'borrowedCountPerOrganization'. 2260 effectiveQuotaGroups: Use this field for quota limits defined under quota 2261 groups. Combines service quota configuration and project-specific 2262 settings, as a map from quota group name to the effective quota 2263 information for that group. Output-only. 2264 effectiveQuotas: The effective quota limits for each group, derived from 2265 the service defaults together with any producer or consumer overrides. 2266 For each limit, the effective value is the minimum of the producer and 2267 consumer overrides if either is present, or else the service default if 2268 neither is present. DEPRECATED. Use effective_quota_groups instead. 2269 producerOverrides: Quota overrides set by the producer. Note that if a 2270 consumer override is also specified, then the minimum of the two will be 2271 used. This allows consumers to cap their usage voluntarily. The key for 2272 this map is one of the following: - '<GROUP_NAME>/<LIMIT_NAME>' for 2273 quotas defined within quota groups, where GROUP_NAME is the 2274 google.api.QuotaGroup.name field and LIMIT_NAME is the 2275 google.api.QuotaLimit.name field from the service config. For example: 2276 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for quotas defined without 2277 quota groups, where LIMIT_NAME is the google.api.QuotaLimit.name field 2278 from the service config. For example: 'borrowedCountPerOrganization'. 2279 variableTermQuotas: Quotas that are active over a specified time period. 2280 Only writeable by the producer. 2281 """ 2282 2283 @encoding.MapUnrecognizedFields('additionalProperties') 2284 class ConsumerOverridesValue(_messages.Message): 2285 """Quota overrides set by the consumer. Consumer overrides will only have 2286 an effect up to the max_limit specified in the service config, or the the 2287 producer override, if one exists. The key for this map is one of the 2288 following: - '<GROUP_NAME>/<LIMIT_NAME>' for quotas defined within quota 2289 groups, where GROUP_NAME is the google.api.QuotaGroup.name field and 2290 LIMIT_NAME is the google.api.QuotaLimit.name field from the service 2291 config. For example: 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for 2292 quotas defined without quota groups, where LIMIT_NAME is the 2293 google.api.QuotaLimit.name field from the service config. For example: 2294 'borrowedCountPerOrganization'. 2295 2296 Messages: 2297 AdditionalProperty: An additional property for a ConsumerOverridesValue 2298 object. 2299 2300 Fields: 2301 additionalProperties: Additional properties of type 2302 ConsumerOverridesValue 2303 """ 2304 2305 class AdditionalProperty(_messages.Message): 2306 """An additional property for a ConsumerOverridesValue object. 2307 2308 Fields: 2309 key: Name of the additional property. 2310 value: A QuotaLimitOverride attribute. 2311 """ 2312 2313 key = _messages.StringField(1) 2314 value = _messages.MessageField('QuotaLimitOverride', 2) 2315 2316 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2317 2318 @encoding.MapUnrecognizedFields('additionalProperties') 2319 class EffectiveQuotasValue(_messages.Message): 2320 """The effective quota limits for each group, derived from the service 2321 defaults together with any producer or consumer overrides. For each limit, 2322 the effective value is the minimum of the producer and consumer overrides 2323 if either is present, or else the service default if neither is present. 2324 DEPRECATED. Use effective_quota_groups instead. 2325 2326 Messages: 2327 AdditionalProperty: An additional property for a EffectiveQuotasValue 2328 object. 2329 2330 Fields: 2331 additionalProperties: Additional properties of type EffectiveQuotasValue 2332 """ 2333 2334 class AdditionalProperty(_messages.Message): 2335 """An additional property for a EffectiveQuotasValue object. 2336 2337 Fields: 2338 key: Name of the additional property. 2339 value: A QuotaLimitOverride attribute. 2340 """ 2341 2342 key = _messages.StringField(1) 2343 value = _messages.MessageField('QuotaLimitOverride', 2) 2344 2345 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2346 2347 @encoding.MapUnrecognizedFields('additionalProperties') 2348 class ProducerOverridesValue(_messages.Message): 2349 """Quota overrides set by the producer. Note that if a consumer override 2350 is also specified, then the minimum of the two will be used. This allows 2351 consumers to cap their usage voluntarily. The key for this map is one of 2352 the following: - '<GROUP_NAME>/<LIMIT_NAME>' for quotas defined within 2353 quota groups, where GROUP_NAME is the google.api.QuotaGroup.name field and 2354 LIMIT_NAME is the google.api.QuotaLimit.name field from the service 2355 config. For example: 'ReadGroup/ProjectDaily'. - '<LIMIT_NAME>' for 2356 quotas defined without quota groups, where LIMIT_NAME is the 2357 google.api.QuotaLimit.name field from the service config. For example: 2358 'borrowedCountPerOrganization'. 2359 2360 Messages: 2361 AdditionalProperty: An additional property for a ProducerOverridesValue 2362 object. 2363 2364 Fields: 2365 additionalProperties: Additional properties of type 2366 ProducerOverridesValue 2367 """ 2368 2369 class AdditionalProperty(_messages.Message): 2370 """An additional property for a ProducerOverridesValue object. 2371 2372 Fields: 2373 key: Name of the additional property. 2374 value: A QuotaLimitOverride attribute. 2375 """ 2376 2377 key = _messages.StringField(1) 2378 value = _messages.MessageField('QuotaLimitOverride', 2) 2379 2380 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2381 2382 consumerOverrides = _messages.MessageField('ConsumerOverridesValue', 1) 2383 effectiveQuotaGroups = _messages.MessageField('EffectiveQuotaGroup', 2, repeated=True) 2384 effectiveQuotas = _messages.MessageField('EffectiveQuotasValue', 3) 2385 producerOverrides = _messages.MessageField('ProducerOverridesValue', 4) 2386 variableTermQuotas = _messages.MessageField('VariableTermQuota', 5, repeated=True) 2387 2388 2389class QuotaUsage(_messages.Message): 2390 """Specifies the used quota amount for a quota limit at a particular time. 2391 2392 Fields: 2393 endTime: The time the quota duration ended. 2394 queryTime: The time the quota usage data was queried. 2395 startTime: The time the quota duration started. 2396 usage: The used quota value at the "query_time". 2397 """ 2398 2399 endTime = _messages.StringField(1) 2400 queryTime = _messages.StringField(2) 2401 startTime = _messages.StringField(3) 2402 usage = _messages.IntegerField(4) 2403 2404 2405class Service(_messages.Message): 2406 """`Service` is the root object of the configuration schema. It describes 2407 basic information like the name of the service and the exposed API 2408 interfaces, and delegates other aspects to configuration sub-sections. 2409 Example: type: google.api.Service config_version: 1 name: 2410 calendar.googleapis.com title: Google Calendar API apis: - name: 2411 google.calendar.Calendar backend: rules: - selector: "*" 2412 address: calendar.example.com 2413 2414 Fields: 2415 apis: A list of API interfaces exported by this service. Only the `name` 2416 field of the google.protobuf.Api needs to be provided by the 2417 configuration author, as the remaining fields will be derived from the 2418 IDL during the normalization process. It is an error to specify an API 2419 interface here which cannot be resolved against the associated IDL 2420 files. 2421 authentication: Auth configuration. 2422 backend: API backend configuration. 2423 billing: Billing configuration of the service. 2424 configVersion: The version of the service configuration. The config 2425 version may influence interpretation of the configuration, for example, 2426 to determine defaults. This is documented together with applicable 2427 options. The current default for the config version itself is `3`. 2428 context: Context configuration. 2429 control: Configuration for the service control plane. 2430 customError: Custom error configuration. 2431 documentation: Additional API documentation. 2432 enums: A list of all enum types included in this API service. Enums 2433 referenced directly or indirectly by the `apis` are automatically 2434 included. Enums which are not referenced but shall be included should 2435 be listed here by name. Example: enums: - name: 2436 google.someapi.v1.SomeEnum 2437 http: HTTP configuration. 2438 id: A unique ID for a specific instance of this message, typically 2439 assigned by the client for tracking purpose. If empty, the server may 2440 choose to generate one instead. 2441 logging: Logging configuration of the service. 2442 logs: Defines the logs used by this service. 2443 metrics: Defines the metrics used by this service. 2444 monitoredResources: Defines the monitored resources used by this service. 2445 This is required by the Service.monitoring and Service.logging 2446 configurations. 2447 monitoring: Monitoring configuration of the service. 2448 name: The DNS address at which this service is available, e.g. 2449 `calendar.googleapis.com`. 2450 producerProjectId: The id of the Google developer project that owns the 2451 service. Members of this project can manage the service configuration, 2452 manage consumption of the service, etc. 2453 projectProperties: Configuration of per-consumer project properties. 2454 quota: Quota configuration. 2455 systemParameters: Configuration for system parameters. 2456 systemTypes: A list of all proto message types included in this API 2457 service. It serves similar purpose as [google.api.Service.types], except 2458 that these types are not needed by user-defined APIs. Therefore, they 2459 will not show up in the generated discovery doc. This field should only 2460 be used to define system APIs in ESF. 2461 title: The product title associated with this service. 2462 types: A list of all proto message types included in this API service. 2463 Types referenced directly or indirectly by the `apis` are automatically 2464 included. Messages which are not referenced but shall be included, such 2465 as types used by the `google.protobuf.Any` type, should be listed here 2466 by name. Example: types: - name: google.protobuf.Int32 2467 usage: Configuration controlling usage of this service. 2468 visibility: API visibility configuration. 2469 """ 2470 2471 apis = _messages.MessageField('Api', 1, repeated=True) 2472 authentication = _messages.MessageField('Authentication', 2) 2473 backend = _messages.MessageField('Backend', 3) 2474 billing = _messages.MessageField('Billing', 4) 2475 configVersion = _messages.IntegerField(5, variant=_messages.Variant.UINT32) 2476 context = _messages.MessageField('Context', 6) 2477 control = _messages.MessageField('Control', 7) 2478 customError = _messages.MessageField('CustomError', 8) 2479 documentation = _messages.MessageField('Documentation', 9) 2480 enums = _messages.MessageField('Enum', 10, repeated=True) 2481 http = _messages.MessageField('Http', 11) 2482 id = _messages.StringField(12) 2483 logging = _messages.MessageField('Logging', 13) 2484 logs = _messages.MessageField('LogDescriptor', 14, repeated=True) 2485 metrics = _messages.MessageField('MetricDescriptor', 15, repeated=True) 2486 monitoredResources = _messages.MessageField('MonitoredResourceDescriptor', 16, repeated=True) 2487 monitoring = _messages.MessageField('Monitoring', 17) 2488 name = _messages.StringField(18) 2489 producerProjectId = _messages.StringField(19) 2490 projectProperties = _messages.MessageField('ProjectProperties', 20) 2491 quota = _messages.MessageField('Quota', 21) 2492 systemParameters = _messages.MessageField('SystemParameters', 22) 2493 systemTypes = _messages.MessageField('Type', 23, repeated=True) 2494 title = _messages.StringField(24) 2495 types = _messages.MessageField('Type', 25, repeated=True) 2496 usage = _messages.MessageField('Usage', 26) 2497 visibility = _messages.MessageField('Visibility', 27) 2498 2499 2500class ServiceAccessList(_messages.Message): 2501 """List of users and groups that are granted access to a service or 2502 visibility label. 2503 2504 Fields: 2505 members: Members that are granted access. - "user:{$user_email}" - Grant 2506 access to an individual user - "group:{$group_email}" - Grant access to 2507 direct members of the group - "domain:{$domain}" - Grant access to all 2508 members of the domain. For now, domain membership check will be 2509 similar to Devconsole/TT check: compare domain part of the user 2510 email to configured domain name. When IAM integration is complete, 2511 this will be replaced with IAM check. 2512 """ 2513 2514 members = _messages.StringField(1, repeated=True) 2515 2516 2517class ServiceAccessPolicy(_messages.Message): 2518 """Policy describing who can access a service and any visibility labels on 2519 that service. 2520 2521 Messages: 2522 VisibilityLabelAccessListsValue: ACLs for access to restricted parts of 2523 the service. The map key is the visibility label that is being 2524 controlled. Note that access to any label also implies access to the 2525 unrestricted surface. 2526 2527 Fields: 2528 accessList: ACL for access to the unrestricted surface of the service. 2529 serviceName: The service protected by this policy. 2530 visibilityLabelAccessLists: ACLs for access to restricted parts of the 2531 service. The map key is the visibility label that is being controlled. 2532 Note that access to any label also implies access to the unrestricted 2533 surface. 2534 """ 2535 2536 @encoding.MapUnrecognizedFields('additionalProperties') 2537 class VisibilityLabelAccessListsValue(_messages.Message): 2538 """ACLs for access to restricted parts of the service. The map key is the 2539 visibility label that is being controlled. Note that access to any label 2540 also implies access to the unrestricted surface. 2541 2542 Messages: 2543 AdditionalProperty: An additional property for a 2544 VisibilityLabelAccessListsValue object. 2545 2546 Fields: 2547 additionalProperties: Additional properties of type 2548 VisibilityLabelAccessListsValue 2549 """ 2550 2551 class AdditionalProperty(_messages.Message): 2552 """An additional property for a VisibilityLabelAccessListsValue object. 2553 2554 Fields: 2555 key: Name of the additional property. 2556 value: A ServiceAccessList attribute. 2557 """ 2558 2559 key = _messages.StringField(1) 2560 value = _messages.MessageField('ServiceAccessList', 2) 2561 2562 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 2563 2564 accessList = _messages.MessageField('ServiceAccessList', 1) 2565 serviceName = _messages.StringField(2) 2566 visibilityLabelAccessLists = _messages.MessageField('VisibilityLabelAccessListsValue', 3) 2567 2568 2569class ServicemanagementOperationsGetRequest(_messages.Message): 2570 """A ServicemanagementOperationsGetRequest object. 2571 2572 Fields: 2573 operationsId: Part of `name`. The name of the operation resource. 2574 """ 2575 2576 operationsId = _messages.StringField(1, required=True) 2577 2578 2579class ServicemanagementServicesAccessPolicyQueryRequest(_messages.Message): 2580 """A ServicemanagementServicesAccessPolicyQueryRequest object. 2581 2582 Fields: 2583 serviceName: The service to query access for. 2584 userEmail: The user to query access for. 2585 """ 2586 2587 serviceName = _messages.StringField(1, required=True) 2588 userEmail = _messages.StringField(2) 2589 2590 2591class ServicemanagementServicesConfigsCreateRequest(_messages.Message): 2592 """A ServicemanagementServicesConfigsCreateRequest object. 2593 2594 Fields: 2595 service: A Service resource to be passed as the request body. 2596 serviceName: The name of the service. See the `ServiceManager` overview 2597 for naming requirements. For example: `example.googleapis.com`. 2598 """ 2599 2600 service = _messages.MessageField('Service', 1) 2601 serviceName = _messages.StringField(2, required=True) 2602 2603 2604class ServicemanagementServicesConfigsGetRequest(_messages.Message): 2605 """A ServicemanagementServicesConfigsGetRequest object. 2606 2607 Fields: 2608 configId: The id of the service config resource. Optional. If it is not 2609 specified, the latest version of config will be returned. 2610 serviceName: The name of the service. See the `ServiceManager` overview 2611 for naming requirements. For example: `example.googleapis.com`. 2612 """ 2613 2614 configId = _messages.StringField(1, required=True) 2615 serviceName = _messages.StringField(2, required=True) 2616 2617 2618class ServicemanagementServicesConfigsListRequest(_messages.Message): 2619 """A ServicemanagementServicesConfigsListRequest object. 2620 2621 Fields: 2622 pageSize: The max number of items to include in the response list. 2623 pageToken: The token of the page to retrieve. 2624 serviceName: The name of the service. See the `ServiceManager` overview 2625 for naming requirements. For example: `example.googleapis.com`. 2626 """ 2627 2628 pageSize = _messages.IntegerField(1, variant=_messages.Variant.INT32) 2629 pageToken = _messages.StringField(2) 2630 serviceName = _messages.StringField(3, required=True) 2631 2632 2633class ServicemanagementServicesConfigsSubmitRequest(_messages.Message): 2634 """A ServicemanagementServicesConfigsSubmitRequest object. 2635 2636 Fields: 2637 serviceName: The name of the service. See the `ServiceManager` overview 2638 for naming requirements. For example: `example.googleapis.com`. 2639 submitConfigSourceRequest: A SubmitConfigSourceRequest resource to be 2640 passed as the request body. 2641 """ 2642 2643 serviceName = _messages.StringField(1, required=True) 2644 submitConfigSourceRequest = _messages.MessageField('SubmitConfigSourceRequest', 2) 2645 2646 2647class ServicemanagementServicesCustomerSettingsGetRequest(_messages.Message): 2648 """A ServicemanagementServicesCustomerSettingsGetRequest object. 2649 2650 Enums: 2651 ViewValueValuesEnum: Request only fields for the specified view. 2652 2653 Fields: 2654 customerId: ID for the customer. See the comment for 2655 `CustomerSettings.customer_id` field of message for its format. This 2656 field is required. 2657 expand: Fields to expand in any results. 2658 serviceName: The name of the service. See the `ServiceManager` overview 2659 for naming requirements. For example: `example.googleapis.com`. This 2660 field is required. 2661 view: Request only fields for the specified view. 2662 """ 2663 2664 class ViewValueValuesEnum(_messages.Enum): 2665 """Request only fields for the specified view. 2666 2667 Values: 2668 PROJECT_SETTINGS_VIEW_UNSPECIFIED: <no description> 2669 CONSUMER_VIEW: <no description> 2670 PRODUCER_VIEW: <no description> 2671 ALL: <no description> 2672 """ 2673 PROJECT_SETTINGS_VIEW_UNSPECIFIED = 0 2674 CONSUMER_VIEW = 1 2675 PRODUCER_VIEW = 2 2676 ALL = 3 2677 2678 customerId = _messages.StringField(1, required=True) 2679 expand = _messages.StringField(2) 2680 serviceName = _messages.StringField(3, required=True) 2681 view = _messages.EnumField('ViewValueValuesEnum', 4) 2682 2683 2684class ServicemanagementServicesCustomerSettingsPatchRequest(_messages.Message): 2685 """A ServicemanagementServicesCustomerSettingsPatchRequest object. 2686 2687 Fields: 2688 customerId: ID for the customer. See the comment for 2689 `CustomerSettings.customer_id` field of message for its format. This 2690 field is required. 2691 customerSettings: A CustomerSettings resource to be passed as the request 2692 body. 2693 serviceName: The name of the service. See the `ServiceManager` overview 2694 for naming requirements. For example: `example.googleapis.com`. This 2695 field is required. 2696 updateMask: The field mask specifying which fields are to be updated. 2697 """ 2698 2699 customerId = _messages.StringField(1, required=True) 2700 customerSettings = _messages.MessageField('CustomerSettings', 2) 2701 serviceName = _messages.StringField(3, required=True) 2702 updateMask = _messages.StringField(4) 2703 2704 2705class ServicemanagementServicesDeleteRequest(_messages.Message): 2706 """A ServicemanagementServicesDeleteRequest object. 2707 2708 Fields: 2709 serviceName: The name of the service. See the `ServiceManager` overview 2710 for naming requirements. For example: `example.googleapis.com`. 2711 """ 2712 2713 serviceName = _messages.StringField(1, required=True) 2714 2715 2716class ServicemanagementServicesDisableRequest(_messages.Message): 2717 """A ServicemanagementServicesDisableRequest object. 2718 2719 Fields: 2720 disableServiceRequest: A DisableServiceRequest resource to be passed as 2721 the request body. 2722 serviceName: Name of the service to disable. Specifying an unknown service 2723 name will cause the request to fail. 2724 """ 2725 2726 disableServiceRequest = _messages.MessageField('DisableServiceRequest', 1) 2727 serviceName = _messages.StringField(2, required=True) 2728 2729 2730class ServicemanagementServicesEnableRequest(_messages.Message): 2731 """A ServicemanagementServicesEnableRequest object. 2732 2733 Fields: 2734 enableServiceRequest: A EnableServiceRequest resource to be passed as the 2735 request body. 2736 serviceName: Name of the service to enable. Specifying an unknown service 2737 name will cause the request to fail. 2738 """ 2739 2740 enableServiceRequest = _messages.MessageField('EnableServiceRequest', 1) 2741 serviceName = _messages.StringField(2, required=True) 2742 2743 2744class ServicemanagementServicesGetAccessPolicyRequest(_messages.Message): 2745 """A ServicemanagementServicesGetAccessPolicyRequest object. 2746 2747 Fields: 2748 serviceName: The name of the service. For example: 2749 `example.googleapis.com`. 2750 """ 2751 2752 serviceName = _messages.StringField(1, required=True) 2753 2754 2755class ServicemanagementServicesGetConfigRequest(_messages.Message): 2756 """A ServicemanagementServicesGetConfigRequest object. 2757 2758 Fields: 2759 configId: The id of the service config resource. Optional. If it is not 2760 specified, the latest version of config will be returned. 2761 serviceName: The name of the service. See the `ServiceManager` overview 2762 for naming requirements. For example: `example.googleapis.com`. 2763 """ 2764 2765 configId = _messages.StringField(1) 2766 serviceName = _messages.StringField(2, required=True) 2767 2768 2769class ServicemanagementServicesGetRequest(_messages.Message): 2770 """A ServicemanagementServicesGetRequest object. 2771 2772 Enums: 2773 ViewValueValuesEnum: If project_settings is expanded, request only fields 2774 for the specified view. 2775 2776 Fields: 2777 consumerProjectId: If project_settings is expanded, return settings for 2778 the specified consumer project. 2779 expand: Fields to expand in any results. By default, the following fields 2780 are not present in the result: - `operations` - `project_settings` - 2781 `project_settings.operations` - `quota_usage` (It requires 2782 `project_settings`) - `historical_quota_usage` (It requires 2783 `project_settings`) 2784 serviceName: The name of the service. See the `ServiceManager` overview 2785 for naming requirements. For example: `example.googleapis.com`. 2786 view: If project_settings is expanded, request only fields for the 2787 specified view. 2788 """ 2789 2790 class ViewValueValuesEnum(_messages.Enum): 2791 """If project_settings is expanded, request only fields for the specified 2792 view. 2793 2794 Values: 2795 PROJECT_SETTINGS_VIEW_UNSPECIFIED: <no description> 2796 CONSUMER_VIEW: <no description> 2797 PRODUCER_VIEW: <no description> 2798 ALL: <no description> 2799 """ 2800 PROJECT_SETTINGS_VIEW_UNSPECIFIED = 0 2801 CONSUMER_VIEW = 1 2802 PRODUCER_VIEW = 2 2803 ALL = 3 2804 2805 consumerProjectId = _messages.StringField(1) 2806 expand = _messages.StringField(2) 2807 serviceName = _messages.StringField(3, required=True) 2808 view = _messages.EnumField('ViewValueValuesEnum', 4) 2809 2810 2811class ServicemanagementServicesListRequest(_messages.Message): 2812 """A ServicemanagementServicesListRequest object. 2813 2814 Fields: 2815 category: Include services only in the specified category. Supported 2816 categories are servicemanagement.googleapis.com/categories/google- 2817 services or servicemanagement.googleapis.com/categories/play-games. 2818 consumerProjectId: Include services consumed by the specified project. If 2819 project_settings is expanded, then this field controls which project 2820 project_settings is populated for. 2821 expand: Fields to expand in any results. By default, the following fields 2822 are not fully included in list results: - `operations` - 2823 `project_settings` - `project_settings.operations` - `quota_usage` (It 2824 requires `project_settings`) 2825 pageSize: Requested size of the next page of data. 2826 pageToken: Token identifying which result to start with; returned by a 2827 previous list call. 2828 producerProjectId: Include services produced by the specified project. 2829 """ 2830 2831 category = _messages.StringField(1) 2832 consumerProjectId = _messages.StringField(2) 2833 expand = _messages.StringField(3) 2834 pageSize = _messages.IntegerField(4, variant=_messages.Variant.INT32) 2835 pageToken = _messages.StringField(5) 2836 producerProjectId = _messages.StringField(6) 2837 2838 2839class ServicemanagementServicesPatchConfigRequest(_messages.Message): 2840 """A ServicemanagementServicesPatchConfigRequest object. 2841 2842 Fields: 2843 service: A Service resource to be passed as the request body. 2844 serviceName: The name of the service. See the `ServiceManager` overview 2845 for naming requirements. For example: `example.googleapis.com`. 2846 updateMask: A mask specifying which fields to update. 2847 """ 2848 2849 service = _messages.MessageField('Service', 1) 2850 serviceName = _messages.StringField(2, required=True) 2851 updateMask = _messages.StringField(3) 2852 2853 2854class ServicemanagementServicesPatchRequest(_messages.Message): 2855 """A ServicemanagementServicesPatchRequest object. 2856 2857 Fields: 2858 managedService: A ManagedService resource to be passed as the request 2859 body. 2860 serviceName: The name of the service. See the `ServiceManager` overview 2861 for naming requirements. For example: `example.googleapis.com`. 2862 updateMask: A mask specifying which fields to update. 2863 """ 2864 2865 managedService = _messages.MessageField('ManagedService', 1) 2866 serviceName = _messages.StringField(2, required=True) 2867 updateMask = _messages.StringField(3) 2868 2869 2870class ServicemanagementServicesProjectSettingsGetRequest(_messages.Message): 2871 """A ServicemanagementServicesProjectSettingsGetRequest object. 2872 2873 Enums: 2874 ViewValueValuesEnum: Request only the fields for the specified view. 2875 2876 Fields: 2877 consumerProjectId: The project ID of the consumer. 2878 expand: Fields to expand in any results. By default, the following fields 2879 are not present in the result: - `operations` - `quota_usage` 2880 serviceName: The name of the service. See the `ServiceManager` overview 2881 for naming requirements. For example: `example.googleapis.com`. 2882 view: Request only the fields for the specified view. 2883 """ 2884 2885 class ViewValueValuesEnum(_messages.Enum): 2886 """Request only the fields for the specified view. 2887 2888 Values: 2889 PROJECT_SETTINGS_VIEW_UNSPECIFIED: <no description> 2890 CONSUMER_VIEW: <no description> 2891 PRODUCER_VIEW: <no description> 2892 ALL: <no description> 2893 """ 2894 PROJECT_SETTINGS_VIEW_UNSPECIFIED = 0 2895 CONSUMER_VIEW = 1 2896 PRODUCER_VIEW = 2 2897 ALL = 3 2898 2899 consumerProjectId = _messages.StringField(1, required=True) 2900 expand = _messages.StringField(2) 2901 serviceName = _messages.StringField(3, required=True) 2902 view = _messages.EnumField('ViewValueValuesEnum', 4) 2903 2904 2905class ServicemanagementServicesProjectSettingsPatchRequest(_messages.Message): 2906 """A ServicemanagementServicesProjectSettingsPatchRequest object. 2907 2908 Fields: 2909 consumerProjectId: The project ID of the consumer. 2910 projectSettings: A ProjectSettings resource to be passed as the request 2911 body. 2912 serviceName: The name of the service. See the `ServiceManager` overview 2913 for naming requirements. For example: `example.googleapis.com`. 2914 updateMask: The field mask specifying which fields are to be updated. 2915 """ 2916 2917 consumerProjectId = _messages.StringField(1, required=True) 2918 projectSettings = _messages.MessageField('ProjectSettings', 2) 2919 serviceName = _messages.StringField(3, required=True) 2920 updateMask = _messages.StringField(4) 2921 2922 2923class ServicemanagementServicesUpdateConfigRequest(_messages.Message): 2924 """A ServicemanagementServicesUpdateConfigRequest object. 2925 2926 Fields: 2927 service: A Service resource to be passed as the request body. 2928 serviceName: The name of the service. See the `ServiceManager` overview 2929 for naming requirements. For example: `example.googleapis.com`. 2930 updateMask: A mask specifying which fields to update. Update mask has been 2931 deprecated on UpdateServiceConfig service method. Please use 2932 PatchServiceConfig method instead to do partial updates. 2933 """ 2934 2935 service = _messages.MessageField('Service', 1) 2936 serviceName = _messages.StringField(2, required=True) 2937 updateMask = _messages.StringField(3) 2938 2939 2940class ServicemanagementServicesUpdateRequest(_messages.Message): 2941 """A ServicemanagementServicesUpdateRequest object. 2942 2943 Fields: 2944 managedService: A ManagedService resource to be passed as the request 2945 body. 2946 serviceName: The name of the service. See the `ServiceManager` overview 2947 for naming requirements. For example: `example.googleapis.com`. 2948 updateMask: A mask specifying which fields to update. Update mask has been 2949 deprecated on UpdateService service method. Please use PatchService 2950 method instead to do partial updates. 2951 """ 2952 2953 managedService = _messages.MessageField('ManagedService', 1) 2954 serviceName = _messages.StringField(2, required=True) 2955 updateMask = _messages.StringField(3) 2956 2957 2958class SourceContext(_messages.Message): 2959 """`SourceContext` represents information about the source of a protobuf 2960 element, like the file in which it is defined. 2961 2962 Fields: 2963 fileName: The path-qualified name of the .proto file that contained the 2964 associated protobuf element. For example: 2965 `"google/protobuf/source_context.proto"`. 2966 """ 2967 2968 fileName = _messages.StringField(1) 2969 2970 2971class StandardQueryParameters(_messages.Message): 2972 """Query parameters accepted by all methods. 2973 2974 Enums: 2975 FXgafvValueValuesEnum: V1 error format. 2976 AltValueValuesEnum: Data format for response. 2977 2978 Fields: 2979 f__xgafv: V1 error format. 2980 access_token: OAuth access token. 2981 alt: Data format for response. 2982 bearer_token: OAuth bearer token. 2983 callback: JSONP 2984 fields: Selector specifying which fields to include in a partial response. 2985 key: API key. Your API key identifies your project and provides you with 2986 API access, quota, and reports. Required unless you provide an OAuth 2.0 2987 token. 2988 oauth_token: OAuth 2.0 token for the current user. 2989 pp: Pretty-print response. 2990 prettyPrint: Returns response with indentations and line breaks. 2991 quotaUser: Available to use for quota purposes for server-side 2992 applications. Can be any arbitrary string assigned to a user, but should 2993 not exceed 40 characters. 2994 trace: A tracing token of the form "token:<tokenid>" to include in api 2995 requests. 2996 uploadType: Legacy upload protocol for media (e.g. "media", "multipart"). 2997 upload_protocol: Upload protocol for media (e.g. "raw", "multipart"). 2998 """ 2999 3000 class AltValueValuesEnum(_messages.Enum): 3001 """Data format for response. 3002 3003 Values: 3004 json: Responses with Content-Type of application/json 3005 media: Media download with context-dependent Content-Type 3006 proto: Responses with Content-Type of application/x-protobuf 3007 """ 3008 json = 0 3009 media = 1 3010 proto = 2 3011 3012 class FXgafvValueValuesEnum(_messages.Enum): 3013 """V1 error format. 3014 3015 Values: 3016 _1: v1 error format 3017 _2: v2 error format 3018 """ 3019 _1 = 0 3020 _2 = 1 3021 3022 f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1) 3023 access_token = _messages.StringField(2) 3024 alt = _messages.EnumField('AltValueValuesEnum', 3, default=u'json') 3025 bearer_token = _messages.StringField(4) 3026 callback = _messages.StringField(5) 3027 fields = _messages.StringField(6) 3028 key = _messages.StringField(7) 3029 oauth_token = _messages.StringField(8) 3030 pp = _messages.BooleanField(9, default=True) 3031 prettyPrint = _messages.BooleanField(10, default=True) 3032 quotaUser = _messages.StringField(11) 3033 trace = _messages.StringField(12) 3034 uploadType = _messages.StringField(13) 3035 upload_protocol = _messages.StringField(14) 3036 3037 3038class Status(_messages.Message): 3039 """The `Status` type defines a logical error model that is suitable for 3040 different programming environments, including REST APIs and RPC APIs. It is 3041 used by [gRPC](https://github.com/grpc). The error model is designed to be: 3042 - Simple to use and understand for most users - Flexible enough to meet 3043 unexpected needs # Overview The `Status` message contains three pieces of 3044 data: error code, error message, and error details. The error code should be 3045 an enum value of google.rpc.Code, but it may accept additional error codes 3046 if needed. The error message should be a developer-facing English message 3047 that helps developers *understand* and *resolve* the error. If a localized 3048 user-facing error message is needed, put the localized message in the error 3049 details or localize it in the client. The optional error details may contain 3050 arbitrary information about the error. There is a predefined set of error 3051 detail types in the package `google.rpc` which can be used for common error 3052 conditions. # Language mapping The `Status` message is the logical 3053 representation of the error model, but it is not necessarily the actual wire 3054 format. When the `Status` message is exposed in different client libraries 3055 and different wire protocols, it can be mapped differently. For example, it 3056 will likely be mapped to some exceptions in Java, but more likely mapped to 3057 some error codes in C. # Other uses The error model and the `Status` 3058 message can be used in a variety of environments, either with or without 3059 APIs, to provide a consistent developer experience across different 3060 environments. Example uses of this error model include: - Partial errors. 3061 If a service needs to return partial errors to the client, it may embed 3062 the `Status` in the normal response to indicate the partial errors. - 3063 Workflow errors. A typical workflow has multiple steps. Each step may 3064 have a `Status` message for error reporting purpose. - Batch operations. If 3065 a client uses batch request and batch response, the `Status` message 3066 should be used directly inside batch response, one for each error sub- 3067 response. - Asynchronous operations. If an API call embeds asynchronous 3068 operation results in its response, the status of those operations should 3069 be represented directly using the `Status` message. - Logging. If some 3070 API errors are stored in logs, the message `Status` could be used 3071 directly after any stripping needed for security/privacy reasons. 3072 3073 Messages: 3074 DetailsValueListEntry: A DetailsValueListEntry object. 3075 3076 Fields: 3077 code: The status code, which should be an enum value of google.rpc.Code. 3078 details: A list of messages that carry the error details. There will be a 3079 common set of message types for APIs to use. 3080 message: A developer-facing error message, which should be in English. Any 3081 user-facing error message should be localized and sent in the 3082 google.rpc.Status.details field, or localized by the client. 3083 """ 3084 3085 @encoding.MapUnrecognizedFields('additionalProperties') 3086 class DetailsValueListEntry(_messages.Message): 3087 """A DetailsValueListEntry object. 3088 3089 Messages: 3090 AdditionalProperty: An additional property for a DetailsValueListEntry 3091 object. 3092 3093 Fields: 3094 additionalProperties: Properties of the object. Contains field @type 3095 with type URL. 3096 """ 3097 3098 class AdditionalProperty(_messages.Message): 3099 """An additional property for a DetailsValueListEntry object. 3100 3101 Fields: 3102 key: Name of the additional property. 3103 value: A extra_types.JsonValue attribute. 3104 """ 3105 3106 key = _messages.StringField(1) 3107 value = _messages.MessageField('extra_types.JsonValue', 2) 3108 3109 additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True) 3110 3111 code = _messages.IntegerField(1, variant=_messages.Variant.INT32) 3112 details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True) 3113 message = _messages.StringField(3) 3114 3115 3116class Step(_messages.Message): 3117 """Represents the status of one operation step. 3118 3119 Enums: 3120 StatusValueValuesEnum: The status code. 3121 3122 Fields: 3123 description: The short description of the step. 3124 status: The status code. 3125 """ 3126 3127 class StatusValueValuesEnum(_messages.Enum): 3128 """The status code. 3129 3130 Values: 3131 STATUS_UNSPECIFIED: Unspecifed code. 3132 DONE: The step has completed without errors. 3133 NOT_STARTED: The step has not started yet. 3134 IN_PROGRESS: The step is in progress. 3135 FAILED: The step has completed with errors. 3136 """ 3137 STATUS_UNSPECIFIED = 0 3138 DONE = 1 3139 NOT_STARTED = 2 3140 IN_PROGRESS = 3 3141 FAILED = 4 3142 3143 description = _messages.StringField(1) 3144 status = _messages.EnumField('StatusValueValuesEnum', 2) 3145 3146 3147class SubmitConfigSourceRequest(_messages.Message): 3148 """Request message for SubmitConfigSource method. 3149 3150 Fields: 3151 configSource: The source configuration for the service. 3152 validateOnly: Optional. If set, this will result in the generation of a 3153 `google.api.Service` configuration based on the `ConfigSource` provided, 3154 but the generated config and the sources will NOT be persisted. 3155 """ 3156 3157 configSource = _messages.MessageField('ConfigSource', 1) 3158 validateOnly = _messages.BooleanField(2) 3159 3160 3161class SwaggerSpec(_messages.Message): 3162 """A collection of swagger specification files. 3163 3164 Fields: 3165 swaggerFiles: The individual files. 3166 """ 3167 3168 swaggerFiles = _messages.MessageField('File', 1, repeated=True) 3169 3170 3171class SystemParameter(_messages.Message): 3172 """Define a parameter's name and location. The parameter may be passed as 3173 either an HTTP header or a URL query parameter, and if both are passed the 3174 behavior is implementation-dependent. 3175 3176 Fields: 3177 httpHeader: Define the HTTP header name to use for the parameter. It is 3178 case insensitive. 3179 name: Define the name of the parameter, such as "api_key", "alt", 3180 "callback", and etc. It is case sensitive. 3181 urlQueryParameter: Define the URL query parameter name to use for the 3182 parameter. It is case sensitive. 3183 """ 3184 3185 httpHeader = _messages.StringField(1) 3186 name = _messages.StringField(2) 3187 urlQueryParameter = _messages.StringField(3) 3188 3189 3190class SystemParameterRule(_messages.Message): 3191 """Define a system parameter rule mapping system parameter definitions to 3192 methods. 3193 3194 Fields: 3195 parameters: Define parameters. Multiple names may be defined for a 3196 parameter. For a given method call, only one of them should be used. If 3197 multiple names are used the behavior is implementation-dependent. If 3198 none of the specified names are present the behavior is parameter- 3199 dependent. 3200 selector: Selects the methods to which this rule applies. Use '*' to 3201 indicate all methods in all APIs. Refer to selector for syntax details. 3202 """ 3203 3204 parameters = _messages.MessageField('SystemParameter', 1, repeated=True) 3205 selector = _messages.StringField(2) 3206 3207 3208class SystemParameters(_messages.Message): 3209 """### System parameter configuration A system parameter is a special kind 3210 of parameter defined by the API system, not by an individual API. It is 3211 typically mapped to an HTTP header and/or a URL query parameter. This 3212 configuration specifies which methods change the names of the system 3213 parameters. 3214 3215 Fields: 3216 rules: Define system parameters. The parameters defined here will 3217 override the default parameters implemented by the system. If this field 3218 is missing from the service config, default system parameters will be 3219 used. Default system parameters and names is implementation-dependent. 3220 Example: define api key and alt name for all methods system_parameters 3221 rules: - selector: "*" parameters: - name: api_key 3222 url_query_parameter: api_key - name: alt http_header: 3223 Response-Content-Type Example: define 2 api key names for a specific 3224 method. system_parameters rules: - selector: "/ListShelves" 3225 parameters: - name: api_key http_header: Api-Key1 3226 - name: api_key http_header: Api-Key2 3227 """ 3228 3229 rules = _messages.MessageField('SystemParameterRule', 1, repeated=True) 3230 3231 3232class Type(_messages.Message): 3233 """A protocol buffer message type. 3234 3235 Enums: 3236 SyntaxValueValuesEnum: The source syntax. 3237 3238 Fields: 3239 fields: The list of fields. 3240 name: The fully qualified message name. 3241 oneofs: The list of types appearing in `oneof` definitions in this type. 3242 options: The protocol buffer options. 3243 sourceContext: The source context. 3244 syntax: The source syntax. 3245 """ 3246 3247 class SyntaxValueValuesEnum(_messages.Enum): 3248 """The source syntax. 3249 3250 Values: 3251 SYNTAX_PROTO2: Syntax `proto2`. 3252 SYNTAX_PROTO3: Syntax `proto3`. 3253 """ 3254 SYNTAX_PROTO2 = 0 3255 SYNTAX_PROTO3 = 1 3256 3257 fields = _messages.MessageField('Field', 1, repeated=True) 3258 name = _messages.StringField(2) 3259 oneofs = _messages.StringField(3, repeated=True) 3260 options = _messages.MessageField('Option', 4, repeated=True) 3261 sourceContext = _messages.MessageField('SourceContext', 5) 3262 syntax = _messages.EnumField('SyntaxValueValuesEnum', 6) 3263 3264 3265class Usage(_messages.Message): 3266 """Configuration controlling usage of a service. 3267 3268 Enums: 3269 ServiceAccessValueValuesEnum: Controls which users can see or activate the 3270 service. 3271 3272 Fields: 3273 activationHooks: Services that must be contacted before a consumer can 3274 begin using the service. Each service will be contacted in sequence, 3275 and, if any activation call fails, the entire activation will fail. Each 3276 hook is of the form <service.name>/<hook-id>, where <hook-id> is 3277 optional; for example: 'robotservice.googleapis.com/default'. 3278 deactivationHooks: Services that must be contacted before a consumer can 3279 deactivate a service. Each service will be contacted in sequence, and, 3280 if any deactivation call fails, the entire deactivation will fail. Each 3281 hook is of the form <service.name>/<hook-id>, where <hook-id> is 3282 optional; for example: 'compute.googleapis.com/'. 3283 dependsOnServices: Services that must be activated in order for this 3284 service to be used. The set of services activated as a result of these 3285 relations are all activated in parallel with no guaranteed order of 3286 activation. Each string is a service name, e.g. 3287 `calendar.googleapis.com`. 3288 requirements: Requirements that must be satisfied before a consumer 3289 project can use the service. Each requirement is of the form 3290 <service.name>/<requirement-id>; for example 3291 'serviceusage.googleapis.com/billing-enabled'. 3292 rules: Individual rules for configuring usage on selected methods. 3293 serviceAccess: Controls which users can see or activate the service. 3294 """ 3295 3296 class ServiceAccessValueValuesEnum(_messages.Enum): 3297 """Controls which users can see or activate the service. 3298 3299 Values: 3300 RESTRICTED: The service can only be seen/used by users identified in the 3301 service's access control policy. If the service has not been 3302 whitelisted by your domain administrator for out-of-org publishing, 3303 then this mode will be treated like ORG_RESTRICTED. 3304 PUBLIC: The service can be seen/used by anyone. If the service has not 3305 been whitelisted by your domain administrator for out-of-org 3306 publishing, then this mode will be treated like ORG_PUBLIC. The 3307 discovery document for the service will also be public and allow 3308 unregistered access. 3309 ORG_RESTRICTED: The service can be seen/used by users identified in the 3310 service's access control policy and they are within the organization 3311 that owns the service. Access is further constrained to the group 3312 controlled by the administrator of the project/org that owns the 3313 service. 3314 ORG_PUBLIC: The service can be seen/used by the group of users 3315 controlled by the administrator of the project/org that owns the 3316 service. 3317 """ 3318 RESTRICTED = 0 3319 PUBLIC = 1 3320 ORG_RESTRICTED = 2 3321 ORG_PUBLIC = 3 3322 3323 activationHooks = _messages.StringField(1, repeated=True) 3324 deactivationHooks = _messages.StringField(2, repeated=True) 3325 dependsOnServices = _messages.StringField(3, repeated=True) 3326 requirements = _messages.StringField(4, repeated=True) 3327 rules = _messages.MessageField('UsageRule', 5, repeated=True) 3328 serviceAccess = _messages.EnumField('ServiceAccessValueValuesEnum', 6) 3329 3330 3331class UsageRule(_messages.Message): 3332 """Usage configuration rules for the service. NOTE: Under development. 3333 Use this rule to configure unregistered calls for the service. Unregistered 3334 calls are calls that do not contain consumer project identity. (Example: 3335 calls that do not contain an API key). By default, API methods do not allow 3336 unregistered calls, and each method call must be identified by a consumer 3337 project identity. Use this rule to allow/disallow unregistered calls. 3338 Example of an API that wants to allow unregistered calls for entire service. 3339 usage: rules: - selector: "*" allow_unregistered_calls: 3340 true Example of a method that wants to allow unregistered calls. 3341 usage: rules: - selector: 3342 "google.example.library.v1.LibraryService.CreateBook" 3343 allow_unregistered_calls: true 3344 3345 Fields: 3346 allowUnregisteredCalls: True, if the method allows unregistered calls; 3347 false otherwise. 3348 selector: Selects the methods to which this rule applies. Use '*' to 3349 indicate all methods in all APIs. Refer to selector for syntax details. 3350 """ 3351 3352 allowUnregisteredCalls = _messages.BooleanField(1) 3353 selector = _messages.StringField(2) 3354 3355 3356class UsageSettings(_messages.Message): 3357 """Usage settings for a consumer of a service. 3358 3359 Enums: 3360 ConsumerEnableStatusValueValuesEnum: Consumer controlled setting to 3361 enable/disable use of this service by the consumer project. The default 3362 value of this is controlled by the service configuration. 3363 3364 Fields: 3365 consumerEnableStatus: Consumer controlled setting to enable/disable use of 3366 this service by the consumer project. The default value of this is 3367 controlled by the service configuration. 3368 """ 3369 3370 class ConsumerEnableStatusValueValuesEnum(_messages.Enum): 3371 """Consumer controlled setting to enable/disable use of this service by 3372 the consumer project. The default value of this is controlled by the 3373 service configuration. 3374 3375 Values: 3376 DISABLED: The service is disabled. 3377 ENABLED: The service is enabled. 3378 """ 3379 DISABLED = 0 3380 ENABLED = 1 3381 3382 consumerEnableStatus = _messages.EnumField('ConsumerEnableStatusValueValuesEnum', 1) 3383 3384 3385class VariableTermQuota(_messages.Message): 3386 """A variable term quota is a bucket of tokens that is consumed over a 3387 specified (usually long) time period. When present, it overrides any "1d" 3388 duration per-project quota specified on the group. Variable terms run from 3389 midnight to midnight, start_date to end_date (inclusive) in the 3390 America/Los_Angeles time zone. 3391 3392 Fields: 3393 createTime: Time when this variable term quota was created. If multiple 3394 quotas are simultaneously active, then the quota with the latest 3395 create_time is the effective one. 3396 displayEndDate: The displayed end of the active period for the variable 3397 term quota. This may be before the effective end to give the user a 3398 grace period. YYYYMMdd date format, e.g. 20140730. 3399 endDate: The effective end of the active period for the variable term 3400 quota (inclusive). This must be no more than 5 years after start_date. 3401 YYYYMMdd date format, e.g. 20140730. 3402 groupName: The quota group that has the variable term quota applied to it. 3403 This must be a google.api.QuotaGroup.name specified in the service 3404 configuration. 3405 limit: The number of tokens available during the configured term. 3406 quotaUsage: The usage data of this quota. 3407 startDate: The beginning of the active period for the variable term quota. 3408 YYYYMMdd date format, e.g. 20140730. 3409 """ 3410 3411 createTime = _messages.StringField(1) 3412 displayEndDate = _messages.StringField(2) 3413 endDate = _messages.StringField(3) 3414 groupName = _messages.StringField(4) 3415 limit = _messages.IntegerField(5) 3416 quotaUsage = _messages.MessageField('QuotaUsage', 6) 3417 startDate = _messages.StringField(7) 3418 3419 3420class Visibility(_messages.Message): 3421 """`Visibility` defines restrictions for the visibility of service elements. 3422 Restrictions are specified using visibility labels (e.g., TRUSTED_TESTER) 3423 that are elsewhere linked to users and projects. Users and projects can 3424 have access to more than one visibility label. The effective visibility for 3425 multiple labels is the union of each label's elements, plus any unrestricted 3426 elements. If an element and its parents have no restrictions, visibility is 3427 unconditionally granted. Example: visibility: rules: - 3428 selector: google.calendar.Calendar.EnhancedSearch restriction: 3429 TRUSTED_TESTER - selector: google.calendar.Calendar.Delegate 3430 restriction: GOOGLE_INTERNAL Here, all methods are publicly visible except 3431 for the restricted methods EnhancedSearch and Delegate. 3432 3433 Fields: 3434 enforceRuntimeVisibility: Controls whether visibility rules are enforced 3435 at runtime for requests to all APIs and methods. If true, requests 3436 without method visibility will receive a NOT_FOUND error, and any non- 3437 visible fields will be scrubbed from the response messages. In service 3438 config version 0, the default is false. In later config versions, it's 3439 true. Note, the `enforce_runtime_visibility` specified in a visibility 3440 rule overrides this setting for the APIs or methods asscoiated with the 3441 rule. 3442 rules: A list of visibility rules providing visibility configuration for 3443 individual API elements. 3444 """ 3445 3446 enforceRuntimeVisibility = _messages.BooleanField(1) 3447 rules = _messages.MessageField('VisibilityRule', 2, repeated=True) 3448 3449 3450class VisibilityRule(_messages.Message): 3451 """A visibility rule provides visibility configuration for an individual API 3452 element. 3453 3454 Fields: 3455 enforceRuntimeVisibility: Controls whether visibility is enforced at 3456 runtime for requests to an API method. This setting has meaning only 3457 when the selector applies to a method or an API. If true, requests 3458 without method visibility will receive a NOT_FOUND error, and any non- 3459 visible fields will be scrubbed from the response messages. The default 3460 is determined by the value of 3461 google.api.Visibility.enforce_runtime_visibility. 3462 restriction: Lists the visibility labels for this rule. Any of the listed 3463 labels grants visibility to the element. If a rule has multiple labels, 3464 removing one of the labels but not all of them can break clients. 3465 Example: visibility: rules: - selector: 3466 google.calendar.Calendar.EnhancedSearch restriction: 3467 GOOGLE_INTERNAL, TRUSTED_TESTER Removing GOOGLE_INTERNAL from this 3468 restriction will break clients that rely on this method and only had 3469 access to it through GOOGLE_INTERNAL. 3470 selector: Selects methods, messages, fields, enums, etc. to which this 3471 rule applies. Refer to selector for syntax details. 3472 """ 3473 3474 enforceRuntimeVisibility = _messages.BooleanField(1) 3475 restriction = _messages.StringField(2) 3476 selector = _messages.StringField(3) 3477 3478 3479class VisibilitySettings(_messages.Message): 3480 """Settings that control which features of the service are visible to the 3481 consumer project. 3482 3483 Fields: 3484 visibilityLabels: The set of visibility labels that are used to determine 3485 what API surface is visible to calls made by this project. The visible 3486 surface is a union of the surface features associated with each label 3487 listed here, plus the publicly visible (unrestricted) surface. The 3488 service producer may add or remove labels at any time. The service 3489 consumer may add a label if the calling user has been granted permission 3490 to do so by the producer. The service consumer may also remove any 3491 label at any time. 3492 """ 3493 3494 visibilityLabels = _messages.StringField(1, repeated=True) 3495 3496 3497encoding.AddCustomJsonFieldMapping( 3498 StandardQueryParameters, 'f__xgafv', '$.xgafv', 3499 package=u'servicemanagement') 3500encoding.AddCustomJsonEnumMapping( 3501 StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1', 3502 package=u'servicemanagement') 3503encoding.AddCustomJsonEnumMapping( 3504 StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2', 3505 package=u'servicemanagement') 3506