Autogenerated update (2018-09-14)

Update:
- adexperiencereport_v1
- cloudtrace_v1
- servicemanagement_v1
- serviceuser_v1
- testing_v1
This commit is contained in:
Google APIs 2018-09-14 00:36:40 +00:00
parent a350f06900
commit 8faa43b9f7
12 changed files with 302 additions and 205 deletions

View File

@ -84417,6 +84417,7 @@
"/testing:v1/IosModel": ios_model "/testing:v1/IosModel": ios_model
"/testing:v1/IosModel/deviceCapabilities": device_capabilities "/testing:v1/IosModel/deviceCapabilities": device_capabilities
"/testing:v1/IosModel/deviceCapabilities/device_capability": device_capability "/testing:v1/IosModel/deviceCapabilities/device_capability": device_capability
"/testing:v1/IosModel/formFactor": form_factor
"/testing:v1/IosModel/id": id "/testing:v1/IosModel/id": id
"/testing:v1/IosModel/name": name "/testing:v1/IosModel/name": name
"/testing:v1/IosModel/supportedVersionIds": supported_version_ids "/testing:v1/IosModel/supportedVersionIds": supported_version_ids

View File

@ -26,7 +26,7 @@ module Google
# @see https://developers.google.com/ad-experience-report/ # @see https://developers.google.com/ad-experience-report/
module AdexperiencereportV1 module AdexperiencereportV1
VERSION = 'V1' VERSION = 'V1'
REVISION = '20180821' REVISION = '20180911'
# Test scope for access to the Zoo service # Test scope for access to the Zoo service
AUTH_XAPI_ZOO = 'https://www.googleapis.com/auth/xapi.zoo' AUTH_XAPI_ZOO = 'https://www.googleapis.com/auth/xapi.zoo'

View File

@ -79,7 +79,6 @@ module Google
end end
# Response message for GetSiteSummary. # Response message for GetSiteSummary.
# Do not confuse with same message in google.chrome.abusiveexperiencereport.v1
class SiteSummaryResponse class SiteSummaryResponse
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable

View File

@ -29,7 +29,7 @@ module Google
# @see https://cloud.google.com/trace # @see https://cloud.google.com/trace
module CloudtraceV1 module CloudtraceV1
VERSION = 'V1' VERSION = 'V1'
REVISION = '20180820' REVISION = '20180910'
# View and manage your data across Google Cloud Platform services # View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -85,7 +85,8 @@ module Google
attr_accessor :spans attr_accessor :spans
# Globally unique identifier for the trace. This identifier is a 128-bit # Globally unique identifier for the trace. This identifier is a 128-bit
# numeric value formatted as a 32-byte hex string. # numeric value formatted as a 32-byte hex string. For example,
# `382d4f4c6b7bb2f4a972559d9085001d`.
# Corresponds to the JSON property `traceId` # Corresponds to the JSON property `traceId`
# @return [String] # @return [String]
attr_accessor :trace_id attr_accessor :trace_id
@ -174,7 +175,7 @@ module Google
attr_accessor :parent_span_id attr_accessor :parent_span_id
# Identifier for the span. Must be a 64-bit integer other than 0 and # Identifier for the span. Must be a 64-bit integer other than 0 and
# unique within a trace. # unique within a trace. For example, `2205310701640571284`.
# Corresponds to the JSON property `spanId` # Corresponds to the JSON property `spanId`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :span_id attr_accessor :span_id

View File

@ -27,7 +27,7 @@ module Google
# @see https://cloud.google.com/service-management/ # @see https://cloud.google.com/service-management/
module ServicemanagementV1 module ServicemanagementV1
VERSION = 'V1' VERSION = 'V1'
REVISION = '20180825' REVISION = '20180907'
# View and manage your data across Google Cloud Platform services # View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -1669,79 +1669,79 @@ module Google
end end
end end
# `HttpRule` defines the mapping of an RPC method to one or more HTTP # # gRPC Transcoding
# REST API methods. The mapping specifies how different portions of the RPC # gRPC Transcoding is a feature for mapping between a gRPC method and one or
# request message are mapped to URL path, URL query parameters, and # more HTTP REST endpoints. It allows developers to build a single API service
# HTTP request body. The mapping is typically specified as an # that supports both gRPC APIs and REST APIs. Many systems, including [Google
# `google.api.http` annotation on the RPC method, # APIs](https://github.com/googleapis/googleapis),
# see "google/api/annotations.proto" for details. # [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
# The mapping consists of a field specifying the path template and # Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
# method kind. The path template can refer to fields in the request # and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
# message, as in the example below which describes a REST GET # and use it for large scale production services.
# operation on a resource collection of messages: # `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
# how different portions of the gRPC request message are mapped to the URL
# path, URL query parameters, and HTTP request body. It also controls how the
# gRPC response message is mapped to the HTTP response body. `HttpRule` is
# typically specified as an `google.api.http` annotation on the gRPC method.
# Each mapping specifies a URL path template and an HTTP method. The path
# template may refer to one or more fields in the gRPC request message, as long
# as each field is a non-repeated field with a primitive (non-message) type.
# The path template controls how fields of the request message are mapped to
# the URL path.
# Example:
# service Messaging ` # service Messaging `
# rpc GetMessage(GetMessageRequest) returns (Message) ` # rpc GetMessage(GetMessageRequest) returns (Message) `
# option (google.api.http).get = "/v1/messages/`message_id`/`sub. # option (google.api.http) = `
# subfield`"; # get: "/v1/`name=messages/*"`"
# `;
# ` # `
# ` # `
# message GetMessageRequest ` # message GetMessageRequest `
# message SubMessage ` # string name = 1; // Mapped to URL path.
# string subfield = 1;
# `
# string message_id = 1; // mapped to the URL
# SubMessage sub = 2; // `sub.subfield` is url-mapped
# ` # `
# message Message ` # message Message `
# string text = 1; // content of the resource # string text = 1; // The resource content.
# ` # `
# The same http annotation can alternatively be expressed inside the # This enables an HTTP REST to gRPC mapping as below:
# `GRPC API Configuration` YAML file. # HTTP | gRPC
# 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:
# HTTP | RPC
# -----|----- # -----|-----
# `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: # `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
# SubMessage(subfield: "foo"))` # Any fields in the request message which are not bound by the path template
# In general, not only fields but also field paths can be referenced # automatically become HTTP query parameters if there is no HTTP request body.
# from a path pattern. Fields mapped to the path pattern cannot be # For example:
# repeated and must have a primitive (non-message) type.
# Any fields in the request message which are not bound by the path
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
# service Messaging ` # service Messaging `
# rpc GetMessage(GetMessageRequest) returns (Message) ` # rpc GetMessage(GetMessageRequest) returns (Message) `
# option (google.api.http).get = "/v1/messages/`message_id`"; # option (google.api.http) = `
# get:"/v1/messages/`message_id`"
# `;
# ` # `
# ` # `
# message GetMessageRequest ` # message GetMessageRequest `
# message SubMessage ` # message SubMessage `
# string subfield = 1; # string subfield = 1;
# ` # `
# string message_id = 1; // mapped to the URL # string message_id = 1; // Mapped to URL path.
# int64 revision = 2; // becomes a parameter # int64 revision = 2; // Mapped to URL query parameter `revision`.
# SubMessage sub = 3; // `sub.subfield` becomes a parameter # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
# ` # `
# This enables a HTTP JSON to RPC mapping as below: # This enables a HTTP JSON to RPC mapping as below:
# HTTP | RPC # HTTP | gRPC
# -----|----- # -----|-----
# `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: # `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id:
# "123456" revision: 2 sub: SubMessage(subfield: "foo"))` # "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
# Note that fields which are mapped to HTTP parameters must have a # Note that fields which are mapped to URL query parameters must have a
# primitive type or a repeated primitive type. Message types are not # primitive type or a repeated primitive type or a non-repeated message type.
# allowed. In the case of a repeated type, the parameter can be # In the case of a repeated type, the parameter can be repeated in the URL
# repeated in the URL, as in `...?param=A&param=B`. # as `...?param=A&param=B`. In the case of a message type, each field of the
# For HTTP method kinds which allow a request body, the `body` field # message is mapped to a separate parameter, such as
# `...?foo.a=A&foo.b=B&foo.c=C`.
# For HTTP methods that allow a request body, the `body` field
# specifies the mapping. Consider a REST update method on the # specifies the mapping. Consider a REST update method on the
# message resource collection: # message resource collection:
# service Messaging ` # service Messaging `
# rpc UpdateMessage(UpdateMessageRequest) returns (Message) ` # rpc UpdateMessage(UpdateMessageRequest) returns (Message) `
# option (google.api.http) = ` # option (google.api.http) = `
# put: "/v1/messages/`message_id`" # patch: "/v1/messages/`message_id`"
# body: "message" # body: "message"
# `; # `;
# ` # `
@ -1753,9 +1753,9 @@ module Google
# The following HTTP JSON to RPC mapping is enabled, where the # The following HTTP JSON to RPC mapping is enabled, where the
# representation of the JSON in the request body is determined by # representation of the JSON in the request body is determined by
# protos JSON encoding: # protos JSON encoding:
# HTTP | RPC # HTTP | gRPC
# -----|----- # -----|-----
# `PUT /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: " # `PATCH /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: "
# 123456" message ` text: "Hi!" `)` # 123456" message ` text: "Hi!" `)`
# The special name `*` can be used in the body mapping to define that # The special name `*` can be used in the body mapping to define that
# every field not bound by the path template should be mapped to the # every field not bound by the path template should be mapped to the
@ -1764,7 +1764,7 @@ module Google
# service Messaging ` # service Messaging `
# rpc UpdateMessage(Message) returns (Message) ` # rpc UpdateMessage(Message) returns (Message) `
# option (google.api.http) = ` # option (google.api.http) = `
# put: "/v1/messages/`message_id`" # patch: "/v1/messages/`message_id`"
# body: "*" # body: "*"
# `; # `;
# ` # `
@ -1774,13 +1774,13 @@ module Google
# string text = 2; # string text = 2;
# ` # `
# The following HTTP JSON to RPC mapping is enabled: # The following HTTP JSON to RPC mapping is enabled:
# HTTP | RPC # HTTP | gRPC
# -----|----- # -----|-----
# `PUT /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: " # `PATCH /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: "
# 123456" text: "Hi!")` # 123456" text: "Hi!")`
# Note that when using `*` in the body mapping, it is not possible to # Note that when using `*` in the body mapping, it is not possible to
# have HTTP parameters, as all fields not bound by the path end in # have HTTP parameters, as all fields not bound by the path end in
# the body. This makes this option more rarely used in practice of # the body. This makes this option more rarely used in practice when
# defining REST APIs. The common usage of `*` is in custom methods # defining REST APIs. The common usage of `*` is in custom methods
# which don't use the URL at all for transferring data. # which don't use the URL at all for transferring data.
# It is possible to define multiple HTTP methods for one RPC by using # It is possible to define multiple HTTP methods for one RPC by using
@ -1799,56 +1799,96 @@ module Google
# string message_id = 1; # string message_id = 1;
# string user_id = 2; # string user_id = 2;
# ` # `
# This enables the following two alternative HTTP JSON to RPC # This enables the following two alternative HTTP JSON to RPC mappings:
# mappings: # HTTP | gRPC
# HTTP | RPC
# -----|----- # -----|-----
# `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` # `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
# `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: " # `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "
# 123456")` # 123456")`
# # Rules for HTTP mapping # ## Rules for HTTP mapping
# The rules for mapping HTTP path, query parameters, and body fields # 1. Leaf request fields (recursive expansion nested messages in the request
# to the request message are as follows: # message) are classified into three categories:
# 1. The `body` field specifies either `*` or a field path, or is # - Fields referred by the path template. They are passed via the URL path.
# omitted. If omitted, it indicates there is no HTTP request body. # - Fields referred by the HttpRule.body. They are passed via the HTTP
# 2. Leaf fields (recursive expansion of nested messages in the # request body.
# request) can be classified into three types: # - All other fields are passed via the URL query parameters, and the
# (a) Matched in the URL template. # parameter name is the field path in the request message. A repeated
# (b) Covered by body (if body is `*`, everything except (a) fields; # field can be represented as multiple query parameters under the same
# else everything under the body field) # name.
# (c) All other fields. # 2. If HttpRule.body is "*", there is no URL query parameter, all fields
# 3. URL query parameters found in the HTTP request are mapped to (c) fields. # are passed via URL path and HTTP request body.
# 4. Any body sent with an HTTP request can contain only (b) fields. # 3. If HttpRule.body is omitted, there is no HTTP request body, all
# The syntax of the path template is as follows: # fields are passed via URL path and URL query parameters.
# ### Path template syntax
# Template = "/" Segments [ Verb ] ; # Template = "/" Segments [ Verb ] ;
# Segments = Segment ` "/" Segment ` ; # Segments = Segment ` "/" Segment ` ;
# Segment = "*" | "**" | LITERAL | Variable ; # Segment = "*" | "**" | LITERAL | Variable ;
# Variable = "`" FieldPath [ "=" Segments ] "`" ; # Variable = "`" FieldPath [ "=" Segments ] "`" ;
# FieldPath = IDENT ` "." IDENT ` ; # FieldPath = IDENT ` "." IDENT ` ;
# Verb = ":" LITERAL ; # Verb = ":" LITERAL ;
# The syntax `*` matches a single path segment. The syntax `**` matches zero # The syntax `*` matches a single URL path segment. The syntax `**` matches
# or more path segments, which must be the last part of the path except the # zero or more URL path segments, which must be the last part of the URL path
# `Verb`. The syntax `LITERAL` matches literal text in the path. # except the `Verb`.
# The syntax `Variable` matches part of the URL path as specified by its # The syntax `Variable` matches part of the URL path as specified by its
# template. A variable template must not contain other variables. If a variable # template. A variable template must not contain other variables. If a variable
# matches a single path segment, its template may be omitted, e.g. ``var`` # matches a single path segment, its template may be omitted, e.g. ``var``
# is equivalent to ``var=*``. # is equivalent to ``var=*``.
# The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
# contains any reserved character, such characters should be percent-encoded
# before the matching.
# If a variable contains exactly one path segment, such as `"`var`"` or # If a variable contains exactly one path segment, such as `"`var`"` or
# `"`var=*`"`, when such a variable is expanded into a URL path, all characters # `"`var=*`"`, when such a variable is expanded into a URL path on the client
# except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the # side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
# Discovery Document as ``var``. # server side does the reverse decoding. Such variables show up in the
# If a variable contains one or more path segments, such as `"`var=foo/*`"` # [Discovery Document](https://developers.google.com/discovery/v1/reference/apis)
# or `"`var=**`"`, when such a variable is expanded into a URL path, all # as ``var``.
# characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables # If a variable contains multiple path segments, such as `"`var=foo/*`"`
# show up in the Discovery Document as ``+var``. # or `"`var=**`"`, when such a variable is expanded into a URL path on the
# NOTE: While the single segment variable matches the semantics of # client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
# [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 # The server side does the reverse decoding, except "%2F" and "%2f" are left
# Simple String Expansion, the multi segment variable **does not** match # unchanged. Such variables show up in the
# RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion # [Discovery Document](https://developers.google.com/discovery/v1/reference/apis)
# as ``+var``.
# ## Using gRPC API Service Configuration
# gRPC API Service Configuration (service config) is a configuration language
# for configuring a gRPC service to become a user-facing product. The
# service config is simply the YAML representation of the `google.api.Service`
# proto message.
# As an alternative to annotating your proto file, you can configure gRPC
# transcoding in your service config YAML files. You do this by specifying a
# `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
# effect as the proto annotation. This can be particularly useful if you
# have a proto that is reused in multiple services. Note that any transcoding
# specified in the service config will override any matching transcoding
# configuration in the proto.
# Example:
# http:
# rules:
# # Selects a gRPC method and applies HttpRule to it.
# - selector: example.v1.Messaging.GetMessage
# get: /v1/messages/`message_id`/`sub.subfield`
# ## Special notes
# When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
# proto to JSON conversion must follow the [proto3
# specification](https://developers.google.com/protocol-buffers/docs/proto3#json)
# .
# While the single segment variable follows the semantics of
# [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
# Expansion, the multi segment variable **does not** follow RFC 6570 Section
# 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
# does not expand special characters like `?` and `#`, which would lead # does not expand special characters like `?` and `#`, which would lead
# to invalid URLs. # to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
# NOTE: the field paths in variables and in the `body` must not refer to # for multi segment variables.
# repeated fields or map fields. # The path variables **must not** refer to any repeated or mapped field,
# because client libraries are not capable of handling such variable expansion.
# The path variables **must not** capture the leading "/" character. The reason
# is that the most common use case "`var`" does not capture the leading "/"
# character. For consistency, all path variables must share the same behavior.
# Repeated message fields must not be mapped to URL query parameters, because
# no client library can support such complicated mapping.
# If an API needs to use a JSON array for request or response body, it can map
# the request or response body to a repeated field. However, some gRPC
# Transcoding implementations may not support this feature.
class HttpRule class HttpRule
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
@ -1859,10 +1899,11 @@ module Google
# @return [Array<Google::Apis::ServicemanagementV1::HttpRule>] # @return [Array<Google::Apis::ServicemanagementV1::HttpRule>]
attr_accessor :additional_bindings attr_accessor :additional_bindings
# The name of the request field whose value is mapped to the HTTP body, or # The name of the request field whose value is mapped to the HTTP request
# `*` for mapping all fields not captured by the path pattern to the HTTP # body, or `*` for mapping all request fields not captured by the path
# body. NOTE: the referred field must not be a repeated field and must be # pattern to the HTTP body, or omitted for not having any HTTP request body.
# present at the top-level of request message type. # NOTE: the referred field must be present at the top-level of the request
# message type.
# Corresponds to the JSON property `body` # Corresponds to the JSON property `body`
# @return [String] # @return [String]
attr_accessor :body attr_accessor :body
@ -1872,12 +1913,13 @@ module Google
# @return [Google::Apis::ServicemanagementV1::CustomHttpPattern] # @return [Google::Apis::ServicemanagementV1::CustomHttpPattern]
attr_accessor :custom attr_accessor :custom
# Used for deleting a resource. # Maps to HTTP DELETE. Used for deleting a resource.
# Corresponds to the JSON property `delete` # Corresponds to the JSON property `delete`
# @return [String] # @return [String]
attr_accessor :delete attr_accessor :delete
# Used for listing and getting information about resources. # Maps to HTTP GET. Used for listing and getting information about
# resources.
# Corresponds to the JSON property `get` # Corresponds to the JSON property `get`
# @return [String] # @return [String]
attr_accessor :get attr_accessor :get
@ -1898,29 +1940,31 @@ module Google
# @return [Google::Apis::ServicemanagementV1::MediaUpload] # @return [Google::Apis::ServicemanagementV1::MediaUpload]
attr_accessor :media_upload attr_accessor :media_upload
# Used for updating a resource. # Maps to HTTP PATCH. Used for updating a resource.
# Corresponds to the JSON property `patch` # Corresponds to the JSON property `patch`
# @return [String] # @return [String]
attr_accessor :patch attr_accessor :patch
# Used for creating a resource. # Maps to HTTP POST. Used for creating a resource or performing an action.
# Corresponds to the JSON property `post` # Corresponds to the JSON property `post`
# @return [String] # @return [String]
attr_accessor :post attr_accessor :post
# Used for updating a resource. # Maps to HTTP PUT. Used for replacing a resource.
# Corresponds to the JSON property `put` # Corresponds to the JSON property `put`
# @return [String] # @return [String]
attr_accessor :put attr_accessor :put
# Optional. The name of the response field whose value is mapped to the HTTP # Optional. The name of the response field whose value is mapped to the HTTP
# body of response. Other response fields are ignored. When # response body. When omitted, the entire response message will be used
# not set, the response message will be used as HTTP body of response. # as the HTTP response body.
# NOTE: The referred field must be present at the top-level of the response
# message type.
# Corresponds to the JSON property `responseBody` # Corresponds to the JSON property `responseBody`
# @return [String] # @return [String]
attr_accessor :response_body attr_accessor :response_body
# Selects methods to which this rule applies. # Selects a method to which this rule applies.
# Refer to selector for syntax details. # Refer to selector for syntax details.
# Corresponds to the JSON property `selector` # Corresponds to the JSON property `selector`
# @return [String] # @return [String]

View File

@ -27,7 +27,7 @@ module Google
# @see https://cloud.google.com/service-management/ # @see https://cloud.google.com/service-management/
module ServiceuserV1 module ServiceuserV1
VERSION = 'V1' VERSION = 'V1'
REVISION = '20180824' REVISION = '20180907'
# View and manage your data across Google Cloud Platform services # View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -1118,79 +1118,79 @@ module Google
end end
end end
# `HttpRule` defines the mapping of an RPC method to one or more HTTP # # gRPC Transcoding
# REST API methods. The mapping specifies how different portions of the RPC # gRPC Transcoding is a feature for mapping between a gRPC method and one or
# request message are mapped to URL path, URL query parameters, and # more HTTP REST endpoints. It allows developers to build a single API service
# HTTP request body. The mapping is typically specified as an # that supports both gRPC APIs and REST APIs. Many systems, including [Google
# `google.api.http` annotation on the RPC method, # APIs](https://github.com/googleapis/googleapis),
# see "google/api/annotations.proto" for details. # [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
# The mapping consists of a field specifying the path template and # Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
# method kind. The path template can refer to fields in the request # and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
# message, as in the example below which describes a REST GET # and use it for large scale production services.
# operation on a resource collection of messages: # `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
# how different portions of the gRPC request message are mapped to the URL
# path, URL query parameters, and HTTP request body. It also controls how the
# gRPC response message is mapped to the HTTP response body. `HttpRule` is
# typically specified as an `google.api.http` annotation on the gRPC method.
# Each mapping specifies a URL path template and an HTTP method. The path
# template may refer to one or more fields in the gRPC request message, as long
# as each field is a non-repeated field with a primitive (non-message) type.
# The path template controls how fields of the request message are mapped to
# the URL path.
# Example:
# service Messaging ` # service Messaging `
# rpc GetMessage(GetMessageRequest) returns (Message) ` # rpc GetMessage(GetMessageRequest) returns (Message) `
# option (google.api.http).get = "/v1/messages/`message_id`/`sub. # option (google.api.http) = `
# subfield`"; # get: "/v1/`name=messages/*"`"
# `;
# ` # `
# ` # `
# message GetMessageRequest ` # message GetMessageRequest `
# message SubMessage ` # string name = 1; // Mapped to URL path.
# string subfield = 1;
# `
# string message_id = 1; // mapped to the URL
# SubMessage sub = 2; // `sub.subfield` is url-mapped
# ` # `
# message Message ` # message Message `
# string text = 1; // content of the resource # string text = 1; // The resource content.
# ` # `
# The same http annotation can alternatively be expressed inside the # This enables an HTTP REST to gRPC mapping as below:
# `GRPC API Configuration` YAML file. # HTTP | gRPC
# 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:
# HTTP | RPC
# -----|----- # -----|-----
# `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: # `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
# SubMessage(subfield: "foo"))` # Any fields in the request message which are not bound by the path template
# In general, not only fields but also field paths can be referenced # automatically become HTTP query parameters if there is no HTTP request body.
# from a path pattern. Fields mapped to the path pattern cannot be # For example:
# repeated and must have a primitive (non-message) type.
# Any fields in the request message which are not bound by the path
# pattern automatically become (optional) HTTP query
# parameters. Assume the following definition of the request message:
# service Messaging ` # service Messaging `
# rpc GetMessage(GetMessageRequest) returns (Message) ` # rpc GetMessage(GetMessageRequest) returns (Message) `
# option (google.api.http).get = "/v1/messages/`message_id`"; # option (google.api.http) = `
# get:"/v1/messages/`message_id`"
# `;
# ` # `
# ` # `
# message GetMessageRequest ` # message GetMessageRequest `
# message SubMessage ` # message SubMessage `
# string subfield = 1; # string subfield = 1;
# ` # `
# string message_id = 1; // mapped to the URL # string message_id = 1; // Mapped to URL path.
# int64 revision = 2; // becomes a parameter # int64 revision = 2; // Mapped to URL query parameter `revision`.
# SubMessage sub = 3; // `sub.subfield` becomes a parameter # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
# ` # `
# This enables a HTTP JSON to RPC mapping as below: # This enables a HTTP JSON to RPC mapping as below:
# HTTP | RPC # HTTP | gRPC
# -----|----- # -----|-----
# `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: # `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id:
# "123456" revision: 2 sub: SubMessage(subfield: "foo"))` # "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
# Note that fields which are mapped to HTTP parameters must have a # Note that fields which are mapped to URL query parameters must have a
# primitive type or a repeated primitive type. Message types are not # primitive type or a repeated primitive type or a non-repeated message type.
# allowed. In the case of a repeated type, the parameter can be # In the case of a repeated type, the parameter can be repeated in the URL
# repeated in the URL, as in `...?param=A&param=B`. # as `...?param=A&param=B`. In the case of a message type, each field of the
# For HTTP method kinds which allow a request body, the `body` field # message is mapped to a separate parameter, such as
# `...?foo.a=A&foo.b=B&foo.c=C`.
# For HTTP methods that allow a request body, the `body` field
# specifies the mapping. Consider a REST update method on the # specifies the mapping. Consider a REST update method on the
# message resource collection: # message resource collection:
# service Messaging ` # service Messaging `
# rpc UpdateMessage(UpdateMessageRequest) returns (Message) ` # rpc UpdateMessage(UpdateMessageRequest) returns (Message) `
# option (google.api.http) = ` # option (google.api.http) = `
# put: "/v1/messages/`message_id`" # patch: "/v1/messages/`message_id`"
# body: "message" # body: "message"
# `; # `;
# ` # `
@ -1202,9 +1202,9 @@ module Google
# The following HTTP JSON to RPC mapping is enabled, where the # The following HTTP JSON to RPC mapping is enabled, where the
# representation of the JSON in the request body is determined by # representation of the JSON in the request body is determined by
# protos JSON encoding: # protos JSON encoding:
# HTTP | RPC # HTTP | gRPC
# -----|----- # -----|-----
# `PUT /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: " # `PATCH /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: "
# 123456" message ` text: "Hi!" `)` # 123456" message ` text: "Hi!" `)`
# The special name `*` can be used in the body mapping to define that # The special name `*` can be used in the body mapping to define that
# every field not bound by the path template should be mapped to the # every field not bound by the path template should be mapped to the
@ -1213,7 +1213,7 @@ module Google
# service Messaging ` # service Messaging `
# rpc UpdateMessage(Message) returns (Message) ` # rpc UpdateMessage(Message) returns (Message) `
# option (google.api.http) = ` # option (google.api.http) = `
# put: "/v1/messages/`message_id`" # patch: "/v1/messages/`message_id`"
# body: "*" # body: "*"
# `; # `;
# ` # `
@ -1223,13 +1223,13 @@ module Google
# string text = 2; # string text = 2;
# ` # `
# The following HTTP JSON to RPC mapping is enabled: # The following HTTP JSON to RPC mapping is enabled:
# HTTP | RPC # HTTP | gRPC
# -----|----- # -----|-----
# `PUT /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: " # `PATCH /v1/messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: "
# 123456" text: "Hi!")` # 123456" text: "Hi!")`
# Note that when using `*` in the body mapping, it is not possible to # Note that when using `*` in the body mapping, it is not possible to
# have HTTP parameters, as all fields not bound by the path end in # have HTTP parameters, as all fields not bound by the path end in
# the body. This makes this option more rarely used in practice of # the body. This makes this option more rarely used in practice when
# defining REST APIs. The common usage of `*` is in custom methods # defining REST APIs. The common usage of `*` is in custom methods
# which don't use the URL at all for transferring data. # which don't use the URL at all for transferring data.
# It is possible to define multiple HTTP methods for one RPC by using # It is possible to define multiple HTTP methods for one RPC by using
@ -1248,56 +1248,96 @@ module Google
# string message_id = 1; # string message_id = 1;
# string user_id = 2; # string user_id = 2;
# ` # `
# This enables the following two alternative HTTP JSON to RPC # This enables the following two alternative HTTP JSON to RPC mappings:
# mappings: # HTTP | gRPC
# HTTP | RPC
# -----|----- # -----|-----
# `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` # `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
# `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: " # `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "
# 123456")` # 123456")`
# # Rules for HTTP mapping # ## Rules for HTTP mapping
# The rules for mapping HTTP path, query parameters, and body fields # 1. Leaf request fields (recursive expansion nested messages in the request
# to the request message are as follows: # message) are classified into three categories:
# 1. The `body` field specifies either `*` or a field path, or is # - Fields referred by the path template. They are passed via the URL path.
# omitted. If omitted, it indicates there is no HTTP request body. # - Fields referred by the HttpRule.body. They are passed via the HTTP
# 2. Leaf fields (recursive expansion of nested messages in the # request body.
# request) can be classified into three types: # - All other fields are passed via the URL query parameters, and the
# (a) Matched in the URL template. # parameter name is the field path in the request message. A repeated
# (b) Covered by body (if body is `*`, everything except (a) fields; # field can be represented as multiple query parameters under the same
# else everything under the body field) # name.
# (c) All other fields. # 2. If HttpRule.body is "*", there is no URL query parameter, all fields
# 3. URL query parameters found in the HTTP request are mapped to (c) fields. # are passed via URL path and HTTP request body.
# 4. Any body sent with an HTTP request can contain only (b) fields. # 3. If HttpRule.body is omitted, there is no HTTP request body, all
# The syntax of the path template is as follows: # fields are passed via URL path and URL query parameters.
# ### Path template syntax
# Template = "/" Segments [ Verb ] ; # Template = "/" Segments [ Verb ] ;
# Segments = Segment ` "/" Segment ` ; # Segments = Segment ` "/" Segment ` ;
# Segment = "*" | "**" | LITERAL | Variable ; # Segment = "*" | "**" | LITERAL | Variable ;
# Variable = "`" FieldPath [ "=" Segments ] "`" ; # Variable = "`" FieldPath [ "=" Segments ] "`" ;
# FieldPath = IDENT ` "." IDENT ` ; # FieldPath = IDENT ` "." IDENT ` ;
# Verb = ":" LITERAL ; # Verb = ":" LITERAL ;
# The syntax `*` matches a single path segment. The syntax `**` matches zero # The syntax `*` matches a single URL path segment. The syntax `**` matches
# or more path segments, which must be the last part of the path except the # zero or more URL path segments, which must be the last part of the URL path
# `Verb`. The syntax `LITERAL` matches literal text in the path. # except the `Verb`.
# The syntax `Variable` matches part of the URL path as specified by its # The syntax `Variable` matches part of the URL path as specified by its
# template. A variable template must not contain other variables. If a variable # template. A variable template must not contain other variables. If a variable
# matches a single path segment, its template may be omitted, e.g. ``var`` # matches a single path segment, its template may be omitted, e.g. ``var``
# is equivalent to ``var=*``. # is equivalent to ``var=*``.
# The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
# contains any reserved character, such characters should be percent-encoded
# before the matching.
# If a variable contains exactly one path segment, such as `"`var`"` or # If a variable contains exactly one path segment, such as `"`var`"` or
# `"`var=*`"`, when such a variable is expanded into a URL path, all characters # `"`var=*`"`, when such a variable is expanded into a URL path on the client
# except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the # side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
# Discovery Document as ``var``. # server side does the reverse decoding. Such variables show up in the
# If a variable contains one or more path segments, such as `"`var=foo/*`"` # [Discovery Document](https://developers.google.com/discovery/v1/reference/apis)
# or `"`var=**`"`, when such a variable is expanded into a URL path, all # as ``var``.
# characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables # If a variable contains multiple path segments, such as `"`var=foo/*`"`
# show up in the Discovery Document as ``+var``. # or `"`var=**`"`, when such a variable is expanded into a URL path on the
# NOTE: While the single segment variable matches the semantics of # client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
# [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 # The server side does the reverse decoding, except "%2F" and "%2f" are left
# Simple String Expansion, the multi segment variable **does not** match # unchanged. Such variables show up in the
# RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion # [Discovery Document](https://developers.google.com/discovery/v1/reference/apis)
# as ``+var``.
# ## Using gRPC API Service Configuration
# gRPC API Service Configuration (service config) is a configuration language
# for configuring a gRPC service to become a user-facing product. The
# service config is simply the YAML representation of the `google.api.Service`
# proto message.
# As an alternative to annotating your proto file, you can configure gRPC
# transcoding in your service config YAML files. You do this by specifying a
# `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
# effect as the proto annotation. This can be particularly useful if you
# have a proto that is reused in multiple services. Note that any transcoding
# specified in the service config will override any matching transcoding
# configuration in the proto.
# Example:
# http:
# rules:
# # Selects a gRPC method and applies HttpRule to it.
# - selector: example.v1.Messaging.GetMessage
# get: /v1/messages/`message_id`/`sub.subfield`
# ## Special notes
# When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
# proto to JSON conversion must follow the [proto3
# specification](https://developers.google.com/protocol-buffers/docs/proto3#json)
# .
# While the single segment variable follows the semantics of
# [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
# Expansion, the multi segment variable **does not** follow RFC 6570 Section
# 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
# does not expand special characters like `?` and `#`, which would lead # does not expand special characters like `?` and `#`, which would lead
# to invalid URLs. # to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
# NOTE: the field paths in variables and in the `body` must not refer to # for multi segment variables.
# repeated fields or map fields. # The path variables **must not** refer to any repeated or mapped field,
# because client libraries are not capable of handling such variable expansion.
# The path variables **must not** capture the leading "/" character. The reason
# is that the most common use case "`var`" does not capture the leading "/"
# character. For consistency, all path variables must share the same behavior.
# Repeated message fields must not be mapped to URL query parameters, because
# no client library can support such complicated mapping.
# If an API needs to use a JSON array for request or response body, it can map
# the request or response body to a repeated field. However, some gRPC
# Transcoding implementations may not support this feature.
class HttpRule class HttpRule
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
@ -1308,10 +1348,11 @@ module Google
# @return [Array<Google::Apis::ServiceuserV1::HttpRule>] # @return [Array<Google::Apis::ServiceuserV1::HttpRule>]
attr_accessor :additional_bindings attr_accessor :additional_bindings
# The name of the request field whose value is mapped to the HTTP body, or # The name of the request field whose value is mapped to the HTTP request
# `*` for mapping all fields not captured by the path pattern to the HTTP # body, or `*` for mapping all request fields not captured by the path
# body. NOTE: the referred field must not be a repeated field and must be # pattern to the HTTP body, or omitted for not having any HTTP request body.
# present at the top-level of request message type. # NOTE: the referred field must be present at the top-level of the request
# message type.
# Corresponds to the JSON property `body` # Corresponds to the JSON property `body`
# @return [String] # @return [String]
attr_accessor :body attr_accessor :body
@ -1321,12 +1362,13 @@ module Google
# @return [Google::Apis::ServiceuserV1::CustomHttpPattern] # @return [Google::Apis::ServiceuserV1::CustomHttpPattern]
attr_accessor :custom attr_accessor :custom
# Used for deleting a resource. # Maps to HTTP DELETE. Used for deleting a resource.
# Corresponds to the JSON property `delete` # Corresponds to the JSON property `delete`
# @return [String] # @return [String]
attr_accessor :delete attr_accessor :delete
# Used for listing and getting information about resources. # Maps to HTTP GET. Used for listing and getting information about
# resources.
# Corresponds to the JSON property `get` # Corresponds to the JSON property `get`
# @return [String] # @return [String]
attr_accessor :get attr_accessor :get
@ -1347,29 +1389,31 @@ module Google
# @return [Google::Apis::ServiceuserV1::MediaUpload] # @return [Google::Apis::ServiceuserV1::MediaUpload]
attr_accessor :media_upload attr_accessor :media_upload
# Used for updating a resource. # Maps to HTTP PATCH. Used for updating a resource.
# Corresponds to the JSON property `patch` # Corresponds to the JSON property `patch`
# @return [String] # @return [String]
attr_accessor :patch attr_accessor :patch
# Used for creating a resource. # Maps to HTTP POST. Used for creating a resource or performing an action.
# Corresponds to the JSON property `post` # Corresponds to the JSON property `post`
# @return [String] # @return [String]
attr_accessor :post attr_accessor :post
# Used for updating a resource. # Maps to HTTP PUT. Used for replacing a resource.
# Corresponds to the JSON property `put` # Corresponds to the JSON property `put`
# @return [String] # @return [String]
attr_accessor :put attr_accessor :put
# Optional. The name of the response field whose value is mapped to the HTTP # Optional. The name of the response field whose value is mapped to the HTTP
# body of response. Other response fields are ignored. When # response body. When omitted, the entire response message will be used
# not set, the response message will be used as HTTP body of response. # as the HTTP response body.
# NOTE: The referred field must be present at the top-level of the response
# message type.
# Corresponds to the JSON property `responseBody` # Corresponds to the JSON property `responseBody`
# @return [String] # @return [String]
attr_accessor :response_body attr_accessor :response_body
# Selects methods to which this rule applies. # Selects a method to which this rule applies.
# Refer to selector for syntax details. # Refer to selector for syntax details.
# Corresponds to the JSON property `selector` # Corresponds to the JSON property `selector`
# @return [String] # @return [String]

View File

@ -26,7 +26,7 @@ module Google
# @see https://developers.google.com/cloud-test-lab/ # @see https://developers.google.com/cloud-test-lab/
module TestingV1 module TestingV1
VERSION = 'V1' VERSION = 'V1'
REVISION = '20180911' REVISION = '20180913'
# View and manage your data across Google Cloud Platform services # View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -300,7 +300,7 @@ module Google
# @return [String] # @return [String]
attr_accessor :form attr_accessor :form
# Whther this device is a phone, tablet, wearable, etc. # Whether this device is a phone, tablet, wearable, etc.
# @OutputOnly # @OutputOnly
# Corresponds to the JSON property `formFactor` # Corresponds to the JSON property `formFactor`
# @return [String] # @return [String]
@ -1184,6 +1184,12 @@ module Google
# @return [Array<String>] # @return [Array<String>]
attr_accessor :device_capabilities attr_accessor :device_capabilities
# Whether this device is a phone, tablet, wearable, etc.
# @OutputOnly
# Corresponds to the JSON property `formFactor`
# @return [String]
attr_accessor :form_factor
# Output only. The unique opaque id for this model. # Output only. The unique opaque id for this model.
# Use this for invoking the TestExecutionService. # Use this for invoking the TestExecutionService.
# Corresponds to the JSON property `id` # Corresponds to the JSON property `id`
@ -1214,6 +1220,7 @@ module Google
# Update properties of this object # Update properties of this object
def update!(**args) def update!(**args)
@device_capabilities = args[:device_capabilities] if args.key?(:device_capabilities) @device_capabilities = args[:device_capabilities] if args.key?(:device_capabilities)
@form_factor = args[:form_factor] if args.key?(:form_factor)
@id = args[:id] if args.key?(:id) @id = args[:id] if args.key?(:id)
@name = args[:name] if args.key?(:name) @name = args[:name] if args.key?(:name)
@supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids) @supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids)

View File

@ -688,6 +688,7 @@ module Google
# @private # @private
class Representation < Google::Apis::Core::JsonRepresentation class Representation < Google::Apis::Core::JsonRepresentation
collection :device_capabilities, as: 'deviceCapabilities' collection :device_capabilities, as: 'deviceCapabilities'
property :form_factor, as: 'formFactor'
property :id, as: 'id' property :id, as: 'id'
property :name, as: 'name' property :name, as: 'name'
collection :supported_version_ids, as: 'supportedVersionIds' collection :supported_version_ids, as: 'supportedVersionIds'