This product is not supported for your selected Datadog site. ().
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

gcp_serviceusage_service

ancestors

Type: UNORDERED_LIST_STRING

apis

Type: UNORDERED_LIST_STRUCT
Provider name: apis
Description: A list of API interfaces exported by this service. Only the name field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files.

  • methods
    Type: UNORDERED_LIST_STRUCT
    Provider name: methods
    Description: The methods of this interface, in unspecified order.
    • name
      Type: STRING
      Provider name: name
      Description: The simple name of this method.
    • options
      Type: UNORDERED_LIST_STRUCT
      Provider name: options
      Description: Any metadata attached to the method.
      • name
        Type: STRING
        Provider name: name
        Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
    • request_streaming
      Type: BOOLEAN
      Provider name: requestStreaming
      Description: If true, the request is streamed.
    • request_type_url
      Type: STRING
      Provider name: requestTypeUrl
      Description: A URL of the input message type.
    • response_streaming
      Type: BOOLEAN
      Provider name: responseStreaming
      Description: If true, the response is streamed.
    • response_type_url
      Type: STRING
      Provider name: responseTypeUrl
      Description: The URL of the output message type.
    • syntax
      Type: STRING
      Provider name: syntax
      Description: The source syntax of this method.
      Possible values:
      • SYNTAX_PROTO2 - Syntax proto2.
      • SYNTAX_PROTO3 - Syntax proto3.
      • SYNTAX_EDITIONS - Syntax editions.
  • mixins
    Type: UNORDERED_LIST_STRUCT
    Provider name: mixins
    Description: Included interfaces. See Mixin.
    • name
      Type: STRING
      Provider name: name
      Description: The fully qualified name of the interface which is included.
    • root
      Type: STRING
      Provider name: root
      Description: If non-empty specifies a path under which inherited HTTP paths are rooted.
  • name
    Type: STRING
    Provider name: name
    Description: The fully qualified name of this interface, including package name followed by the interface’s simple name.
  • options
    Type: UNORDERED_LIST_STRUCT
    Provider name: options
    Description: Any metadata attached to the interface.
    • name
      Type: STRING
      Provider name: name
      Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
  • source_context
    Type: STRUCT
    Provider name: sourceContext
    Description: Source context for the protocol buffer service represented by this message.
    • file_name
      Type: STRING
      Provider name: fileName
      Description: The path-qualified name of the .proto file that contained the associated protobuf element. For example: "google/protobuf/source_context.proto".
  • syntax
    Type: STRING
    Provider name: syntax
    Description: The source syntax of the service.
    Possible values:
    • SYNTAX_PROTO2 - Syntax proto2.
    • SYNTAX_PROTO3 - Syntax proto3.
    • SYNTAX_EDITIONS - Syntax editions.
  • version
    Type: STRING
    Provider name: version
    Description: A version string for this interface. If specified, must have the form major-version.minor-version, as in 1.10. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses semantic versioning where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in v, as in google.feature.v1. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces.

aspects

Type: UNORDERED_LIST_STRUCT
Provider name: aspects
Description: Configuration aspects. This is a repeated field to allow multiple aspects to be configured. The kind field in each ConfigAspect specifies the type of aspect. The spec field contains the configuration for that aspect. The schema for the spec field is defined by the backend service owners.

  • kind
    Type: STRING
    Provider name: kind
    Description: The type of this aspect configuration.

authentication

Type: STRUCT
Provider name: authentication
Description: Auth configuration.

  • providers
    Type: UNORDERED_LIST_STRUCT
    Provider name: providers
    Description: Defines a set of authentication providers that a service supports.
    • audiences
      Type: STRING
      Provider name: audiences
      Description: The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, JWTs with audiences: - “https://[service.name]/[google.protobuf.Api.name]” - “https://[service.name]/” will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
    • authorization_url
      Type: STRING
      Provider name: authorizationUrl
      Description: Redirect URL if JWT token is required but not present or is expired. Implement authorizationUrl of securityDefinitions in OpenAPI spec.
    • id
      Type: STRING
      Provider name: id
      Description: The unique identifier of the auth provider. It will be referred to by AuthRequirement.provider_id. Example: “bookstore_auth”.
    • issuer
      Type: STRING
      Provider name: issuer
      Description: Identifies the principal that issued the JWT. See https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 Usually a URL or an email address. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com
    • jwks_uri
      Type: STRING
      Provider name: jwksUri
      Description: URL of the provider’s public key set to validate signature of the JWT. See OpenID Discovery. Optional if the key set document: - can be retrieved from OpenID Discovery of the issuer. - can be inferred from the email domain of the issuer (e.g. a Google service account). Example: https://www.googleapis.com/oauth2/v1/certs
    • jwt_locations
      Type: UNORDERED_LIST_STRUCT
      Provider name: jwtLocations
      Description: Defines the locations to extract the JWT. For now it is only used by the Cloud Endpoints to store the OpenAPI extension [x-google-jwt-locations] (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) JWT locations can be one of HTTP headers, URL query parameters or cookies. The rule is that the first match wins. If not specified, default to use following 3 locations: 1) Authorization: Bearer 2) x-goog-iap-jwt-assertion 3) access_token query parameter Default locations can be specified as followings: jwt_locations: - header: Authorization value_prefix: “Bearer " - header: x-goog-iap-jwt-assertion - query: access_token
      • cookie
        Type: STRING
        Provider name: cookie
        Description: Specifies cookie name to extract JWT token.
      • header
        Type: STRING
        Provider name: header
        Description: Specifies HTTP header name to extract JWT token.
      • query
        Type: STRING
        Provider name: query
        Description: Specifies URL query parameter name to extract JWT token.
      • value_prefix
        Type: STRING
        Provider name: valuePrefix
        Description: The value prefix. The value format is “value_prefix{token}” Only applies to “in” header type. Must be empty for “in” query type. If not empty, the header value has to match (case sensitive) this prefix. If not matched, JWT will not be extracted. If matched, JWT will be extracted after the prefix is removed. For example, for “Authorization: Bearer {JWT}”, value_prefix=“Bearer " with a space at the end.
  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: A list of authentication rules that apply to individual API methods. NOTE: All service configuration rules follow “last one wins” order.
    • allow_without_credential
      Type: BOOLEAN
      Provider name: allowWithoutCredential
      Description: If true, the service accepts API keys without any other credential. This flag only applies to HTTP and gRPC requests.
    • oauth
      Type: STRUCT
      Provider name: oauth
      Description: The requirements for OAuth credentials.
    • requirements
      Type: UNORDERED_LIST_STRUCT
      Provider name: requirements
      Description: Requirements for additional authentication providers.
      • audiences
        Type: STRING
        Provider name: audiences
        Description: NOTE: This will be deprecated soon, once AuthProvider.audiences is implemented and accepted in all the runtime components. The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted. When this setting is absent, only JWTs with audience “https://Service_name/API_name” will be accepted. For example, if no audiences are in the setting, LibraryService API will only accept JWTs with the following audience “https://library-example.googleapis.com/google.example.library.v1.LibraryService". Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com
      • provider_id
        Type: STRING
        Provider name: providerId
        Description: id from authentication provider. Example: provider_id: bookstore_auth
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects the methods to which this rule applies. Refer to selector for syntax details.

backend

Type: STRUCT
Provider name: backend
Description: API backend configuration.

  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: A list of API backend rules that apply to individual API methods. NOTE: All service configuration rules follow “last one wins” order.
    • address
      Type: STRING
      Provider name: address
      Description: The address of the API backend. The scheme is used to determine the backend protocol and security. The following schemes are accepted: SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// gRPC None grpcs:// gRPC TLS It is recommended to explicitly include a scheme. Leaving out the scheme may cause constrasting behaviors across platforms. If the port is unspecified, the default is: - 80 for schemes without TLS - 443 for schemes with TLS For HTTP backends, use protocol to specify the protocol version.
    • deadline
      Type: DOUBLE
      Provider name: deadline
      Description: The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.
    • disable_auth
      Type: BOOLEAN
      Provider name: disableAuth
      Description: When disable_auth is true, a JWT ID token won’t be generated and the original “Authorization” HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.
    • jwt_audience
      Type: STRING
      Provider name: jwtAudience
      Description: The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP “authorization” header, and sent to the backend.
    • load_balancing_policy
      Type: STRING
      Provider name: loadBalancingPolicy
      Description: The load balancing policy used for connection to the application backend. Defined as an arbitrary string to accomondate custom load balancing policies supported by the underlying channel, but suggest most users use one of the standard policies, such as the default, “RoundRobin”.
    • min_deadline
      Type: DOUBLE
      Provider name: minDeadline
      Description: Deprecated, do not use.
    • operation_deadline
      Type: DOUBLE
      Provider name: operationDeadline
      Description: The number of seconds to wait for the completion of a long running operation. The default is no deadline.
    • path_translation
      Type: STRING
      Provider name: pathTranslation
    • protocol
      Type: STRING
      Provider name: protocol
      Description: The protocol used for sending a request to the backend. The supported values are “http/1.1” and “h2”. The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to “h2” for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects the methods to which this rule applies. Refer to selector for syntax details.

billing

Type: STRUCT
Provider name: billing
Description: Billing configuration.

  • consumer_destinations
    Type: UNORDERED_LIST_STRUCT
    Provider name: consumerDestinations
    Description: Billing configurations for sending metrics to the consumer project. There can be multiple consumer destinations per service, each one must have a different monitored resource type. A metric can be used in at most one consumer destination.
    • metrics
      Type: UNORDERED_LIST_STRING
      Provider name: metrics
      Description: Names of the metrics to report to this billing destination. Each name must be defined in Service.metrics section.
    • monitored_resource
      Type: STRING
      Provider name: monitoredResource
      Description: The monitored resource type. The type must be defined in Service.monitored_resources section.

config_version

Type: INT32
Provider name: configVersion
Description: Obsolete. Do not use. This field has no semantic meaning. The service config compiler always sets this field to 3.

context

Type: STRUCT
Provider name: context
Description: Context configuration.

  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: A list of RPC context rules that apply to individual API methods. NOTE: All service configuration rules follow “last one wins” order.
    • allowed_request_extensions
      Type: UNORDERED_LIST_STRING
      Provider name: allowedRequestExtensions
      Description: A list of full type names or extension IDs of extensions allowed in grpc side channel from client to backend.
    • allowed_response_extensions
      Type: UNORDERED_LIST_STRING
      Provider name: allowedResponseExtensions
      Description: A list of full type names or extension IDs of extensions allowed in grpc side channel from backend to client.
    • provided
      Type: UNORDERED_LIST_STRING
      Provider name: provided
      Description: A list of full type names of provided contexts. It is used to support propagating HTTP headers and ETags from the response extension.
    • requested
      Type: UNORDERED_LIST_STRING
      Provider name: requested
      Description: A list of full type names of requested contexts, only the requested context will be made available to the backend.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects the methods to which this rule applies. Refer to selector for syntax details.

control

Type: STRUCT
Provider name: control
Description: Configuration for the service control plane.

  • environment
    Type: STRING
    Provider name: environment
    Description: The service controller environment to use. If empty, no control plane feature (like quota and billing) will be enabled. The recommended value for most services is servicecontrol.googleapis.com
  • method_policies
    Type: UNORDERED_LIST_STRUCT
    Provider name: methodPolicies
    Description: Defines policies applying to the API methods of the service.
    • request_policies
      Type: UNORDERED_LIST_STRUCT
      Provider name: requestPolicies
      Description: Policies that are applicable to the request message.
      • resource_permission
        Type: STRING
        Provider name: resourcePermission
        Description: Specifies the required permission(s) for the resource referred to by the field. It requires the field contains a valid resource reference, and the request must pass the permission checks to proceed. For example, “resourcemanager.projects.get”.
      • resource_type
        Type: STRING
        Provider name: resourceType
        Description: Specifies the resource type for the resource referred to by the field.
      • selector
        Type: STRING
        Provider name: selector
        Description: Selects one or more request or response message fields to apply this FieldPolicy. When a FieldPolicy is used in proto annotation, the selector must be left as empty. The service config generator will automatically fill the correct value. When a FieldPolicy is used in service config, the selector must be a comma-separated string with valid request or response field paths, such as “foo.bar” or “foo.bar,foo.baz”.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects a method to which these policies should be enforced, for example, “google.pubsub.v1.Subscriber.CreateSubscription”. Refer to selector for syntax details. NOTE: This field must not be set in the proto annotation. It will be automatically filled by the service config compiler .

custom_error

Type: STRUCT
Provider name: customError
Description: Custom error configuration.

  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: The list of custom error rules that apply to individual API messages. NOTE: All service configuration rules follow “last one wins” order.
    • is_error_type
      Type: BOOLEAN
      Provider name: isErrorType
      Description: Mark this message as possible payload in error response. Otherwise, objects of this type will be filtered when they appear in error payload.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects messages to which this rule applies. Refer to selector for syntax details.
  • types
    Type: UNORDERED_LIST_STRING
    Provider name: types
    Description: The list of custom error detail types, e.g. ‘google.foo.v1.CustomError’.

documentation

Type: STRUCT
Provider name: documentation
Description: Additional API documentation.

  • additional_iam_info
    Type: STRING
    Provider name: additionalIamInfo
    Description: Optional information about the IAM configuration. This is typically used to link to documentation about a product’s IAM roles and permissions.
  • documentation_root_url
    Type: STRING
    Provider name: documentationRootUrl
    Description: The URL to the root of documentation.
  • overview
    Type: STRING
    Provider name: overview
    Description: Declares a single overview page. For example: documentation: summary: … overview: (== include overview.md ==) This is a shortcut for the following declaration (using pages style): documentation: summary: … pages: - name: Overview content: (== include overview.md ==) Note: you cannot specify both overview field and pages field.
  • pages
    Type: UNORDERED_LIST_STRUCT
    Provider name: pages
    Description: The top level pages for the documentation set.
    • content
      Type: STRING
      Provider name: content
      Description: The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.
    • name
      Type: STRING
      Provider name: name
      Description: The name of the page. It will be used as an identity of the page to generate URI of the page, text of the link to this page in navigation, etc. The full page name (start from the root page name to this page concatenated with .) can be used as reference to the page in your documentation. For example: pages: - name: Tutorial content: (== include tutorial.md ==) subpages: - name: Java content: (== include tutorial_java.md ==) You can reference Java page using Markdown reference link syntax: Java.
  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: A list of documentation rules that apply to individual API elements. NOTE: All service configuration rules follow “last one wins” order.
    • deprecation_description
      Type: STRING
      Provider name: deprecationDescription
      Description: Deprecation description of the selected element(s). It can be provided if an element is marked as deprecated.
    • description
      Type: STRING
      Provider name: description
      Description: Description of the selected proto element (e.g. a message, a method, a ‘service’ definition, or a field). Defaults to leading & trailing comments taken from the proto source definition of the proto element.
    • disable_replacement_words
      Type: STRING
      Provider name: disableReplacementWords
      Description: String of comma or space separated case-sensitive words for which method/field name replacement will be disabled.
    • selector
      Type: STRING
      Provider name: selector
      Description: The selector is a comma-separated list of patterns for any element such as a method, a field, an enum value. Each pattern is a qualified name of the element which may end in “”, indicating a wildcard. Wildcards are only allowed at the end and for a whole component of the qualified name, i.e. “foo.” is ok, but not “foo.b*” or “foo..bar”. A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern “” is used.
  • section_overrides
    Type: UNORDERED_LIST_STRUCT
    Provider name: sectionOverrides
    Description: Specifies section and content to override the boilerplate content. Currently overrides following sections: 1. rest.service.client_libraries
    • content
      Type: STRING
      Provider name: content
      Description: The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file. The content can be used to produce the documentation page such as HTML format page.
    • name
      Type: STRING
      Provider name: name
      Description: The name of the page. It will be used as an identity of the page to generate URI of the page, text of the link to this page in navigation, etc. The full page name (start from the root page name to this page concatenated with .) can be used as reference to the page in your documentation. For example: pages: - name: Tutorial content: (== include tutorial.md ==) subpages: - name: Java content: (== include tutorial_java.md ==) You can reference Java page using Markdown reference link syntax: Java.
  • service_root_url
    Type: STRING
    Provider name: serviceRootUrl
    Description: Specifies the service root url if the default one (the service name from the yaml file) is not suitable. This can be seen in any fully specified service urls as well as sections that show a base that other urls are relative to.
  • summary
    Type: STRING
    Provider name: summary
    Description: A short description of what the service does. The summary must be plain text. It becomes the overview of the service displayed in Google Cloud Console. NOTE: This field is equivalent to the standard field description.

endpoints

Type: UNORDERED_LIST_STRUCT
Provider name: endpoints
Description: Configuration for network endpoints. If this is empty, then an endpoint with the same name as the service is automatically generated to service all defined APIs.

  • aliases
    Type: UNORDERED_LIST_STRING
    Provider name: aliases
    Description: Aliases for this endpoint, these will be served by the same UrlMap as the parent endpoint, and will be provisioned in the GCP stack for the Regional Endpoints.
  • allow_cors
    Type: BOOLEAN
    Provider name: allowCors
    Description: Allowing CORS, aka cross-domain traffic, would allow the backends served from this endpoint to receive and respond to HTTP OPTIONS requests. The response will be used by the browser to determine whether the subsequent cross-origin request is allowed to proceed.
  • name
    Type: STRING
    Provider name: name
    Description: The canonical name of this endpoint.
  • target
    Type: STRING
    Provider name: target
    Description: The specification of an Internet routable address of API frontend that will handle requests to this API Endpoint. It should be either a valid IPv4 address or a fully-qualified domain name. For example, “8.8.8.8” or “myservice.appspot.com”.

enums

Type: UNORDERED_LIST_STRUCT
Provider name: enums
Description: A list of all enum types included in this API service. Enums referenced directly or indirectly by the apis are automatically included. Enums which are not referenced but shall be included should be listed here by name by the configuration author. Example: enums: - name: google.someapi.v1.SomeEnum

  • edition
    Type: STRING
    Provider name: edition
    Description: The source edition string, only valid when syntax is SYNTAX_EDITIONS.
  • enumvalue
    Type: UNORDERED_LIST_STRUCT
    Provider name: enumvalue
    Description: Enum value definitions.
    • name
      Type: STRING
      Provider name: name
      Description: Enum value name.
    • number
      Type: INT32
      Provider name: number
      Description: Enum value number.
    • options
      Type: UNORDERED_LIST_STRUCT
      Provider name: options
      Description: Protocol buffer options.
      • name
        Type: STRING
        Provider name: name
        Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
  • name
    Type: STRING
    Provider name: name
    Description: Enum type name.
  • options
    Type: UNORDERED_LIST_STRUCT
    Provider name: options
    Description: Protocol buffer options.
    • name
      Type: STRING
      Provider name: name
      Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
  • source_context
    Type: STRUCT
    Provider name: sourceContext
    Description: The source context.
    • file_name
      Type: STRING
      Provider name: fileName
      Description: The path-qualified name of the .proto file that contained the associated protobuf element. For example: "google/protobuf/source_context.proto".
  • syntax
    Type: STRING
    Provider name: syntax
    Description: The source syntax.
    Possible values:
    • SYNTAX_PROTO2 - Syntax proto2.
    • SYNTAX_PROTO3 - Syntax proto3.
    • SYNTAX_EDITIONS - Syntax editions.

http

Type: STRUCT
Provider name: http
Description: HTTP configuration.

  • fully_decode_reserved_expansion
    Type: BOOLEAN
    Provider name: fullyDecodeReservedExpansion
    Description: When set to true, URL path parameters will be fully URI-decoded except in cases of single segment matches in reserved expansion, where “%2F” will be left encoded. The default behavior is to not decode RFC 6570 reserved characters in multi segment matches.
  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: A list of HTTP configuration rules that apply to individual API methods. NOTE: All service configuration rules follow “last one wins” order.
    • body
      Type: STRING
      Provider name: body
      Description: The name of the request field whose value is mapped to the HTTP request body, or * for mapping all request fields not captured by the path pattern to the HTTP body, or omitted for not having any HTTP request body. NOTE: the referred field must be present at the top-level of the request message type.
    • custom
      Type: STRUCT
      Provider name: custom
      Description: The custom pattern is used for specifying an HTTP method that is not included in the pattern field, such as HEAD, or “*” to leave the HTTP method unspecified for this rule. The wild-card rule is useful for services that provide content to Web (HTML) clients.
      • kind
        Type: STRING
        Provider name: kind
        Description: The name of this custom HTTP verb.
      • path
        Type: STRING
        Provider name: path
        Description: The path matched by this custom verb.
    • delete
      Type: STRING
      Provider name: delete
      Description: Maps to HTTP DELETE. Used for deleting a resource.
    • get
      Type: STRING
      Provider name: get
      Description: Maps to HTTP GET. Used for listing and getting information about resources.
    • patch
      Type: STRING
      Provider name: patch
      Description: Maps to HTTP PATCH. Used for updating a resource.
    • post
      Type: STRING
      Provider name: post
      Description: Maps to HTTP POST. Used for creating a resource or performing an action.
    • put
      Type: STRING
      Provider name: put
      Description: Maps to HTTP PUT. Used for replacing a resource.
    • response_body
      Type: STRING
      Provider name: responseBody
      Description: Optional. The name of the response field whose value is mapped to the HTTP response body. When omitted, the entire response message will be used as the HTTP response body. NOTE: The referred field must be present at the top-level of the response message type.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects a method to which this rule applies. Refer to selector for syntax details.

id

Type: STRING
Provider name: id
Description: A unique ID for a specific instance of this message, typically assigned by the client for tracking purpose. Must be no longer than 63 characters and only lower case letters, digits, ‘.’, ‘_’ and ‘-’ are allowed. If empty, the server may choose to generate one instead.

labels

Type: UNORDERED_LIST_STRING

logging

Type: STRUCT
Provider name: logging
Description: Logging configuration.

  • consumer_destinations
    Type: UNORDERED_LIST_STRUCT
    Provider name: consumerDestinations
    Description: Logging configurations for sending logs to the consumer project. There can be multiple consumer destinations, each one must have a different monitored resource type. A log can be used in at most one consumer destination.
    • logs
      Type: UNORDERED_LIST_STRING
      Provider name: logs
      Description: Names of the logs to be sent to this destination. Each name must be defined in the Service.logs section. If the log name is not a domain scoped name, it will be automatically prefixed with the service name followed by “/”.
    • monitored_resource
      Type: STRING
      Provider name: monitoredResource
      Description: The monitored resource type. The type must be defined in the Service.monitored_resources section.
  • producer_destinations
    Type: UNORDERED_LIST_STRUCT
    Provider name: producerDestinations
    Description: Logging configurations for sending logs to the producer project. There can be multiple producer destinations, each one must have a different monitored resource type. A log can be used in at most one producer destination.
    • logs
      Type: UNORDERED_LIST_STRING
      Provider name: logs
      Description: Names of the logs to be sent to this destination. Each name must be defined in the Service.logs section. If the log name is not a domain scoped name, it will be automatically prefixed with the service name followed by “/”.
    • monitored_resource
      Type: STRING
      Provider name: monitoredResource
      Description: The monitored resource type. The type must be defined in the Service.monitored_resources section.

logs

Type: UNORDERED_LIST_STRUCT
Provider name: logs
Description: Defines the logs used by this service.

  • description
    Type: STRING
    Provider name: description
    Description: A human-readable description of this log. This information appears in the documentation and can contain details.
  • gcp_display_name
    Type: STRING
    Provider name: displayName
    Description: The human-readable name for this log. This information appears on the user interface and should be concise.
  • name
    Type: STRING
    Provider name: name
    Description: The name of the log. It must be less than 512 characters long and can include the following characters: upper- and lower-case alphanumeric characters [A-Za-z0-9], and punctuation characters including slash, underscore, hyphen, period [/_-.].

metrics

Type: UNORDERED_LIST_STRUCT
Provider name: metrics
Description: Defines the metrics used by this service.

  • description
    Type: STRING
    Provider name: description
    Description: A detailed description of the metric, which can be used in documentation.
  • gcp_display_name
    Type: STRING
    Provider name: displayName
    Description: A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example “Request count”. This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota.
  • launch_stage
    Type: STRING
    Provider name: launchStage
    Description: Optional. The launch stage of the metric definition.
    Possible values:
    • LAUNCH_STAGE_UNSPECIFIED - Do not use this default value.
    • UNIMPLEMENTED - The feature is not yet implemented. Users can not use it.
    • PRELAUNCH - Prelaunch features are hidden from users and are only visible internally.
    • EARLY_ACCESS - Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.
    • ALPHA - Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests – just like they would in normal production cases.
    • BETA - Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.
    • GA - GA features are open to all developers and are considered stable and fully qualified for production use.
    • DEPRECATED - Deprecated features are scheduled to be shut down and removed. For more information, see the ‘Deprecation Policy’ section of our Terms of Service and the Google Cloud Platform Subject to the Deprecation Policy documentation.
  • metadata
    Type: STRUCT
    Provider name: metadata
    Description: Optional. Metadata which can be used to guide usage of the metric.
    • ingest_delay
      Type: STRING
      Provider name: ingestDelay
      Description: The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors.
    • launch_stage
      Type: STRING
      Provider name: launchStage
      Description: Deprecated. Must use the MetricDescriptor.launch_stage instead.
      Possible values:
      • LAUNCH_STAGE_UNSPECIFIED - Do not use this default value.
      • UNIMPLEMENTED - The feature is not yet implemented. Users can not use it.
      • PRELAUNCH - Prelaunch features are hidden from users and are only visible internally.
      • EARLY_ACCESS - Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.
      • ALPHA - Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests – just like they would in normal production cases.
      • BETA - Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.
      • GA - GA features are open to all developers and are considered stable and fully qualified for production use.
      • DEPRECATED - Deprecated features are scheduled to be shut down and removed. For more information, see the ‘Deprecation Policy’ section of our Terms of Service and the Google Cloud Platform Subject to the Deprecation Policy documentation.
    • sample_period
      Type: STRING
      Provider name: samplePeriod
      Description: The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.
    • time_series_resource_hierarchy_level
      Type: UNORDERED_LIST_STRING
      Provider name: timeSeriesResourceHierarchyLevel
      Description: The scope of the timeseries data of the metric.
  • metric_kind
    Type: STRING
    Provider name: metricKind
    Description: Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metric_kind and value_type might not be supported.
    Possible values:
    • METRIC_KIND_UNSPECIFIED - Do not use this default value.
    • GAUGE - An instantaneous measurement of a value.
    • DELTA - The change in a value during a time interval.
    • CUMULATIVE - A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points.
  • monitored_resource_types
    Type: UNORDERED_LIST_STRING
    Provider name: monitoredResourceTypes
    Description: Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.
  • name
    Type: STRING
    Provider name: name
    Description: The resource name of the metric descriptor.
  • type
    Type: STRING
    Provider name: type
    Description: The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name custom.googleapis.com or external.googleapis.com. Metric types should use a natural hierarchical grouping. For example: “custom.googleapis.com/invoice/paid/amount” “external.googleapis.com/prometheus/up” “appengine.googleapis.com/http/server/response_latencies”
  • unit
    Type: STRING
    Provider name: unit
    Description: The units in which the metric value is reported. It is only applicable if the value_type is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of the stored metric values. Different systems might scale the values to be more easily displayed (so a value of 0.02kBy might be displayed as 20By, and a value of 3523kBy might be displayed as 3.5MBy). However, if the unit is kBy, then the value of the metric is always in thousands of bytes, no matter how it might be displayed. If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently 1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as 12005. Alternatively, if you want a custom metric to record data in a more granular way, you can create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value 12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024). The supported units are a subset of The Unified Code for Units of Measure standard: Basic units (UNIT) * bit bit * By byte * s second * min minute * h hour * d day * 1 dimensionless Prefixes (PREFIX) * k kilo (10^3) * M mega (10^6) * G giga (10^9) * T tera (10^12) * P peta (10^15) * E exa (10^18) * Z zetta (10^21) * Y yotta (10^24) * m milli (10^-3) * u micro (10^-6) * n nano (10^-9) * p pico (10^-12) * f femto (10^-15) * a atto (10^-18) * z zepto (10^-21) * y yocto (10^-24) * Ki kibi (2^10) * Mi mebi (2^20) * Gi gibi (2^30) * Ti tebi (2^40) * Pi pebi (2^50) Grammar The grammar also includes these connectors: * / division or ratio (as an infix operator). For examples, kBy/{email} or MiBy/10ms (although you should almost never have /s in a metric unit; rates should always be computed at query time from the underlying cumulative or delta value). * . multiplication or composition (as an infix operator). For examples, GBy.d or k{watt}.h. The grammar for a unit is as follows: Expression = Component { “.” Component } { “/” Component } ; Component = ( [ PREFIX ] UNIT | “%” ) [ Annotation ] | Annotation | “1” ; Annotation = “{” NAME “}” ; Notes: * Annotation is just a comment if it follows a UNIT. If the annotation is used alone, then the unit is equivalent to 1. For examples, {request}/s == 1/s, By{transmitted}/s == By/s. * NAME is a sequence of non-blank printable ASCII characters not containing { or }. * 1 represents a unitary dimensionless unit of 1, such as in 1/s. It is typically used when none of the basic units are appropriate. For example, “new users per day” can be represented as 1/d or {new-users}/d (and a metric value 5 would mean “5 new users). Alternatively, “thousands of page views per day” would be represented as 1000/d or k1/d or k{page_views}/d (and a metric value of 5.3 would mean “5300 page views per day”). * % represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value 3 means “3 percent”). * 10^2.% indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value 0.03 means “3 percent”).
  • value_type
    Type: STRING
    Provider name: valueType
    Description: Whether the measurement is an integer, a floating-point number, etc. Some combinations of metric_kind and value_type might not be supported.
    Possible values:
    • VALUE_TYPE_UNSPECIFIED - Do not use this default value.
    • BOOL - The value is a boolean. This value type can be used only if the metric kind is GAUGE.
    • INT64 - The value is a signed 64-bit integer.
    • DOUBLE - The value is a double precision floating point number.
    • STRING - The value is a text string. This value type can be used only if the metric kind is GAUGE.
    • DISTRIBUTION - The value is a Distribution.
    • MONEY - The value is money.

monitored_resources

Type: UNORDERED_LIST_STRUCT
Provider name: monitoredResources
Description: Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations.

  • description
    Type: STRING
    Provider name: description
    Description: Optional. A detailed description of the monitored resource type that might be used in documentation.
  • gcp_display_name
    Type: STRING
    Provider name: displayName
    Description: Optional. A concise name for the monitored resource type that might be displayed in user interfaces. It should be a Title Cased Noun Phrase, without any article or other determiners. For example, "Google Cloud SQL Database".
  • launch_stage
    Type: STRING
    Provider name: launchStage
    Description: Optional. The launch stage of the monitored resource definition.
    Possible values:
    • LAUNCH_STAGE_UNSPECIFIED - Do not use this default value.
    • UNIMPLEMENTED - The feature is not yet implemented. Users can not use it.
    • PRELAUNCH - Prelaunch features are hidden from users and are only visible internally.
    • EARLY_ACCESS - Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.
    • ALPHA - Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests – just like they would in normal production cases.
    • BETA - Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.
    • GA - GA features are open to all developers and are considered stable and fully qualified for production use.
    • DEPRECATED - Deprecated features are scheduled to be shut down and removed. For more information, see the ‘Deprecation Policy’ section of our Terms of Service and the Google Cloud Platform Subject to the Deprecation Policy documentation.
  • name
    Type: STRING
    Provider name: name
    Description: Optional. The resource name of the monitored resource descriptor: "projects/{project_id}/monitoredResourceDescriptors/{type}" where {type} is the value of the type field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format "monitoredResourceDescriptors/{type}".
  • type
    Type: STRING
    Provider name: type
    Description: Required. The monitored resource type. For example, the type "cloudsql_database" represents databases in Google Cloud SQL. For a list of types, see Monitored resource types and Logging resource types.

monitoring

Type: STRUCT
Provider name: monitoring
Description: Monitoring configuration.

  • consumer_destinations
    Type: UNORDERED_LIST_STRUCT
    Provider name: consumerDestinations
    Description: Monitoring configurations for sending metrics to the consumer project. There can be multiple consumer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.
    • metrics
      Type: UNORDERED_LIST_STRING
      Provider name: metrics
      Description: Types of the metrics to report to this monitoring destination. Each type must be defined in Service.metrics section.
    • monitored_resource
      Type: STRING
      Provider name: monitoredResource
      Description: The monitored resource type. The type must be defined in Service.monitored_resources section.
  • producer_destinations
    Type: UNORDERED_LIST_STRUCT
    Provider name: producerDestinations
    Description: Monitoring configurations for sending metrics to the producer project. There can be multiple producer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.
    • metrics
      Type: UNORDERED_LIST_STRING
      Provider name: metrics
      Description: Types of the metrics to report to this monitoring destination. Each type must be defined in Service.metrics section.
    • monitored_resource
      Type: STRING
      Provider name: monitoredResource
      Description: The monitored resource type. The type must be defined in Service.monitored_resources section.

name

Type: STRING
Provider name: name
Description: The service name, which is a DNS-like logical identifier for the service, such as calendar.googleapis.com. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name.

organization_id

Type: STRING

parent

Type: STRING

producer_project_id

Type: STRING
Provider name: producerProjectId
Description: The Google project that owns this service.

project_id

Type: STRING

project_number

Type: STRING

publishing

Type: STRUCT
Provider name: publishing
Description: Settings for Google Cloud Client libraries generated from APIs defined as protocol buffers.

  • api_short_name
    Type: STRING
    Provider name: apiShortName
    Description: Used as a tracking tag when collecting data about the APIs developer relations artifacts like docs, packages delivered to package managers, etc. Example: “speech”.
  • codeowner_github_teams
    Type: UNORDERED_LIST_STRING
    Provider name: codeownerGithubTeams
    Description: GitHub teams to be added to CODEOWNERS in the directory in GitHub containing source code for the client libraries for this API.
  • doc_tag_prefix
    Type: STRING
    Provider name: docTagPrefix
    Description: A prefix used in sample code when demarking regions to be included in documentation.
  • documentation_uri
    Type: STRING
    Provider name: documentationUri
    Description: Link to product home page. Example: https://cloud.google.com/asset-inventory/docs/overview
  • github_label
    Type: STRING
    Provider name: githubLabel
    Description: GitHub label to apply to issues and pull requests opened for this API.
  • library_settings
    Type: UNORDERED_LIST_STRUCT
    Provider name: librarySettings
    Description: Client library settings. If the same version string appears multiple times in this list, then the last one wins. Settings from earlier settings with the same version string are discarded.
    • cpp_settings
      Type: STRUCT
      Provider name: cppSettings
      Description: Settings for C++ client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
    • dotnet_settings
      Type: STRUCT
      Provider name: dotnetSettings
      Description: Settings for .NET client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
      • forced_namespace_aliases
        Type: UNORDERED_LIST_STRING
        Provider name: forcedNamespaceAliases
        Description: Namespaces which must be aliased in snippets due to a known (but non-generator-predictable) naming collision
      • handwritten_signatures
        Type: UNORDERED_LIST_STRING
        Provider name: handwrittenSignatures
        Description: Method signatures (in the form “service.method(signature)”) which are provided separately, so shouldn’t be generated. Snippets calling these methods are still generated, however.
      • ignored_resources
        Type: UNORDERED_LIST_STRING
        Provider name: ignoredResources
        Description: List of full resource types to ignore during generation. This is typically used for API-specific Location resources, which should be handled by the generator as if they were actually the common Location resources. Example entry: “documentai.googleapis.com/Location”
    • go_settings
      Type: STRUCT
      Provider name: goSettings
      Description: Settings for Go client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
    • java_settings
      Type: STRUCT
      Provider name: javaSettings
      Description: Settings for legacy Java features, supported in the Service YAML.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
      • library_package
        Type: STRING
        Provider name: libraryPackage
        Description: The package name to use in Java. Clobbers the java_package option set in the protobuf. This should be used only by APIs who have already set the language_settings.java.package_name” field in gapic.yaml. API teams should use the protobuf java_package option where possible. Example of a YAML configuration:: publishing: library_settings: java_settings: library_package: com.google.cloud.pubsub.v1
    • launch_stage
      Type: STRING
      Provider name: launchStage
      Description: Launch stage of this version of the API.
      Possible values:
      • LAUNCH_STAGE_UNSPECIFIED - Do not use this default value.
      • UNIMPLEMENTED - The feature is not yet implemented. Users can not use it.
      • PRELAUNCH - Prelaunch features are hidden from users and are only visible internally.
      • EARLY_ACCESS - Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.
      • ALPHA - Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests – just like they would in normal production cases.
      • BETA - Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.
      • GA - GA features are open to all developers and are considered stable and fully qualified for production use.
      • DEPRECATED - Deprecated features are scheduled to be shut down and removed. For more information, see the ‘Deprecation Policy’ section of our Terms of Service and the Google Cloud Platform Subject to the Deprecation Policy documentation.
    • node_settings
      Type: STRUCT
      Provider name: nodeSettings
      Description: Settings for Node client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
    • php_settings
      Type: STRUCT
      Provider name: phpSettings
      Description: Settings for PHP client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
      • library_package
        Type: STRING
        Provider name: libraryPackage
        Description: The package name to use in Php. Clobbers the php_namespace option set in the protobuf. This should be used only by APIs who have already set the language_settings.php.package_name” field in gapic.yaml. API teams should use the protobuf php_namespace option where possible. Example of a YAML configuration:: publishing: library_settings: php_settings: library_package: Google\Cloud\PubSub\V1
    • python_settings
      Type: STRUCT
      Provider name: pythonSettings
      Description: Settings for Python client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
      • experimental_features
        Type: STRUCT
        Provider name: experimentalFeatures
        Description: Experimental features to be included during client library generation.
        • protobuf_pythonic_types_enabled
          Type: BOOLEAN
          Provider name: protobufPythonicTypesEnabled
          Description: Enables generation of protobuf code using new types that are more Pythonic which are included in protobuf>=5.29.x. This feature will be enabled by default 1 month after launching the feature in preview packages.
        • rest_async_io_enabled
          Type: BOOLEAN
          Provider name: restAsyncIoEnabled
          Description: Enables generation of asynchronous REST clients if rest transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.
        • unversioned_package_disabled
          Type: BOOLEAN
          Provider name: unversionedPackageDisabled
          Description: Disables generation of an unversioned Python package for this client library. This means that the module names will need to be versioned in import statements. For example import google.cloud.library_v2 instead of import google.cloud.library.
    • rest_numeric_enums
      Type: BOOLEAN
      Provider name: restNumericEnums
      Description: When using transport=rest, the client request will encode enums as numbers rather than strings.
    • ruby_settings
      Type: STRUCT
      Provider name: rubySettings
      Description: Settings for Ruby client libraries.
      • common
        Type: STRUCT
        Provider name: common
        Description: Some settings.
        • destinations
          Type: UNORDERED_LIST_STRING
          Provider name: destinations
          Description: The destination where API teams want this client library to be published.
        • reference_docs_uri
          Type: STRING
          Provider name: referenceDocsUri
          Description: Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest
        • selective_gapic_generation
          Type: STRUCT
          Provider name: selectiveGapicGeneration
          Description: Configuration for which RPCs should be generated in the GAPIC client.
          • generate_omitted_as_internal
            Type: BOOLEAN
            Provider name: generateOmittedAsInternal
            Description: Setting this to true indicates to the client generators that methods that would be excluded from the generation should instead be generated in a way that indicates these methods should not be consumed by end users. How this is expressed is up to individual language implementations to decide. Some examples may be: added annotations, obfuscated identifiers, or other language idiomatic patterns.
          • methods
            Type: UNORDERED_LIST_STRING
            Provider name: methods
            Description: An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.
    • version
      Type: STRING
      Provider name: version
      Description: Version of the API to apply these settings to. This is the full protobuf package for the API, ending in the version element. Examples: “google.cloud.speech.v1” and “google.spanner.admin.database.v1”.
  • method_settings
    Type: UNORDERED_LIST_STRUCT
    Provider name: methodSettings
    Description: A list of API method settings, e.g. the behavior for methods that use the long-running operation pattern.
    • auto_populated_fields
      Type: UNORDERED_LIST_STRING
      Provider name: autoPopulatedFields
      Description: List of top-level fields of the request message, that should be automatically populated by the client libraries based on their (google.api.field_info).format. Currently supported format: UUID4. Example of a YAML configuration: publishing: method_settings: - selector: google.example.v1.ExampleService.CreateExample auto_populated_fields: - request_id
    • batching
      Type: STRUCT
      Provider name: batching
      Description: Batching configuration for an API method in client libraries. Example of a YAML configuration: publishing: method_settings: - selector: google.example.v1.ExampleService.BatchCreateExample batching: element_count_threshold: 1000 request_byte_threshold: 100000000 delay_threshold_millis: 10
      • batch_descriptor
        Type: STRUCT
        Provider name: batchDescriptor
        Description: The request and response fields used in batching.
        • batched_field
          Type: STRING
          Provider name: batchedField
          Description: The repeated field in the request message to be aggregated by batching.
        • discriminator_fields
          Type: UNORDERED_LIST_STRING
          Provider name: discriminatorFields
          Description: A list of the fields in the request message. Two requests will be batched together only if the values of every field specified in request_discriminator_fields is equal between the two requests.
        • subresponse_field
          Type: STRING
          Provider name: subresponseField
          Description: Optional. When present, indicates the field in the response message to be used to demultiplex the response into multiple response messages, in correspondence with the multiple request messages originally batched together.
      • thresholds
        Type: STRUCT
        Provider name: thresholds
        Description: The thresholds which trigger a batched request to be sent.
        • delay_threshold
          Type: STRING
          Provider name: delayThreshold
          Description: The duration after which a batch should be sent, starting from the addition of the first message to that batch.
        • element_count_limit
          Type: INT32
          Provider name: elementCountLimit
          Description: The maximum number of elements collected in a batch that could be accepted by server.
        • element_count_threshold
          Type: INT32
          Provider name: elementCountThreshold
          Description: The number of elements of a field collected into a batch which, if exceeded, causes the batch to be sent.
        • flow_control_byte_limit
          Type: INT32
          Provider name: flowControlByteLimit
          Description: The maximum size of data allowed by flow control.
        • flow_control_element_limit
          Type: INT32
          Provider name: flowControlElementLimit
          Description: The maximum number of elements allowed by flow control.
        • flow_control_limit_exceeded_behavior
          Type: STRING
          Provider name: flowControlLimitExceededBehavior
          Description: The behavior to take when the flow control limit is exceeded.
          Possible values:
          • UNSET_BEHAVIOR - Default behavior, system-defined.
          • THROW_EXCEPTION - Stop operation, raise error.
          • BLOCK - Pause operation until limit clears.
          • IGNORE - Continue operation, disregard limit.
        • request_byte_limit
          Type: INT32
          Provider name: requestByteLimit
          Description: The maximum size of the request that could be accepted by server.
        • request_byte_threshold
          Type: INT64
          Provider name: requestByteThreshold
          Description: The aggregated size of the batched field which, if exceeded, causes the batch to be sent. This size is computed by aggregating the sizes of the request field to be batched, not of the entire request message.
    • long_running
      Type: STRUCT
      Provider name: longRunning
      Description: Describes settings to use for long-running operations when generating API methods for RPCs. Complements RPCs that use the annotations in google/longrunning/operations.proto. Example of a YAML configuration:: publishing: method_settings: - selector: google.cloud.speech.v2.Speech.BatchRecognize long_running: initial_poll_delay: 60s # 1 minute poll_delay_multiplier: 1.5 max_poll_delay: 360s # 6 minutes total_poll_timeout: 54000s # 90 minutes
      • initial_poll_delay
        Type: STRING
        Provider name: initialPollDelay
        Description: Initial delay after which the first poll request will be made. Default value: 5 seconds.
      • max_poll_delay
        Type: STRING
        Provider name: maxPollDelay
        Description: Maximum time between two subsequent poll requests. Default value: 45 seconds.
      • poll_delay_multiplier
        Type: FLOAT
        Provider name: pollDelayMultiplier
        Description: Multiplier to gradually increase delay between subsequent polls until it reaches max_poll_delay. Default value: 1.5.
      • total_poll_timeout
        Type: STRING
        Provider name: totalPollTimeout
        Description: Total polling timeout. Default value: 5 minutes.
    • selector
      Type: STRING
      Provider name: selector
      Description: The fully qualified name of the method, for which the options below apply. This is used to find the method to apply the options. Example: publishing: method_settings: - selector: google.storage.control.v2.StorageControl.CreateFolder # method settings for CreateFolder…
  • new_issue_uri
    Type: STRING
    Provider name: newIssueUri
    Description: Link to a public URI where users can report issues. Example: https://issuetracker.google.com/issues/new?component=190865&template=1161103
  • organization
    Type: STRING
    Provider name: organization
    Description: For whom the client library is being published.
    Possible values:
    • CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED - Not useful.
    • CLOUD - Google Cloud Platform Org.
    • ADS - Ads (Advertising) Org.
    • PHOTOS - Photos Org.
    • STREET_VIEW - Street View Org.
    • SHOPPING - Shopping Org.
    • GEO - Geo Org.
    • GENERATIVE_AI - Generative AI - https://developers.generativeai.google
  • proto_reference_documentation_uri
    Type: STRING
    Provider name: protoReferenceDocumentationUri
    Description: Optional link to proto reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rpc
  • rest_reference_documentation_uri
    Type: STRING
    Provider name: restReferenceDocumentationUri
    Description: Optional link to REST reference documentation. Example: https://cloud.google.com/pubsub/lite/docs/reference/rest

quota

Type: STRUCT
Provider name: quota
Description: Quota configuration.

  • limits
    Type: UNORDERED_LIST_STRUCT
    Provider name: limits
    Description: List of QuotaLimit definitions for the service.
    • default_limit
      Type: INT64
      Provider name: defaultLimit
      Description: Default number of tokens that can be consumed during the specified duration. This is the number of tokens assigned when a client application developer activates the service for his/her project. Specifying a value of 0 will block all requests. This can be used if you are provisioning quota to selected consumers and blocking others. Similarly, a value of -1 will indicate an unlimited quota. No other negative values are allowed. Used by group-based quotas only.
    • description
      Type: STRING
      Provider name: description
      Description: Optional. User-visible, extended description for this quota limit. Should be used only when more context is needed to understand this limit than provided by the limit’s display name (see: display_name).
    • duration
      Type: STRING
      Provider name: duration
      Description: Duration of this limit in textual notation. Must be “100s” or “1d”. Used by group-based quotas only.
    • free_tier
      Type: INT64
      Provider name: freeTier
      Description: Free tier value displayed in the Developers Console for this limit. The free tier is the number of tokens that will be subtracted from the billed amount when billing is enabled. This field can only be set on a limit with duration “1d”, in a billable group; it is invalid on any other limit. If this field is not set, it defaults to 0, indicating that there is no free tier for this service. Used by group-based quotas only.
    • gcp_display_name
      Type: STRING
      Provider name: displayName
      Description: User-visible display name for this limit. Optional. If not set, the UI will provide a default display name based on the quota configuration. This field can be used to override the default display name generated from the configuration.
    • max_limit
      Type: INT64
      Provider name: maxLimit
      Description: Maximum number of tokens that can be consumed during the specified duration. Client application developers can override the default limit up to this maximum. If specified, this value cannot be set to a value less than the default limit. If not specified, it is set to the default limit. To allow clients to apply overrides with no upper bound, set this to -1, indicating unlimited maximum quota. Used by group-based quotas only.
    • metric
      Type: STRING
      Provider name: metric
      Description: The name of the metric this quota limit applies to. The quota limits with the same metric will be checked together during runtime. The metric must be defined within the service config.
    • name
      Type: STRING
      Provider name: name
      Description: Name of the quota limit. The name must be provided, and it must be unique within the service. The name can only include alphanumeric characters as well as ‘-’. The maximum length of the limit name is 64 characters.
    • unit
      Type: STRING
      Provider name: unit
      Description: Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * “1/min/{project}” for quota per minute per project. Note: the order of unit components is insignificant. The “1” at the beginning is required to follow the metric unit syntax.
  • metric_rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: metricRules
    Description: List of MetricRule definitions, each one mapping a selected method to one or more metrics.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects the methods to which this rule applies. Refer to selector for syntax details.

resource_name

Type: STRING

source_info

Type: STRUCT
Provider name: sourceInfo
Description: Output only. The source information for this configuration if available.

system_parameters

Type: STRUCT
Provider name: systemParameters
Description: System parameter configuration.

  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: Define system parameters. The parameters defined here will override the default parameters implemented by the system. If this field is missing from the service config, default system parameters will be used. Default system parameters and names is implementation-dependent. Example: define api key for all methods system_parameters rules: - selector: “*” parameters: - name: api_key url_query_parameter: api_key Example: define 2 api key names for a specific method. system_parameters rules: - selector: “/ListShelves” parameters: - name: api_key http_header: Api-Key1 - name: api_key http_header: Api-Key2 NOTE: All service configuration rules follow “last one wins” order.
    • parameters
      Type: UNORDERED_LIST_STRUCT
      Provider name: parameters
      Description: Define parameters. Multiple names may be defined for a parameter. For a given method call, only one of them should be used. If multiple names are used the behavior is implementation-dependent. If none of the specified names are present the behavior is parameter-dependent.
      • http_header
        Type: STRING
        Provider name: httpHeader
        Description: Define the HTTP header name to use for the parameter. It is case insensitive.
      • name
        Type: STRING
        Provider name: name
        Description: Define the name of the parameter, such as “api_key” . It is case sensitive.
      • url_query_parameter
        Type: STRING
        Provider name: urlQueryParameter
        Description: Define the URL query parameter name to use for the parameter. It is case sensitive.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects the methods to which this rule applies. Use ‘*’ to indicate all methods in all APIs. Refer to selector for syntax details.

system_types

Type: UNORDERED_LIST_STRUCT
Provider name: systemTypes
Description: A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF.

  • edition
    Type: STRING
    Provider name: edition
    Description: The source edition string, only valid when syntax is SYNTAX_EDITIONS.
  • fields
    Type: UNORDERED_LIST_STRUCT
    Provider name: fields
    Description: The list of fields.
    • cardinality
      Type: STRING
      Provider name: cardinality
      Description: The field cardinality.
      Possible values:
      • CARDINALITY_UNKNOWN - For fields with unknown cardinality.
      • CARDINALITY_OPTIONAL - For optional fields.
      • CARDINALITY_REQUIRED - For required fields. Proto2 syntax only.
      • CARDINALITY_REPEATED - For repeated fields.
    • default_value
      Type: STRING
      Provider name: defaultValue
      Description: The string value of the default value of this field. Proto2 syntax only.
    • json_name
      Type: STRING
      Provider name: jsonName
      Description: The field JSON name.
    • kind
      Type: STRING
      Provider name: kind
      Description: The field type.
      Possible values:
      • TYPE_UNKNOWN - Field type unknown.
      • TYPE_DOUBLE - Field type double.
      • TYPE_FLOAT - Field type float.
      • TYPE_INT64 - Field type int64.
      • TYPE_UINT64 - Field type uint64.
      • TYPE_INT32 - Field type int32.
      • TYPE_FIXED64 - Field type fixed64.
      • TYPE_FIXED32 - Field type fixed32.
      • TYPE_BOOL - Field type bool.
      • TYPE_STRING - Field type string.
      • TYPE_GROUP - Field type group. Proto2 syntax only, and deprecated.
      • TYPE_MESSAGE - Field type message.
      • TYPE_BYTES - Field type bytes.
      • TYPE_UINT32 - Field type uint32.
      • TYPE_ENUM - Field type enum.
      • TYPE_SFIXED32 - Field type sfixed32.
      • TYPE_SFIXED64 - Field type sfixed64.
      • TYPE_SINT32 - Field type sint32.
      • TYPE_SINT64 - Field type sint64.
    • name
      Type: STRING
      Provider name: name
      Description: The field name.
    • number
      Type: INT32
      Provider name: number
      Description: The field number.
    • oneof_index
      Type: INT32
      Provider name: oneofIndex
      Description: The index of the field type in Type.oneofs, for message or enumeration types. The first type has index 1; zero means the type is not in the list.
    • options
      Type: UNORDERED_LIST_STRUCT
      Provider name: options
      Description: The protocol buffer options.
      • name
        Type: STRING
        Provider name: name
        Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
    • packed
      Type: BOOLEAN
      Provider name: packed
      Description: Whether to use alternative packed wire representation.
    • type_url
      Type: STRING
      Provider name: typeUrl
      Description: The field type URL, without the scheme, for message or enumeration types. Example: "type.googleapis.com/google.protobuf.Timestamp".
  • name
    Type: STRING
    Provider name: name
    Description: The fully qualified message name.
  • oneofs
    Type: UNORDERED_LIST_STRING
    Provider name: oneofs
    Description: The list of types appearing in oneof definitions in this type.
  • options
    Type: UNORDERED_LIST_STRUCT
    Provider name: options
    Description: The protocol buffer options.
    • name
      Type: STRING
      Provider name: name
      Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
  • source_context
    Type: STRUCT
    Provider name: sourceContext
    Description: The source context.
    • file_name
      Type: STRING
      Provider name: fileName
      Description: The path-qualified name of the .proto file that contained the associated protobuf element. For example: "google/protobuf/source_context.proto".
  • syntax
    Type: STRING
    Provider name: syntax
    Description: The source syntax.
    Possible values:
    • SYNTAX_PROTO2 - Syntax proto2.
    • SYNTAX_PROTO3 - Syntax proto3.
    • SYNTAX_EDITIONS - Syntax editions.

tags

Type: UNORDERED_LIST_STRING

title

Type: STRING
Provider name: title
Description: The product title for this service, it is the name displayed in Google Cloud Console.

types

Type: UNORDERED_LIST_STRUCT
Provider name: types
Description: A list of all proto message types included in this API service. Types referenced directly or indirectly by the apis are automatically included. Messages which are not referenced but shall be included, such as types used by the google.protobuf.Any type, should be listed here by name by the configuration author. Example: types: - name: google.protobuf.Int32

  • edition
    Type: STRING
    Provider name: edition
    Description: The source edition string, only valid when syntax is SYNTAX_EDITIONS.
  • fields
    Type: UNORDERED_LIST_STRUCT
    Provider name: fields
    Description: The list of fields.
    • cardinality
      Type: STRING
      Provider name: cardinality
      Description: The field cardinality.
      Possible values:
      • CARDINALITY_UNKNOWN - For fields with unknown cardinality.
      • CARDINALITY_OPTIONAL - For optional fields.
      • CARDINALITY_REQUIRED - For required fields. Proto2 syntax only.
      • CARDINALITY_REPEATED - For repeated fields.
    • default_value
      Type: STRING
      Provider name: defaultValue
      Description: The string value of the default value of this field. Proto2 syntax only.
    • json_name
      Type: STRING
      Provider name: jsonName
      Description: The field JSON name.
    • kind
      Type: STRING
      Provider name: kind
      Description: The field type.
      Possible values:
      • TYPE_UNKNOWN - Field type unknown.
      • TYPE_DOUBLE - Field type double.
      • TYPE_FLOAT - Field type float.
      • TYPE_INT64 - Field type int64.
      • TYPE_UINT64 - Field type uint64.
      • TYPE_INT32 - Field type int32.
      • TYPE_FIXED64 - Field type fixed64.
      • TYPE_FIXED32 - Field type fixed32.
      • TYPE_BOOL - Field type bool.
      • TYPE_STRING - Field type string.
      • TYPE_GROUP - Field type group. Proto2 syntax only, and deprecated.
      • TYPE_MESSAGE - Field type message.
      • TYPE_BYTES - Field type bytes.
      • TYPE_UINT32 - Field type uint32.
      • TYPE_ENUM - Field type enum.
      • TYPE_SFIXED32 - Field type sfixed32.
      • TYPE_SFIXED64 - Field type sfixed64.
      • TYPE_SINT32 - Field type sint32.
      • TYPE_SINT64 - Field type sint64.
    • name
      Type: STRING
      Provider name: name
      Description: The field name.
    • number
      Type: INT32
      Provider name: number
      Description: The field number.
    • oneof_index
      Type: INT32
      Provider name: oneofIndex
      Description: The index of the field type in Type.oneofs, for message or enumeration types. The first type has index 1; zero means the type is not in the list.
    • options
      Type: UNORDERED_LIST_STRUCT
      Provider name: options
      Description: The protocol buffer options.
      • name
        Type: STRING
        Provider name: name
        Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
    • packed
      Type: BOOLEAN
      Provider name: packed
      Description: Whether to use alternative packed wire representation.
    • type_url
      Type: STRING
      Provider name: typeUrl
      Description: The field type URL, without the scheme, for message or enumeration types. Example: "type.googleapis.com/google.protobuf.Timestamp".
  • name
    Type: STRING
    Provider name: name
    Description: The fully qualified message name.
  • oneofs
    Type: UNORDERED_LIST_STRING
    Provider name: oneofs
    Description: The list of types appearing in oneof definitions in this type.
  • options
    Type: UNORDERED_LIST_STRUCT
    Provider name: options
    Description: The protocol buffer options.
    • name
      Type: STRING
      Provider name: name
      Description: The option’s name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, "map_entry". For custom options, it should be the fully-qualified name. For example, "google.api.http".
  • source_context
    Type: STRUCT
    Provider name: sourceContext
    Description: The source context.
    • file_name
      Type: STRING
      Provider name: fileName
      Description: The path-qualified name of the .proto file that contained the associated protobuf element. For example: "google/protobuf/source_context.proto".
  • syntax
    Type: STRING
    Provider name: syntax
    Description: The source syntax.
    Possible values:
    • SYNTAX_PROTO2 - Syntax proto2.
    • SYNTAX_PROTO3 - Syntax proto3.
    • SYNTAX_EDITIONS - Syntax editions.

usage

Type: STRUCT
Provider name: usage
Description: Configuration controlling usage of this service.

  • producer_notification_channel
    Type: STRING
    Provider name: producerNotificationChannel
    Description: The full resource name of a channel used for sending notifications to the service producer. Google Service Management currently only supports Google Cloud Pub/Sub as a notification channel. To use Google Cloud Pub/Sub as the channel, this must be the name of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format documented in https://cloud.google.com/pubsub/docs/overview.
  • requirements
    Type: UNORDERED_LIST_STRING
    Provider name: requirements
    Description: Requirements that must be satisfied before a consumer project can use the service. Each requirement is of the form /; for example ‘serviceusage.googleapis.com/billing-enabled’. For Google APIs, a Terms of Service requirement must be included here. Google Cloud APIs must include “serviceusage.googleapis.com/tos/cloud”. Other Google APIs should include “serviceusage.googleapis.com/tos/universal”. Additional ToS can be included based on the business needs.
  • rules
    Type: UNORDERED_LIST_STRUCT
    Provider name: rules
    Description: A list of usage rules that apply to individual API methods. NOTE: All service configuration rules follow “last one wins” order.
    • allow_unregistered_calls
      Type: BOOLEAN
      Provider name: allowUnregisteredCalls
      Description: Use this rule to configure unregistered calls for the service. Unregistered calls are calls that do not contain consumer project identity. (Example: calls that do not contain an API key). WARNING: By default, API methods do not allow unregistered calls, and each method call must be identified by a consumer project identity.
    • selector
      Type: STRING
      Provider name: selector
      Description: Selects the methods to which this rule applies. Use ‘*’ to indicate all methods in all APIs. Refer to selector for syntax details.
    • skip_service_control
      Type: BOOLEAN
      Provider name: skipServiceControl
      Description: If true, the selected method should skip service control and the control plane features, such as quota and billing, will not be available. This flag is used by Google Cloud Endpoints to bypass checks for internal methods, such as service health check methods.