Release v1.6.0 (#324)
* Update version and changelog for v1.6.0
* Update docs
diff --git a/docs/dyn/servicemanagement_v1.services.configs.html b/docs/dyn/servicemanagement_v1.services.configs.html
index 68ed0ea..752a764 100644
--- a/docs/dyn/servicemanagement_v1.services.configs.html
+++ b/docs/dyn/servicemanagement_v1.services.configs.html
@@ -117,10 +117,15 @@
# title: Google Calendar API
# apis:
# - name: google.calendar.v3.Calendar
- # backend:
+ # authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
- # - selector: "google.calendar.v3.*"
- # address: calendar.example.com
+ # - selector: "*"
+ # requirements:
+ # provider_id: google_calendar_auth
"control": { # Selects and configures the service controller used by the service. The # Configuration for the service control plane.
# service controller handles features like abuse, quota, billing, logging,
# monitoring, etc.
@@ -192,56 +197,6 @@
# slash, underscore, hyphen, period [/_-.].
},
],
- "analytics": { # Analytics configuration of the service. # WARNING: DO NOT USE UNTIL THIS MESSAGE IS REMOVED.
- #
- # Analytics configuration.
- #
- # The example below shows how to configure monitored resources and metrics
- # for analytics. In the example, a monitored resource and two metrics are
- # defined. The `library.googleapis.com/book/returned_count` and
- # `library.googleapis.com/book/overdue_count` metric are sent
- # to the analytics.
- #
- # monitored_resources:
- # - type: library.googleapis.com/branch
- # labels:
- # - key: /city
- # description: The city where the library branch is located in.
- # - key: /name
- # description: The name of the branch.
- # metrics:
- # - name: library.googleapis.com/book/returned_count
- # metric_kind: DELTA
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # - name: library.googleapis.com/book/overdue_count
- # metric_kind: GAUGE
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # analytics:
- # producer_destinations:
- # - monitored_resource: library.googleapis.com/branch
- # metrics:
- # - library.googleapis.com/book/returned_count
- # - library.googleapis.com/book/overdue_count
- "producerDestinations": [ # Analytics configurations for sending metrics to the analytics backend.
- # There can be multiple producer destinations, each one must have a
- # different monitored resource type. A metric can be used in at most
- # one producer destination.
- { # Configuration of a specific analytics destination.
- "monitoredResource": "A String", # The monitored resource type. The type must be defined in
- # Service.monitored_resources section.
- "metrics": [ # Names of the metrics to report to this analytics destination.
- # Each name must be defined in Service.metrics section. Metrics
- # with value type BOOL and STRING must be of GUAGE kind, metrics with
- # value type INT64, DOUBLE and MONEY must be of DELTA kind.
- "A String",
- ],
- },
- ],
- },
"systemParameters": { # ### System parameter configuration # System parameter configuration.
#
# A system parameter is a special kind of parameter defined by the API
@@ -255,27 +210,26 @@
# config, default system parameters will be used. Default system parameters
# and names is implementation-dependent.
#
- # Example: define api key and alt name for all methods
+ # Example: define api key for all methods
#
- # system_parameters
- # rules:
- # - selector: "*"
- # parameters:
- # - name: api_key
- # url_query_parameter: api_key
- # - name: alt
- # http_header: Response-Content-Type
+ # 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
+ # 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.
{ # Define a system parameter rule mapping system parameter definitions to
@@ -290,8 +244,7 @@
# is implementation-dependent.
"urlQueryParameter": "A String", # Define the URL query parameter name to use for the parameter. It is case
# sensitive.
- "name": "A String", # Define the name of the parameter, such as "api_key", "alt", "callback",
- # and etc. It is case sensitive.
+ "name": "A String", # Define the name of the parameter, such as "api_key" . It is case sensitive.
"httpHeader": "A String", # Define the HTTP header name to use for the parameter. It is case
# insensitive.
},
@@ -393,14 +346,14 @@
#
# name: calendar.googleapis.com
# authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
# - selector: "*"
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar
- #
- # - selector: google.calendar.Delegate
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar.read
+ # requirements:
+ # provider_id: google_calendar_auth
"rules": [ # A list of authentication rules that apply to individual API methods.
#
# **NOTE:** All service configuration rules follow "last one wins" order.
@@ -447,7 +400,10 @@
# Example:
#
# provider_id: bookstore_auth
- "audiences": "A String", # The list of JWT
+ "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ #
+ # The list of JWT
# [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
# that are allowed to access. A JWT containing any of these audiences will
# be accepted. When this setting is absent, only JWTs with audience
@@ -486,6 +442,19 @@
# - can be inferred from the email domain of the issuer (e.g. a Google service account).
#
# Example: https://www.googleapis.com/oauth2/v1/certs
+ "audiences": "A String", # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # 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
"id": "A String", # The unique identifier of the auth provider. It will be referred to by
# `AuthRequirement.provider_id`.
#
@@ -535,6 +504,14 @@
"allowUnregisteredCalls": True or False, # True, if the method allows unregistered calls; false otherwise.
},
],
+ "producerNotificationChannel": "A String", # 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](https://cloud.google.com/pubsub) 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": [ # Requirements that must be satisfied before a consumer project can use the
# service. Each requirement is of the form <service.name>/<requirement-id>;
# for example 'serviceusage.googleapis.com/billing-enabled'.
@@ -566,23 +543,30 @@
# message, as in the example below which describes a REST GET
# operation on a resource collection of messages:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
- # }
- # }
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # SubMessage sub = 2; // `sub.subfield` is url-mapped
- # }
- # message Message {
- # string text = 1; // content of the resource
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+ # }
+ # }
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # SubMessage sub = 2; // `sub.subfield` is url-mapped
+ # }
+ # message Message {
+ # string text = 1; // content of the resource
+ # }
+ #
+ # The same http annotation can alternatively be expressed inside the
+ # `GRPC API Configuration` YAML file.
+ #
+ # http:
+ # rules:
+ # - selector: <proto_package_name>.Messaging.GetMessage
+ # get: /v1/messages/{message_id}/{sub.subfield}
#
# This definition enables an automatic, bidrectional mapping of HTTP
# JSON to RPC. Example:
@@ -599,16 +583,16 @@
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
#
- # ```proto
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # int64 revision = 2; // becomes a parameter
- # SubMessage sub = 3; // `sub.subfield` becomes a parameter
- # }
- # ```
+ #
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # int64 revision = 2; // becomes a parameter
+ # SubMessage sub = 3; // `sub.subfield` becomes a parameter
+ # }
+ #
#
# This enables a HTTP JSON to RPC mapping as below:
#
@@ -625,20 +609,20 @@
# specifies the mapping. Consider a REST update method on the
# message resource collection:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "message"
- # };
- # }
- # }
- # message UpdateMessageRequest {
- # string message_id = 1; // mapped to the URL
- # Message message = 2; // mapped to the body
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "message"
+ # };
+ # }
+ # }
+ # message UpdateMessageRequest {
+ # string message_id = 1; // mapped to the URL
+ # Message message = 2; // mapped to the body
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled, where the
# representation of the JSON in the request body is determined by
@@ -653,20 +637,19 @@
# request body. This enables the following alternative definition of
# the update method:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(Message) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "*"
- # };
- # }
- # }
- # message Message {
- # string message_id = 1;
- # string text = 2;
- # }
- # ```
+ # service Messaging {
+ # rpc UpdateMessage(Message) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "*"
+ # };
+ # }
+ # }
+ # message Message {
+ # string message_id = 1;
+ # string text = 2;
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled:
#
@@ -683,22 +666,21 @@
# It is possible to define multiple HTTP methods for one RPC by using
# the `additional_bindings` option. Example:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # get: "/v1/messages/{message_id}"
- # additional_bindings {
- # get: "/v1/users/{user_id}/messages/{message_id}"
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # get: "/v1/messages/{message_id}"
+ # additional_bindings {
+ # get: "/v1/users/{user_id}/messages/{message_id}"
+ # }
+ # };
# }
- # };
- # }
- # }
- # message GetMessageRequest {
- # string message_id = 1;
- # string user_id = 2;
- # }
- # ```
+ # }
+ # message GetMessageRequest {
+ # string message_id = 1;
+ # string user_id = 2;
+ # }
+ #
#
# This enables the following two alternative HTTP JSON to RPC
# mappings:
@@ -739,7 +721,7 @@
#
# The syntax `**` matches zero or more path segments. It follows the semantics
# of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
- # Expansion.
+ # Expansion. NOTE: it must be the last segment in the path except the Verb.
#
# The syntax `LITERAL` matches literal text in the URL path.
#
@@ -758,7 +740,7 @@
"body": "A String", # The name of the request field whose value is mapped to the HTTP body, or
# `*` for mapping all fields not captured by the path pattern to the HTTP
# body. NOTE: the referred field must not be a repeated field and must be
- # present at the top-level of response message type.
+ # present at the top-level of request message type.
"get": "A String", # Used for listing and getting information about resources.
"mediaDownload": { # Do not use this. For media support, add instead # Do not use this. For media support, add instead
# [][google.bytestream.RestByteStream] as an API to your
@@ -815,8 +797,14 @@
"options": [ # Any metadata attached to the method.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -936,8 +924,14 @@
"options": [ # Any metadata attached to the API.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1020,7 +1014,9 @@
],
},
"metrics": [ # Defines the metrics used by this service.
- { # Defines a metric type and its schema.
+ { # Defines a metric type and its schema. Once a metric descriptor is created,
+ # deleting or altering it stops data collection and makes the metric type's
+ # existing data unusable.
"displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces.
# Use sentence case without an ending period, for example "Request count".
"description": "A String", # A detailed description of the metric, which can be used in documentation.
@@ -1028,29 +1024,25 @@
# Some combinations of `metric_kind` and `value_type` might not be supported.
"valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
# Some combinations of `metric_kind` and `value_type` might not be supported.
- "labels": [ # The set of labels that can be used to describe a specific instance of this
- # metric type. For example, the
- # `compute.googleapis.com/instance/network/received_bytes_count` metric type
- # has a label, `loadbalanced`, that specifies whether the traffic was
- # received through a load balanced IP address.
+ "labels": [ # The set of labels that can be used to describe a specific
+ # instance of this metric type. For example, the
+ # `appengine.googleapis.com/http/server/response_latencies` metric
+ # type has a label for the HTTP response code, `response_code`, so
+ # you can look at latencies for successful responses or just
+ # for responses that failed.
{ # A description of a label.
"valueType": "A String", # The type of data that can be assigned to the label.
"description": "A String", # A human-readable description for the label.
"key": "A String", # The label key.
},
],
- "type": "A String", # The metric type including a DNS name prefix, for example
- # `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
- # should use a natural hierarchical grouping such as the following:
+ "type": "A String", # 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`. Metric types should use a natural hierarchical
+ # grouping. For example:
#
- # compute.googleapis.com/instance/cpu/utilization
- # compute.googleapis.com/instance/disk/read_ops_count
- # compute.googleapis.com/instance/network/received_bytes_count
- #
- # Note that if the metric type changes, the monitoring data will be
- # discontinued, and anything depends on it will break, such as monitoring
- # dashboards, alerting rules and quota limits. Therefore, once a metric has
- # been published, its type should be immutable.
+ # "custom.googleapis.com/invoice/paid/amount"
+ # "appengine.googleapis.com/http/server/response_latencies"
"unit": "A String", # The unit in which the metric value is reported. It is only applicable
# if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
# supported units are a subset of [The Unified Code for Units of
@@ -1115,11 +1107,14 @@
# `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
# * `NAME` is a sequence of non-blank printable ASCII characters not
# containing '{' or '}'.
- "name": "A String", # Resource name. The format of the name may vary between different
- # implementations. For examples:
+ "name": "A String", # The resource name of the metric descriptor. Depending on the
+ # implementation, the name typically includes: (1) the parent resource name
+ # that defines the scope of the metric type or of its data; and (2) the
+ # metric's URL-encoded type, which also appears in the `type` field of this
+ # descriptor. For example, following is the resource name of a custom
+ # metric within the GCP project 123456789:
#
- # projects/{project_id}/metricDescriptors/{type=**}
- # metricDescriptors/{type=**}
+ # "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
},
],
"enums": [ # A list of all enum types included in this API service. Enums
@@ -1141,8 +1136,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1153,8 +1154,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1197,8 +1204,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1209,8 +1222,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1426,8 +1445,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1438,8 +1463,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -1498,29 +1529,7 @@
# # it to decide whether the subsequent cross-origin request is
# # allowed to proceed.
# - name: library-example.googleapis.com
- # apis: google.example.library.v1.Library
# allow_cors: true
- # # Below entry makes 'google.example.library.v1.Library'
- # # API be served from endpoint address
- # # google.example.library-example.v1.LibraryManager.
- # - name: library-manager.googleapis.com
- # apis: google.example.library.v1.LibraryManager
- # # BNS address for a borg job. Can specify a task by appending
- # # "/taskId" (e.g. "/0") to the job spec.
- #
- # Example OpenAPI extension for endpoint with allow_cors set to true:
- #
- # {
- # "swagger": "2.0",
- # "info": {
- # "description": "A simple..."
- # },
- # "host": "MY_PROJECT_ID.appspot.com",
- # "x-google-endpoints": [{
- # "name": "MY_PROJECT_ID.appspot.com",
- # "allow_cors": "true"
- # }]
- # }
"allowCors": True or False, # Allowing
# [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
# cross-domain traffic, would allow the backends served from this endpoint to
@@ -1567,10 +1576,15 @@
# title: Google Calendar API
# apis:
# - name: google.calendar.v3.Calendar
- # backend:
+ # authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
- # - selector: "google.calendar.v3.*"
- # address: calendar.example.com
+ # - selector: "*"
+ # requirements:
+ # provider_id: google_calendar_auth
"control": { # Selects and configures the service controller used by the service. The # Configuration for the service control plane.
# service controller handles features like abuse, quota, billing, logging,
# monitoring, etc.
@@ -1642,56 +1656,6 @@
# slash, underscore, hyphen, period [/_-.].
},
],
- "analytics": { # Analytics configuration of the service. # WARNING: DO NOT USE UNTIL THIS MESSAGE IS REMOVED.
- #
- # Analytics configuration.
- #
- # The example below shows how to configure monitored resources and metrics
- # for analytics. In the example, a monitored resource and two metrics are
- # defined. The `library.googleapis.com/book/returned_count` and
- # `library.googleapis.com/book/overdue_count` metric are sent
- # to the analytics.
- #
- # monitored_resources:
- # - type: library.googleapis.com/branch
- # labels:
- # - key: /city
- # description: The city where the library branch is located in.
- # - key: /name
- # description: The name of the branch.
- # metrics:
- # - name: library.googleapis.com/book/returned_count
- # metric_kind: DELTA
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # - name: library.googleapis.com/book/overdue_count
- # metric_kind: GAUGE
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # analytics:
- # producer_destinations:
- # - monitored_resource: library.googleapis.com/branch
- # metrics:
- # - library.googleapis.com/book/returned_count
- # - library.googleapis.com/book/overdue_count
- "producerDestinations": [ # Analytics configurations for sending metrics to the analytics backend.
- # There can be multiple producer destinations, each one must have a
- # different monitored resource type. A metric can be used in at most
- # one producer destination.
- { # Configuration of a specific analytics destination.
- "monitoredResource": "A String", # The monitored resource type. The type must be defined in
- # Service.monitored_resources section.
- "metrics": [ # Names of the metrics to report to this analytics destination.
- # Each name must be defined in Service.metrics section. Metrics
- # with value type BOOL and STRING must be of GUAGE kind, metrics with
- # value type INT64, DOUBLE and MONEY must be of DELTA kind.
- "A String",
- ],
- },
- ],
- },
"systemParameters": { # ### System parameter configuration # System parameter configuration.
#
# A system parameter is a special kind of parameter defined by the API
@@ -1705,27 +1669,26 @@
# config, default system parameters will be used. Default system parameters
# and names is implementation-dependent.
#
- # Example: define api key and alt name for all methods
+ # Example: define api key for all methods
#
- # system_parameters
- # rules:
- # - selector: "*"
- # parameters:
- # - name: api_key
- # url_query_parameter: api_key
- # - name: alt
- # http_header: Response-Content-Type
+ # 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
+ # 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.
{ # Define a system parameter rule mapping system parameter definitions to
@@ -1740,8 +1703,7 @@
# is implementation-dependent.
"urlQueryParameter": "A String", # Define the URL query parameter name to use for the parameter. It is case
# sensitive.
- "name": "A String", # Define the name of the parameter, such as "api_key", "alt", "callback",
- # and etc. It is case sensitive.
+ "name": "A String", # Define the name of the parameter, such as "api_key" . It is case sensitive.
"httpHeader": "A String", # Define the HTTP header name to use for the parameter. It is case
# insensitive.
},
@@ -1843,14 +1805,14 @@
#
# name: calendar.googleapis.com
# authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
# - selector: "*"
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar
- #
- # - selector: google.calendar.Delegate
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar.read
+ # requirements:
+ # provider_id: google_calendar_auth
"rules": [ # A list of authentication rules that apply to individual API methods.
#
# **NOTE:** All service configuration rules follow "last one wins" order.
@@ -1897,7 +1859,10 @@
# Example:
#
# provider_id: bookstore_auth
- "audiences": "A String", # The list of JWT
+ "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ #
+ # The list of JWT
# [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
# that are allowed to access. A JWT containing any of these audiences will
# be accepted. When this setting is absent, only JWTs with audience
@@ -1936,6 +1901,19 @@
# - can be inferred from the email domain of the issuer (e.g. a Google service account).
#
# Example: https://www.googleapis.com/oauth2/v1/certs
+ "audiences": "A String", # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # 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
"id": "A String", # The unique identifier of the auth provider. It will be referred to by
# `AuthRequirement.provider_id`.
#
@@ -1985,6 +1963,14 @@
"allowUnregisteredCalls": True or False, # True, if the method allows unregistered calls; false otherwise.
},
],
+ "producerNotificationChannel": "A String", # 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](https://cloud.google.com/pubsub) 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": [ # Requirements that must be satisfied before a consumer project can use the
# service. Each requirement is of the form <service.name>/<requirement-id>;
# for example 'serviceusage.googleapis.com/billing-enabled'.
@@ -2016,23 +2002,30 @@
# message, as in the example below which describes a REST GET
# operation on a resource collection of messages:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
- # }
- # }
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # SubMessage sub = 2; // `sub.subfield` is url-mapped
- # }
- # message Message {
- # string text = 1; // content of the resource
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+ # }
+ # }
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # SubMessage sub = 2; // `sub.subfield` is url-mapped
+ # }
+ # message Message {
+ # string text = 1; // content of the resource
+ # }
+ #
+ # The same http annotation can alternatively be expressed inside the
+ # `GRPC API Configuration` YAML file.
+ #
+ # http:
+ # rules:
+ # - selector: <proto_package_name>.Messaging.GetMessage
+ # get: /v1/messages/{message_id}/{sub.subfield}
#
# This definition enables an automatic, bidrectional mapping of HTTP
# JSON to RPC. Example:
@@ -2049,16 +2042,16 @@
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
#
- # ```proto
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # int64 revision = 2; // becomes a parameter
- # SubMessage sub = 3; // `sub.subfield` becomes a parameter
- # }
- # ```
+ #
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # int64 revision = 2; // becomes a parameter
+ # SubMessage sub = 3; // `sub.subfield` becomes a parameter
+ # }
+ #
#
# This enables a HTTP JSON to RPC mapping as below:
#
@@ -2075,20 +2068,20 @@
# specifies the mapping. Consider a REST update method on the
# message resource collection:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "message"
- # };
- # }
- # }
- # message UpdateMessageRequest {
- # string message_id = 1; // mapped to the URL
- # Message message = 2; // mapped to the body
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "message"
+ # };
+ # }
+ # }
+ # message UpdateMessageRequest {
+ # string message_id = 1; // mapped to the URL
+ # Message message = 2; // mapped to the body
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled, where the
# representation of the JSON in the request body is determined by
@@ -2103,20 +2096,19 @@
# request body. This enables the following alternative definition of
# the update method:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(Message) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "*"
- # };
- # }
- # }
- # message Message {
- # string message_id = 1;
- # string text = 2;
- # }
- # ```
+ # service Messaging {
+ # rpc UpdateMessage(Message) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "*"
+ # };
+ # }
+ # }
+ # message Message {
+ # string message_id = 1;
+ # string text = 2;
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled:
#
@@ -2133,22 +2125,21 @@
# It is possible to define multiple HTTP methods for one RPC by using
# the `additional_bindings` option. Example:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # get: "/v1/messages/{message_id}"
- # additional_bindings {
- # get: "/v1/users/{user_id}/messages/{message_id}"
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # get: "/v1/messages/{message_id}"
+ # additional_bindings {
+ # get: "/v1/users/{user_id}/messages/{message_id}"
+ # }
+ # };
# }
- # };
- # }
- # }
- # message GetMessageRequest {
- # string message_id = 1;
- # string user_id = 2;
- # }
- # ```
+ # }
+ # message GetMessageRequest {
+ # string message_id = 1;
+ # string user_id = 2;
+ # }
+ #
#
# This enables the following two alternative HTTP JSON to RPC
# mappings:
@@ -2189,7 +2180,7 @@
#
# The syntax `**` matches zero or more path segments. It follows the semantics
# of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
- # Expansion.
+ # Expansion. NOTE: it must be the last segment in the path except the Verb.
#
# The syntax `LITERAL` matches literal text in the URL path.
#
@@ -2208,7 +2199,7 @@
"body": "A String", # The name of the request field whose value is mapped to the HTTP body, or
# `*` for mapping all fields not captured by the path pattern to the HTTP
# body. NOTE: the referred field must not be a repeated field and must be
- # present at the top-level of response message type.
+ # present at the top-level of request message type.
"get": "A String", # Used for listing and getting information about resources.
"mediaDownload": { # Do not use this. For media support, add instead # Do not use this. For media support, add instead
# [][google.bytestream.RestByteStream] as an API to your
@@ -2265,8 +2256,14 @@
"options": [ # Any metadata attached to the method.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2386,8 +2383,14 @@
"options": [ # Any metadata attached to the API.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2470,7 +2473,9 @@
],
},
"metrics": [ # Defines the metrics used by this service.
- { # Defines a metric type and its schema.
+ { # Defines a metric type and its schema. Once a metric descriptor is created,
+ # deleting or altering it stops data collection and makes the metric type's
+ # existing data unusable.
"displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces.
# Use sentence case without an ending period, for example "Request count".
"description": "A String", # A detailed description of the metric, which can be used in documentation.
@@ -2478,29 +2483,25 @@
# Some combinations of `metric_kind` and `value_type` might not be supported.
"valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
# Some combinations of `metric_kind` and `value_type` might not be supported.
- "labels": [ # The set of labels that can be used to describe a specific instance of this
- # metric type. For example, the
- # `compute.googleapis.com/instance/network/received_bytes_count` metric type
- # has a label, `loadbalanced`, that specifies whether the traffic was
- # received through a load balanced IP address.
+ "labels": [ # The set of labels that can be used to describe a specific
+ # instance of this metric type. For example, the
+ # `appengine.googleapis.com/http/server/response_latencies` metric
+ # type has a label for the HTTP response code, `response_code`, so
+ # you can look at latencies for successful responses or just
+ # for responses that failed.
{ # A description of a label.
"valueType": "A String", # The type of data that can be assigned to the label.
"description": "A String", # A human-readable description for the label.
"key": "A String", # The label key.
},
],
- "type": "A String", # The metric type including a DNS name prefix, for example
- # `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
- # should use a natural hierarchical grouping such as the following:
+ "type": "A String", # 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`. Metric types should use a natural hierarchical
+ # grouping. For example:
#
- # compute.googleapis.com/instance/cpu/utilization
- # compute.googleapis.com/instance/disk/read_ops_count
- # compute.googleapis.com/instance/network/received_bytes_count
- #
- # Note that if the metric type changes, the monitoring data will be
- # discontinued, and anything depends on it will break, such as monitoring
- # dashboards, alerting rules and quota limits. Therefore, once a metric has
- # been published, its type should be immutable.
+ # "custom.googleapis.com/invoice/paid/amount"
+ # "appengine.googleapis.com/http/server/response_latencies"
"unit": "A String", # The unit in which the metric value is reported. It is only applicable
# if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
# supported units are a subset of [The Unified Code for Units of
@@ -2565,11 +2566,14 @@
# `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
# * `NAME` is a sequence of non-blank printable ASCII characters not
# containing '{' or '}'.
- "name": "A String", # Resource name. The format of the name may vary between different
- # implementations. For examples:
+ "name": "A String", # The resource name of the metric descriptor. Depending on the
+ # implementation, the name typically includes: (1) the parent resource name
+ # that defines the scope of the metric type or of its data; and (2) the
+ # metric's URL-encoded type, which also appears in the `type` field of this
+ # descriptor. For example, following is the resource name of a custom
+ # metric within the GCP project 123456789:
#
- # projects/{project_id}/metricDescriptors/{type=**}
- # metricDescriptors/{type=**}
+ # "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
},
],
"enums": [ # A list of all enum types included in this API service. Enums
@@ -2591,8 +2595,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2603,8 +2613,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2647,8 +2663,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2659,8 +2681,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2876,8 +2904,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2888,8 +2922,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -2948,29 +2988,7 @@
# # it to decide whether the subsequent cross-origin request is
# # allowed to proceed.
# - name: library-example.googleapis.com
- # apis: google.example.library.v1.Library
# allow_cors: true
- # # Below entry makes 'google.example.library.v1.Library'
- # # API be served from endpoint address
- # # google.example.library-example.v1.LibraryManager.
- # - name: library-manager.googleapis.com
- # apis: google.example.library.v1.LibraryManager
- # # BNS address for a borg job. Can specify a task by appending
- # # "/taskId" (e.g. "/0") to the job spec.
- #
- # Example OpenAPI extension for endpoint with allow_cors set to true:
- #
- # {
- # "swagger": "2.0",
- # "info": {
- # "description": "A simple..."
- # },
- # "host": "MY_PROJECT_ID.appspot.com",
- # "x-google-endpoints": [{
- # "name": "MY_PROJECT_ID.appspot.com",
- # "allow_cors": "true"
- # }]
- # }
"allowCors": True or False, # Allowing
# [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
# cross-domain traffic, would allow the backends served from this endpoint to
@@ -3003,7 +3021,7 @@
Args:
serviceName: string, The name of the service. See the [overview](/service-management/overview)
for naming requirements. For example: `example.googleapis.com`. (required)
- configId: string, A parameter (required)
+ configId: string, The id of the service configuration resource. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -3026,10 +3044,15 @@
# title: Google Calendar API
# apis:
# - name: google.calendar.v3.Calendar
- # backend:
+ # authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
- # - selector: "google.calendar.v3.*"
- # address: calendar.example.com
+ # - selector: "*"
+ # requirements:
+ # provider_id: google_calendar_auth
"control": { # Selects and configures the service controller used by the service. The # Configuration for the service control plane.
# service controller handles features like abuse, quota, billing, logging,
# monitoring, etc.
@@ -3101,56 +3124,6 @@
# slash, underscore, hyphen, period [/_-.].
},
],
- "analytics": { # Analytics configuration of the service. # WARNING: DO NOT USE UNTIL THIS MESSAGE IS REMOVED.
- #
- # Analytics configuration.
- #
- # The example below shows how to configure monitored resources and metrics
- # for analytics. In the example, a monitored resource and two metrics are
- # defined. The `library.googleapis.com/book/returned_count` and
- # `library.googleapis.com/book/overdue_count` metric are sent
- # to the analytics.
- #
- # monitored_resources:
- # - type: library.googleapis.com/branch
- # labels:
- # - key: /city
- # description: The city where the library branch is located in.
- # - key: /name
- # description: The name of the branch.
- # metrics:
- # - name: library.googleapis.com/book/returned_count
- # metric_kind: DELTA
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # - name: library.googleapis.com/book/overdue_count
- # metric_kind: GAUGE
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # analytics:
- # producer_destinations:
- # - monitored_resource: library.googleapis.com/branch
- # metrics:
- # - library.googleapis.com/book/returned_count
- # - library.googleapis.com/book/overdue_count
- "producerDestinations": [ # Analytics configurations for sending metrics to the analytics backend.
- # There can be multiple producer destinations, each one must have a
- # different monitored resource type. A metric can be used in at most
- # one producer destination.
- { # Configuration of a specific analytics destination.
- "monitoredResource": "A String", # The monitored resource type. The type must be defined in
- # Service.monitored_resources section.
- "metrics": [ # Names of the metrics to report to this analytics destination.
- # Each name must be defined in Service.metrics section. Metrics
- # with value type BOOL and STRING must be of GUAGE kind, metrics with
- # value type INT64, DOUBLE and MONEY must be of DELTA kind.
- "A String",
- ],
- },
- ],
- },
"systemParameters": { # ### System parameter configuration # System parameter configuration.
#
# A system parameter is a special kind of parameter defined by the API
@@ -3164,27 +3137,26 @@
# config, default system parameters will be used. Default system parameters
# and names is implementation-dependent.
#
- # Example: define api key and alt name for all methods
+ # Example: define api key for all methods
#
- # system_parameters
- # rules:
- # - selector: "*"
- # parameters:
- # - name: api_key
- # url_query_parameter: api_key
- # - name: alt
- # http_header: Response-Content-Type
+ # 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
+ # 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.
{ # Define a system parameter rule mapping system parameter definitions to
@@ -3199,8 +3171,7 @@
# is implementation-dependent.
"urlQueryParameter": "A String", # Define the URL query parameter name to use for the parameter. It is case
# sensitive.
- "name": "A String", # Define the name of the parameter, such as "api_key", "alt", "callback",
- # and etc. It is case sensitive.
+ "name": "A String", # Define the name of the parameter, such as "api_key" . It is case sensitive.
"httpHeader": "A String", # Define the HTTP header name to use for the parameter. It is case
# insensitive.
},
@@ -3302,14 +3273,14 @@
#
# name: calendar.googleapis.com
# authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
# - selector: "*"
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar
- #
- # - selector: google.calendar.Delegate
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar.read
+ # requirements:
+ # provider_id: google_calendar_auth
"rules": [ # A list of authentication rules that apply to individual API methods.
#
# **NOTE:** All service configuration rules follow "last one wins" order.
@@ -3356,7 +3327,10 @@
# Example:
#
# provider_id: bookstore_auth
- "audiences": "A String", # The list of JWT
+ "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ #
+ # The list of JWT
# [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
# that are allowed to access. A JWT containing any of these audiences will
# be accepted. When this setting is absent, only JWTs with audience
@@ -3395,6 +3369,19 @@
# - can be inferred from the email domain of the issuer (e.g. a Google service account).
#
# Example: https://www.googleapis.com/oauth2/v1/certs
+ "audiences": "A String", # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # 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
"id": "A String", # The unique identifier of the auth provider. It will be referred to by
# `AuthRequirement.provider_id`.
#
@@ -3444,6 +3431,14 @@
"allowUnregisteredCalls": True or False, # True, if the method allows unregistered calls; false otherwise.
},
],
+ "producerNotificationChannel": "A String", # 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](https://cloud.google.com/pubsub) 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": [ # Requirements that must be satisfied before a consumer project can use the
# service. Each requirement is of the form <service.name>/<requirement-id>;
# for example 'serviceusage.googleapis.com/billing-enabled'.
@@ -3475,23 +3470,30 @@
# message, as in the example below which describes a REST GET
# operation on a resource collection of messages:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
- # }
- # }
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # SubMessage sub = 2; // `sub.subfield` is url-mapped
- # }
- # message Message {
- # string text = 1; // content of the resource
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+ # }
+ # }
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # SubMessage sub = 2; // `sub.subfield` is url-mapped
+ # }
+ # message Message {
+ # string text = 1; // content of the resource
+ # }
+ #
+ # The same http annotation can alternatively be expressed inside the
+ # `GRPC API Configuration` YAML file.
+ #
+ # http:
+ # rules:
+ # - selector: <proto_package_name>.Messaging.GetMessage
+ # get: /v1/messages/{message_id}/{sub.subfield}
#
# This definition enables an automatic, bidrectional mapping of HTTP
# JSON to RPC. Example:
@@ -3508,16 +3510,16 @@
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
#
- # ```proto
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # int64 revision = 2; // becomes a parameter
- # SubMessage sub = 3; // `sub.subfield` becomes a parameter
- # }
- # ```
+ #
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # int64 revision = 2; // becomes a parameter
+ # SubMessage sub = 3; // `sub.subfield` becomes a parameter
+ # }
+ #
#
# This enables a HTTP JSON to RPC mapping as below:
#
@@ -3534,20 +3536,20 @@
# specifies the mapping. Consider a REST update method on the
# message resource collection:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "message"
- # };
- # }
- # }
- # message UpdateMessageRequest {
- # string message_id = 1; // mapped to the URL
- # Message message = 2; // mapped to the body
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "message"
+ # };
+ # }
+ # }
+ # message UpdateMessageRequest {
+ # string message_id = 1; // mapped to the URL
+ # Message message = 2; // mapped to the body
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled, where the
# representation of the JSON in the request body is determined by
@@ -3562,20 +3564,19 @@
# request body. This enables the following alternative definition of
# the update method:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(Message) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "*"
- # };
- # }
- # }
- # message Message {
- # string message_id = 1;
- # string text = 2;
- # }
- # ```
+ # service Messaging {
+ # rpc UpdateMessage(Message) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "*"
+ # };
+ # }
+ # }
+ # message Message {
+ # string message_id = 1;
+ # string text = 2;
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled:
#
@@ -3592,22 +3593,21 @@
# It is possible to define multiple HTTP methods for one RPC by using
# the `additional_bindings` option. Example:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # get: "/v1/messages/{message_id}"
- # additional_bindings {
- # get: "/v1/users/{user_id}/messages/{message_id}"
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # get: "/v1/messages/{message_id}"
+ # additional_bindings {
+ # get: "/v1/users/{user_id}/messages/{message_id}"
+ # }
+ # };
# }
- # };
- # }
- # }
- # message GetMessageRequest {
- # string message_id = 1;
- # string user_id = 2;
- # }
- # ```
+ # }
+ # message GetMessageRequest {
+ # string message_id = 1;
+ # string user_id = 2;
+ # }
+ #
#
# This enables the following two alternative HTTP JSON to RPC
# mappings:
@@ -3648,7 +3648,7 @@
#
# The syntax `**` matches zero or more path segments. It follows the semantics
# of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
- # Expansion.
+ # Expansion. NOTE: it must be the last segment in the path except the Verb.
#
# The syntax `LITERAL` matches literal text in the URL path.
#
@@ -3667,7 +3667,7 @@
"body": "A String", # The name of the request field whose value is mapped to the HTTP body, or
# `*` for mapping all fields not captured by the path pattern to the HTTP
# body. NOTE: the referred field must not be a repeated field and must be
- # present at the top-level of response message type.
+ # present at the top-level of request message type.
"get": "A String", # Used for listing and getting information about resources.
"mediaDownload": { # Do not use this. For media support, add instead # Do not use this. For media support, add instead
# [][google.bytestream.RestByteStream] as an API to your
@@ -3724,8 +3724,14 @@
"options": [ # Any metadata attached to the method.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -3845,8 +3851,14 @@
"options": [ # Any metadata attached to the API.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -3929,7 +3941,9 @@
],
},
"metrics": [ # Defines the metrics used by this service.
- { # Defines a metric type and its schema.
+ { # Defines a metric type and its schema. Once a metric descriptor is created,
+ # deleting or altering it stops data collection and makes the metric type's
+ # existing data unusable.
"displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces.
# Use sentence case without an ending period, for example "Request count".
"description": "A String", # A detailed description of the metric, which can be used in documentation.
@@ -3937,29 +3951,25 @@
# Some combinations of `metric_kind` and `value_type` might not be supported.
"valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
# Some combinations of `metric_kind` and `value_type` might not be supported.
- "labels": [ # The set of labels that can be used to describe a specific instance of this
- # metric type. For example, the
- # `compute.googleapis.com/instance/network/received_bytes_count` metric type
- # has a label, `loadbalanced`, that specifies whether the traffic was
- # received through a load balanced IP address.
+ "labels": [ # The set of labels that can be used to describe a specific
+ # instance of this metric type. For example, the
+ # `appengine.googleapis.com/http/server/response_latencies` metric
+ # type has a label for the HTTP response code, `response_code`, so
+ # you can look at latencies for successful responses or just
+ # for responses that failed.
{ # A description of a label.
"valueType": "A String", # The type of data that can be assigned to the label.
"description": "A String", # A human-readable description for the label.
"key": "A String", # The label key.
},
],
- "type": "A String", # The metric type including a DNS name prefix, for example
- # `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
- # should use a natural hierarchical grouping such as the following:
+ "type": "A String", # 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`. Metric types should use a natural hierarchical
+ # grouping. For example:
#
- # compute.googleapis.com/instance/cpu/utilization
- # compute.googleapis.com/instance/disk/read_ops_count
- # compute.googleapis.com/instance/network/received_bytes_count
- #
- # Note that if the metric type changes, the monitoring data will be
- # discontinued, and anything depends on it will break, such as monitoring
- # dashboards, alerting rules and quota limits. Therefore, once a metric has
- # been published, its type should be immutable.
+ # "custom.googleapis.com/invoice/paid/amount"
+ # "appengine.googleapis.com/http/server/response_latencies"
"unit": "A String", # The unit in which the metric value is reported. It is only applicable
# if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
# supported units are a subset of [The Unified Code for Units of
@@ -4024,11 +4034,14 @@
# `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
# * `NAME` is a sequence of non-blank printable ASCII characters not
# containing '{' or '}'.
- "name": "A String", # Resource name. The format of the name may vary between different
- # implementations. For examples:
+ "name": "A String", # The resource name of the metric descriptor. Depending on the
+ # implementation, the name typically includes: (1) the parent resource name
+ # that defines the scope of the metric type or of its data; and (2) the
+ # metric's URL-encoded type, which also appears in the `type` field of this
+ # descriptor. For example, following is the resource name of a custom
+ # metric within the GCP project 123456789:
#
- # projects/{project_id}/metricDescriptors/{type=**}
- # metricDescriptors/{type=**}
+ # "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
},
],
"enums": [ # A list of all enum types included in this API service. Enums
@@ -4050,8 +4063,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -4062,8 +4081,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -4106,8 +4131,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -4118,8 +4149,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -4335,8 +4372,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -4347,8 +4390,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -4407,29 +4456,7 @@
# # it to decide whether the subsequent cross-origin request is
# # allowed to proceed.
# - name: library-example.googleapis.com
- # apis: google.example.library.v1.Library
# allow_cors: true
- # # Below entry makes 'google.example.library.v1.Library'
- # # API be served from endpoint address
- # # google.example.library-example.v1.LibraryManager.
- # - name: library-manager.googleapis.com
- # apis: google.example.library.v1.LibraryManager
- # # BNS address for a borg job. Can specify a task by appending
- # # "/taskId" (e.g. "/0") to the job spec.
- #
- # Example OpenAPI extension for endpoint with allow_cors set to true:
- #
- # {
- # "swagger": "2.0",
- # "info": {
- # "description": "A simple..."
- # },
- # "host": "MY_PROJECT_ID.appspot.com",
- # "x-google-endpoints": [{
- # "name": "MY_PROJECT_ID.appspot.com",
- # "allow_cors": "true"
- # }]
- # }
"allowCors": True or False, # Allowing
# [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
# cross-domain traffic, would allow the backends served from this endpoint to
@@ -4490,10 +4517,15 @@
# title: Google Calendar API
# apis:
# - name: google.calendar.v3.Calendar
- # backend:
+ # authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
- # - selector: "google.calendar.v3.*"
- # address: calendar.example.com
+ # - selector: "*"
+ # requirements:
+ # provider_id: google_calendar_auth
"control": { # Selects and configures the service controller used by the service. The # Configuration for the service control plane.
# service controller handles features like abuse, quota, billing, logging,
# monitoring, etc.
@@ -4565,56 +4597,6 @@
# slash, underscore, hyphen, period [/_-.].
},
],
- "analytics": { # Analytics configuration of the service. # WARNING: DO NOT USE UNTIL THIS MESSAGE IS REMOVED.
- #
- # Analytics configuration.
- #
- # The example below shows how to configure monitored resources and metrics
- # for analytics. In the example, a monitored resource and two metrics are
- # defined. The `library.googleapis.com/book/returned_count` and
- # `library.googleapis.com/book/overdue_count` metric are sent
- # to the analytics.
- #
- # monitored_resources:
- # - type: library.googleapis.com/branch
- # labels:
- # - key: /city
- # description: The city where the library branch is located in.
- # - key: /name
- # description: The name of the branch.
- # metrics:
- # - name: library.googleapis.com/book/returned_count
- # metric_kind: DELTA
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # - name: library.googleapis.com/book/overdue_count
- # metric_kind: GAUGE
- # value_type: INT64
- # labels:
- # - key: /customer_id
- # analytics:
- # producer_destinations:
- # - monitored_resource: library.googleapis.com/branch
- # metrics:
- # - library.googleapis.com/book/returned_count
- # - library.googleapis.com/book/overdue_count
- "producerDestinations": [ # Analytics configurations for sending metrics to the analytics backend.
- # There can be multiple producer destinations, each one must have a
- # different monitored resource type. A metric can be used in at most
- # one producer destination.
- { # Configuration of a specific analytics destination.
- "monitoredResource": "A String", # The monitored resource type. The type must be defined in
- # Service.monitored_resources section.
- "metrics": [ # Names of the metrics to report to this analytics destination.
- # Each name must be defined in Service.metrics section. Metrics
- # with value type BOOL and STRING must be of GUAGE kind, metrics with
- # value type INT64, DOUBLE and MONEY must be of DELTA kind.
- "A String",
- ],
- },
- ],
- },
"systemParameters": { # ### System parameter configuration # System parameter configuration.
#
# A system parameter is a special kind of parameter defined by the API
@@ -4628,27 +4610,26 @@
# config, default system parameters will be used. Default system parameters
# and names is implementation-dependent.
#
- # Example: define api key and alt name for all methods
+ # Example: define api key for all methods
#
- # system_parameters
- # rules:
- # - selector: "*"
- # parameters:
- # - name: api_key
- # url_query_parameter: api_key
- # - name: alt
- # http_header: Response-Content-Type
+ # 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
+ # 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.
{ # Define a system parameter rule mapping system parameter definitions to
@@ -4663,8 +4644,7 @@
# is implementation-dependent.
"urlQueryParameter": "A String", # Define the URL query parameter name to use for the parameter. It is case
# sensitive.
- "name": "A String", # Define the name of the parameter, such as "api_key", "alt", "callback",
- # and etc. It is case sensitive.
+ "name": "A String", # Define the name of the parameter, such as "api_key" . It is case sensitive.
"httpHeader": "A String", # Define the HTTP header name to use for the parameter. It is case
# insensitive.
},
@@ -4766,14 +4746,14 @@
#
# name: calendar.googleapis.com
# authentication:
+ # providers:
+ # - id: google_calendar_auth
+ # jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+ # issuer: https://securetoken.google.com
# rules:
# - selector: "*"
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar
- #
- # - selector: google.calendar.Delegate
- # oauth:
- # canonical_scopes: https://www.googleapis.com/auth/calendar.read
+ # requirements:
+ # provider_id: google_calendar_auth
"rules": [ # A list of authentication rules that apply to individual API methods.
#
# **NOTE:** All service configuration rules follow "last one wins" order.
@@ -4820,7 +4800,10 @@
# Example:
#
# provider_id: bookstore_auth
- "audiences": "A String", # The list of JWT
+ "audiences": "A String", # NOTE: This will be deprecated soon, once AuthProvider.audiences is
+ # implemented and accepted in all the runtime components.
+ #
+ # The list of JWT
# [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
# that are allowed to access. A JWT containing any of these audiences will
# be accepted. When this setting is absent, only JWTs with audience
@@ -4859,6 +4842,19 @@
# - can be inferred from the email domain of the issuer (e.g. a Google service account).
#
# Example: https://www.googleapis.com/oauth2/v1/certs
+ "audiences": "A String", # The list of JWT
+ # [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+ # 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
"id": "A String", # The unique identifier of the auth provider. It will be referred to by
# `AuthRequirement.provider_id`.
#
@@ -4908,6 +4904,14 @@
"allowUnregisteredCalls": True or False, # True, if the method allows unregistered calls; false otherwise.
},
],
+ "producerNotificationChannel": "A String", # 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](https://cloud.google.com/pubsub) 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": [ # Requirements that must be satisfied before a consumer project can use the
# service. Each requirement is of the form <service.name>/<requirement-id>;
# for example 'serviceusage.googleapis.com/billing-enabled'.
@@ -4939,23 +4943,30 @@
# message, as in the example below which describes a REST GET
# operation on a resource collection of messages:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
- # }
- # }
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # SubMessage sub = 2; // `sub.subfield` is url-mapped
- # }
- # message Message {
- # string text = 1; // content of the resource
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+ # }
+ # }
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # SubMessage sub = 2; // `sub.subfield` is url-mapped
+ # }
+ # message Message {
+ # string text = 1; // content of the resource
+ # }
+ #
+ # The same http annotation can alternatively be expressed inside the
+ # `GRPC API Configuration` YAML file.
+ #
+ # http:
+ # rules:
+ # - selector: <proto_package_name>.Messaging.GetMessage
+ # get: /v1/messages/{message_id}/{sub.subfield}
#
# This definition enables an automatic, bidrectional mapping of HTTP
# JSON to RPC. Example:
@@ -4972,16 +4983,16 @@
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
#
- # ```proto
- # message GetMessageRequest {
- # message SubMessage {
- # string subfield = 1;
- # }
- # string message_id = 1; // mapped to the URL
- # int64 revision = 2; // becomes a parameter
- # SubMessage sub = 3; // `sub.subfield` becomes a parameter
- # }
- # ```
+ #
+ # message GetMessageRequest {
+ # message SubMessage {
+ # string subfield = 1;
+ # }
+ # string message_id = 1; // mapped to the URL
+ # int64 revision = 2; // becomes a parameter
+ # SubMessage sub = 3; // `sub.subfield` becomes a parameter
+ # }
+ #
#
# This enables a HTTP JSON to RPC mapping as below:
#
@@ -4998,20 +5009,20 @@
# specifies the mapping. Consider a REST update method on the
# message resource collection:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "message"
- # };
- # }
- # }
- # message UpdateMessageRequest {
- # string message_id = 1; // mapped to the URL
- # Message message = 2; // mapped to the body
- # }
- # ```
+ #
+ # service Messaging {
+ # rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "message"
+ # };
+ # }
+ # }
+ # message UpdateMessageRequest {
+ # string message_id = 1; // mapped to the URL
+ # Message message = 2; // mapped to the body
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled, where the
# representation of the JSON in the request body is determined by
@@ -5026,20 +5037,19 @@
# request body. This enables the following alternative definition of
# the update method:
#
- # ```proto
- # service Messaging {
- # rpc UpdateMessage(Message) returns (Message) {
- # option (google.api.http) = {
- # put: "/v1/messages/{message_id}"
- # body: "*"
- # };
- # }
- # }
- # message Message {
- # string message_id = 1;
- # string text = 2;
- # }
- # ```
+ # service Messaging {
+ # rpc UpdateMessage(Message) returns (Message) {
+ # option (google.api.http) = {
+ # put: "/v1/messages/{message_id}"
+ # body: "*"
+ # };
+ # }
+ # }
+ # message Message {
+ # string message_id = 1;
+ # string text = 2;
+ # }
+ #
#
# The following HTTP JSON to RPC mapping is enabled:
#
@@ -5056,22 +5066,21 @@
# It is possible to define multiple HTTP methods for one RPC by using
# the `additional_bindings` option. Example:
#
- # ```proto
- # service Messaging {
- # rpc GetMessage(GetMessageRequest) returns (Message) {
- # option (google.api.http) = {
- # get: "/v1/messages/{message_id}"
- # additional_bindings {
- # get: "/v1/users/{user_id}/messages/{message_id}"
+ # service Messaging {
+ # rpc GetMessage(GetMessageRequest) returns (Message) {
+ # option (google.api.http) = {
+ # get: "/v1/messages/{message_id}"
+ # additional_bindings {
+ # get: "/v1/users/{user_id}/messages/{message_id}"
+ # }
+ # };
# }
- # };
- # }
- # }
- # message GetMessageRequest {
- # string message_id = 1;
- # string user_id = 2;
- # }
- # ```
+ # }
+ # message GetMessageRequest {
+ # string message_id = 1;
+ # string user_id = 2;
+ # }
+ #
#
# This enables the following two alternative HTTP JSON to RPC
# mappings:
@@ -5112,7 +5121,7 @@
#
# The syntax `**` matches zero or more path segments. It follows the semantics
# of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
- # Expansion.
+ # Expansion. NOTE: it must be the last segment in the path except the Verb.
#
# The syntax `LITERAL` matches literal text in the URL path.
#
@@ -5131,7 +5140,7 @@
"body": "A String", # The name of the request field whose value is mapped to the HTTP body, or
# `*` for mapping all fields not captured by the path pattern to the HTTP
# body. NOTE: the referred field must not be a repeated field and must be
- # present at the top-level of response message type.
+ # present at the top-level of request message type.
"get": "A String", # Used for listing and getting information about resources.
"mediaDownload": { # Do not use this. For media support, add instead # Do not use this. For media support, add instead
# [][google.bytestream.RestByteStream] as an API to your
@@ -5188,8 +5197,14 @@
"options": [ # Any metadata attached to the method.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5309,8 +5324,14 @@
"options": [ # Any metadata attached to the API.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5393,7 +5414,9 @@
],
},
"metrics": [ # Defines the metrics used by this service.
- { # Defines a metric type and its schema.
+ { # Defines a metric type and its schema. Once a metric descriptor is created,
+ # deleting or altering it stops data collection and makes the metric type's
+ # existing data unusable.
"displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces.
# Use sentence case without an ending period, for example "Request count".
"description": "A String", # A detailed description of the metric, which can be used in documentation.
@@ -5401,29 +5424,25 @@
# Some combinations of `metric_kind` and `value_type` might not be supported.
"valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
# Some combinations of `metric_kind` and `value_type` might not be supported.
- "labels": [ # The set of labels that can be used to describe a specific instance of this
- # metric type. For example, the
- # `compute.googleapis.com/instance/network/received_bytes_count` metric type
- # has a label, `loadbalanced`, that specifies whether the traffic was
- # received through a load balanced IP address.
+ "labels": [ # The set of labels that can be used to describe a specific
+ # instance of this metric type. For example, the
+ # `appengine.googleapis.com/http/server/response_latencies` metric
+ # type has a label for the HTTP response code, `response_code`, so
+ # you can look at latencies for successful responses or just
+ # for responses that failed.
{ # A description of a label.
"valueType": "A String", # The type of data that can be assigned to the label.
"description": "A String", # A human-readable description for the label.
"key": "A String", # The label key.
},
],
- "type": "A String", # The metric type including a DNS name prefix, for example
- # `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
- # should use a natural hierarchical grouping such as the following:
+ "type": "A String", # 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`. Metric types should use a natural hierarchical
+ # grouping. For example:
#
- # compute.googleapis.com/instance/cpu/utilization
- # compute.googleapis.com/instance/disk/read_ops_count
- # compute.googleapis.com/instance/network/received_bytes_count
- #
- # Note that if the metric type changes, the monitoring data will be
- # discontinued, and anything depends on it will break, such as monitoring
- # dashboards, alerting rules and quota limits. Therefore, once a metric has
- # been published, its type should be immutable.
+ # "custom.googleapis.com/invoice/paid/amount"
+ # "appengine.googleapis.com/http/server/response_latencies"
"unit": "A String", # The unit in which the metric value is reported. It is only applicable
# if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
# supported units are a subset of [The Unified Code for Units of
@@ -5488,11 +5507,14 @@
# `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
# * `NAME` is a sequence of non-blank printable ASCII characters not
# containing '{' or '}'.
- "name": "A String", # Resource name. The format of the name may vary between different
- # implementations. For examples:
+ "name": "A String", # The resource name of the metric descriptor. Depending on the
+ # implementation, the name typically includes: (1) the parent resource name
+ # that defines the scope of the metric type or of its data; and (2) the
+ # metric's URL-encoded type, which also appears in the `type` field of this
+ # descriptor. For example, following is the resource name of a custom
+ # metric within the GCP project 123456789:
#
- # projects/{project_id}/metricDescriptors/{type=**}
- # metricDescriptors/{type=**}
+ # "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
},
],
"enums": [ # A list of all enum types included in this API service. Enums
@@ -5514,8 +5536,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5526,8 +5554,14 @@
"options": [ # Protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5570,8 +5604,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5582,8 +5622,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5799,8 +5845,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5811,8 +5863,14 @@
"options": [ # The protocol buffer options.
{ # A protocol buffer option, which can be attached to a message, field,
# enumeration, etc.
- "name": "A String", # The option's name. For example, `"java_package"`.
- "value": { # The option's value. For example, `"com.google.protobuf"`.
+ "name": "A String", # 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"`.
+ "value": { # The option's value packed in an Any message. If the value is a primitive,
+ # the corresponding wrapper type defined in google/protobuf/wrappers.proto
+ # should be used. If the value is an enum, it should be stored as an int32
+ # value using the google.protobuf.Int32Value type.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
},
@@ -5871,29 +5929,7 @@
# # it to decide whether the subsequent cross-origin request is
# # allowed to proceed.
# - name: library-example.googleapis.com
- # apis: google.example.library.v1.Library
# allow_cors: true
- # # Below entry makes 'google.example.library.v1.Library'
- # # API be served from endpoint address
- # # google.example.library-example.v1.LibraryManager.
- # - name: library-manager.googleapis.com
- # apis: google.example.library.v1.LibraryManager
- # # BNS address for a borg job. Can specify a task by appending
- # # "/taskId" (e.g. "/0") to the job spec.
- #
- # Example OpenAPI extension for endpoint with allow_cors set to true:
- #
- # {
- # "swagger": "2.0",
- # "info": {
- # "description": "A simple..."
- # },
- # "host": "MY_PROJECT_ID.appspot.com",
- # "x-google-endpoints": [{
- # "name": "MY_PROJECT_ID.appspot.com",
- # "allow_cors": "true"
- # }]
- # }
"allowCors": True or False, # Allowing
# [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
# cross-domain traffic, would allow the backends served from this endpoint to