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: &#40;== include google/foo/overview.md ==&#41;   - name: Tutorial
654  content: &#40;== include google/foo/tutorial.md ==&#41;     subpages;     -
655  name: Java       content: &#40;== include google/foo/tutorial_java.md
656  ==&#41;   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>&#91;fully.qualified.proto.name]&#91;]</code></pre> To override
668  the display text used for the link, this can be used:
669  <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre>
670  Text can be excluded from doc using the following notation:
671  <pre><code>&#40;-- internal comment --&#41;</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>&#40;--BETA: comment
674  for BETA users --&#41;</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>&#40;== include path/to/file
678  ==&#41;</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>&#40;== resource_for v1.shelves.books ==&#41;</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: &#40;== include
689      overview.md ==&#41; </code></pre> This is a shortcut for the following
690      declaration (using pages style): <pre><code>documentation:   summary:
691      ...   pages:   - name: Overview     content: &#40;== include overview.md
692      ==&#41; </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&param=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>&#40;==
1775      include {path} ==&#41;</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: &#40;== include tutorial.md ==&#41;   subpages:   - name: Java
1782      content: &#40;== include tutorial_java.md ==&#41; </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