From 3af076319bc4b4e4967d0e7dce9ff851da8502e3 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Thu, 26 Sep 2019 00:37:44 +0000 Subject: [PATCH] Autogenerated update (2019-09-26) Update: - bigqueryreservation_v1 - bigqueryreservation_v1alpha2 - blogger_v3 - cloudasset_v1 - cloudasset_v1beta1 - compute_alpha - compute_beta - compute_v1 - healthcare_v1beta1 - iam_v1 - proximitybeacon_v1beta1 - remotebuildexecution_v1 - remotebuildexecution_v1alpha - remotebuildexecution_v2 - safebrowsing_v4 - servicebroker_v1 - servicebroker_v1alpha1 - servicebroker_v1beta1 - servicemanagement_v1 - testing_v1 - texttospeech_v1 - texttospeech_v1beta1 - toolresults_v1beta3 --- .../google/apis/bigqueryreservation_v1.rb | 2 +- .../apis/bigqueryreservation_v1/classes.rb | 14 +- .../bigqueryreservation_v1/representations.rb | 6 +- .../apis/bigqueryreservation_v1alpha2.rb | 2 +- .../bigqueryreservation_v1alpha2/classes.rb | 175 --- .../representations.rb | 65 - .../bigqueryreservation_v1alpha2/service.rb | 140 -- generated/google/apis/blogger_v3.rb | 2 +- generated/google/apis/blogger_v3/service.rb | 12 +- generated/google/apis/cloudasset_v1.rb | 2 +- .../google/apis/cloudasset_v1/classes.rb | 101 +- .../apis/cloudasset_v1/representations.rb | 1 + generated/google/apis/cloudasset_v1beta1.rb | 2 +- .../google/apis/cloudasset_v1beta1/classes.rb | 91 +- generated/google/apis/compute_alpha.rb | 2 +- .../google/apis/compute_alpha/classes.rb | 80 +- .../apis/compute_alpha/representations.rb | 21 +- generated/google/apis/compute_beta.rb | 2 +- generated/google/apis/compute_beta/classes.rb | 15 +- generated/google/apis/compute_v1.rb | 2 +- generated/google/apis/compute_v1/classes.rb | 1331 ++++++++++++++++- .../google/apis/compute_v1/representations.rb | 439 ++++++ generated/google/apis/healthcare_v1beta1.rb | 2 +- .../google/apis/healthcare_v1beta1/classes.rb | 151 +- .../healthcare_v1beta1/representations.rb | 2 +- .../google/apis/healthcare_v1beta1/service.rb | 231 +-- generated/google/apis/iam_v1.rb | 2 +- generated/google/apis/iam_v1/classes.rb | 128 +- .../google/apis/proximitybeacon_v1beta1.rb | 2 +- .../apis/proximitybeacon_v1beta1/classes.rb | 11 +- .../apis/proximitybeacon_v1beta1/service.rb | 118 +- .../google/apis/remotebuildexecution_v1.rb | 2 +- .../apis/remotebuildexecution_v1/classes.rb | 1061 ------------- .../representations.rb | 276 ---- .../apis/remotebuildexecution_v1/service.rb | 77 - .../apis/remotebuildexecution_v1alpha.rb | 2 +- .../remotebuildexecution_v1alpha/classes.rb | 988 ------------ .../representations.rb | 245 --- .../google/apis/remotebuildexecution_v2.rb | 2 +- .../apis/remotebuildexecution_v2/classes.rb | 988 ------------ .../representations.rb | 245 --- generated/google/apis/safebrowsing_v4.rb | 7 +- .../google/apis/safebrowsing_v4/service.rb | 5 +- generated/google/apis/servicebroker_v1.rb | 2 +- .../google/apis/servicebroker_v1/classes.rb | 91 +- .../google/apis/servicebroker_v1alpha1.rb | 2 +- .../apis/servicebroker_v1alpha1/classes.rb | 91 +- .../google/apis/servicebroker_v1beta1.rb | 2 +- .../apis/servicebroker_v1beta1/classes.rb | 91 +- generated/google/apis/servicemanagement_v1.rb | 2 +- .../apis/servicemanagement_v1/classes.rb | 91 +- generated/google/apis/testing_v1.rb | 2 +- generated/google/apis/testing_v1/classes.rb | 42 + .../google/apis/testing_v1/representations.rb | 18 + generated/google/apis/texttospeech_v1.rb | 2 +- .../google/apis/texttospeech_v1/classes.rb | 11 +- .../google/apis/texttospeech_v1/service.rb | 2 +- generated/google/apis/texttospeech_v1beta1.rb | 2 +- .../apis/texttospeech_v1beta1/classes.rb | 11 +- .../apis/texttospeech_v1beta1/service.rb | 2 +- generated/google/apis/toolresults_v1beta3.rb | 2 +- .../apis/toolresults_v1beta3/classes.rb | 2 +- 62 files changed, 2672 insertions(+), 4848 deletions(-) diff --git a/generated/google/apis/bigqueryreservation_v1.rb b/generated/google/apis/bigqueryreservation_v1.rb index 5a5f6ae6b..b9425b66a 100644 --- a/generated/google/apis/bigqueryreservation_v1.rb +++ b/generated/google/apis/bigqueryreservation_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryreservationV1 VERSION = 'V1' - REVISION = '20190816' + REVISION = '20190920' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigqueryreservation_v1/classes.rb b/generated/google/apis/bigqueryreservation_v1/classes.rb index f545f9a20..0772db426 100644 --- a/generated/google/apis/bigqueryreservation_v1/classes.rb +++ b/generated/google/apis/bigqueryreservation_v1/classes.rb @@ -23,15 +23,15 @@ module Google module BigqueryreservationV1 # The metadata for operation returned from - # ReservationService.CreateSlotPool. - class CreateSlotPoolMetadata + # ReservationService.CreateCapacityCommitment. + class CreateCapacityCommitmentMetadata include Google::Apis::Core::Hashable - # Resource name of the slot pool that is being created. E.g., - # projects/myproject/locations/us-central1/reservations/foo/slotPools/123 - # Corresponds to the JSON property `slotPool` + # Resource name of the capacity commitment that is being created. E.g., + # projects/myproject/locations/US/capacityCommitments/123 + # Corresponds to the JSON property `capacityCommitment` # @return [String] - attr_accessor :slot_pool + attr_accessor :capacity_commitment def initialize(**args) update!(**args) @@ -39,7 +39,7 @@ module Google # Update properties of this object def update!(**args) - @slot_pool = args[:slot_pool] if args.key?(:slot_pool) + @capacity_commitment = args[:capacity_commitment] if args.key?(:capacity_commitment) end end diff --git a/generated/google/apis/bigqueryreservation_v1/representations.rb b/generated/google/apis/bigqueryreservation_v1/representations.rb index 575498e4f..620c94f25 100644 --- a/generated/google/apis/bigqueryreservation_v1/representations.rb +++ b/generated/google/apis/bigqueryreservation_v1/representations.rb @@ -22,7 +22,7 @@ module Google module Apis module BigqueryreservationV1 - class CreateSlotPoolMetadata + class CreateCapacityCommitmentMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport @@ -58,10 +58,10 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class CreateSlotPoolMetadata + class CreateCapacityCommitmentMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation - property :slot_pool, as: 'slotPool' + property :capacity_commitment, as: 'capacityCommitment' end end diff --git a/generated/google/apis/bigqueryreservation_v1alpha2.rb b/generated/google/apis/bigqueryreservation_v1alpha2.rb index 2a2a9399a..c0747d500 100644 --- a/generated/google/apis/bigqueryreservation_v1alpha2.rb +++ b/generated/google/apis/bigqueryreservation_v1alpha2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryreservationV1alpha2 VERSION = 'V1alpha2' - REVISION = '20190816' + REVISION = '20190920' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb b/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb index b6cda95e6..d4895a464 100644 --- a/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +++ b/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb @@ -62,31 +62,6 @@ module Google end end - # The response message for Locations.ListLocations. - class ListLocationsResponse - include Google::Apis::Core::Hashable - - # A list of locations that matches the specified filter in the request. - # Corresponds to the JSON property `locations` - # @return [Array] - attr_accessor :locations - - # The standard List next-page token. - # Corresponds to the JSON property `nextPageToken` - # @return [String] - attr_accessor :next_page_token - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @locations = args[:locations] if args.key?(:locations) - @next_page_token = args[:next_page_token] if args.key?(:next_page_token) - end - end - # The response for ReservationService.ListReservationGrants. class ListReservationGrantsResponse include Google::Apis::Core::Hashable @@ -165,53 +140,6 @@ module Google end end - # A resource that represents Google Cloud Platform location. - class Location - include Google::Apis::Core::Hashable - - # The friendly name for this location, typically a nearby city name. - # For example, "Tokyo". - # Corresponds to the JSON property `displayName` - # @return [String] - attr_accessor :display_name - - # Cross-service attributes for the location. For example - # `"cloud.googleapis.com/region": "us-east1"` - # Corresponds to the JSON property `labels` - # @return [Hash] - attr_accessor :labels - - # The canonical id for this location. For example: `"us-east1"`. - # Corresponds to the JSON property `locationId` - # @return [String] - attr_accessor :location_id - - # Service-specific metadata. For example the available capacity at the given - # location. - # Corresponds to the JSON property `metadata` - # @return [Hash] - attr_accessor :metadata - - # Resource name for the location, which may vary between implementations. - # For example: `"projects/example-project/locations/us-east1"` - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @display_name = args[:display_name] if args.key?(:display_name) - @labels = args[:labels] if args.key?(:labels) - @location_id = args[:location_id] if args.key?(:location_id) - @metadata = args[:metadata] if args.key?(:metadata) - @name = args[:name] if args.key?(:name) - end - end - # BigQuery-specific metadata about a location. This will be set on # google.cloud.location.Location.metadata in Cloud Location API # responses. @@ -234,70 +162,6 @@ module Google end end - # This resource represents a long-running operation that is the result of a - # network API call. - class Operation - include Google::Apis::Core::Hashable - - # If the value is `false`, it means the operation is still in progress. - # If `true`, the operation is completed, and either `error` or `response` is - # available. - # Corresponds to the JSON property `done` - # @return [Boolean] - attr_accessor :done - alias_method :done?, :done - - # The `Status` type defines a logical error model that is suitable for - # different programming environments, including REST APIs and RPC APIs. It is - # used by [gRPC](https://github.com/grpc). Each `Status` message contains - # three pieces of data: error code, error message, and error details. - # You can find out more about this error model and how to work with it in the - # [API Design Guide](https://cloud.google.com/apis/design/errors). - # Corresponds to the JSON property `error` - # @return [Google::Apis::BigqueryreservationV1alpha2::Status] - attr_accessor :error - - # Service-specific metadata associated with the operation. It typically - # contains progress information and common metadata such as create time. - # Some services might not provide such metadata. Any method that returns a - # long-running operation should document the metadata type, if any. - # Corresponds to the JSON property `metadata` - # @return [Hash] - attr_accessor :metadata - - # The server-assigned name, which is only unique within the same service that - # originally returns it. If you use the default HTTP mapping, the - # `name` should be a resource name ending with `operations/`unique_id``. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The normal response of the operation in case of success. If the original - # method returns no data on success, such as `Delete`, the response is - # `google.protobuf.Empty`. If the original method is standard - # `Get`/`Create`/`Update`, the response should be the resource. For other - # methods, the response should have the type `XxxResponse`, where `Xxx` - # is the original method name. For example, if the original method name - # is `TakeSnapshot()`, the inferred response type is - # `TakeSnapshotResponse`. - # Corresponds to the JSON property `response` - # @return [Hash] - attr_accessor :response - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @done = args[:done] if args.key?(:done) - @error = args[:error] if args.key?(:error) - @metadata = args[:metadata] if args.key?(:metadata) - @name = args[:name] if args.key?(:name) - @response = args[:response] if args.key?(:response) - end - end - # A reservation is a mechanism used to guarantee slots to users. class Reservation include Google::Apis::Core::Hashable @@ -470,45 +334,6 @@ module Google @state = args[:state] if args.key?(:state) end end - - # The `Status` type defines a logical error model that is suitable for - # different programming environments, including REST APIs and RPC APIs. It is - # used by [gRPC](https://github.com/grpc). Each `Status` message contains - # three pieces of data: error code, error message, and error details. - # You can find out more about this error model and how to work with it in the - # [API Design Guide](https://cloud.google.com/apis/design/errors). - class Status - include Google::Apis::Core::Hashable - - # The status code, which should be an enum value of google.rpc.Code. - # Corresponds to the JSON property `code` - # @return [Fixnum] - attr_accessor :code - - # A list of messages that carry the error details. There is a common set of - # message types for APIs to use. - # Corresponds to the JSON property `details` - # @return [Array>] - attr_accessor :details - - # A developer-facing error message, which should be in English. Any - # user-facing error message should be localized and sent in the - # google.rpc.Status.details field, or localized by the client. - # Corresponds to the JSON property `message` - # @return [String] - attr_accessor :message - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @code = args[:code] if args.key?(:code) - @details = args[:details] if args.key?(:details) - @message = args[:message] if args.key?(:message) - end - end end end end diff --git a/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb b/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb index c9b7693c1..84deee875 100644 --- a/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +++ b/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb @@ -34,12 +34,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class ListLocationsResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class ListReservationGrantsResponse class Representation < Google::Apis::Core::JsonRepresentation; end @@ -58,24 +52,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class Location - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class LocationMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end - class Operation - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class Reservation class Representation < Google::Apis::Core::JsonRepresentation; end @@ -100,12 +82,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class Status - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class CreateSlotPoolMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -119,15 +95,6 @@ module Google end end - class ListLocationsResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :locations, as: 'locations', class: Google::Apis::BigqueryreservationV1alpha2::Location, decorator: Google::Apis::BigqueryreservationV1alpha2::Location::Representation - - property :next_page_token, as: 'nextPageToken' - end - end - class ListReservationGrantsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -155,17 +122,6 @@ module Google end end - class Location - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :display_name, as: 'displayName' - hash :labels, as: 'labels' - property :location_id, as: 'locationId' - hash :metadata, as: 'metadata' - property :name, as: 'name' - end - end - class LocationMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -173,18 +129,6 @@ module Google end end - class Operation - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :done, as: 'done' - property :error, as: 'error', class: Google::Apis::BigqueryreservationV1alpha2::Status, decorator: Google::Apis::BigqueryreservationV1alpha2::Status::Representation - - hash :metadata, as: 'metadata' - property :name, as: 'name' - hash :response, as: 'response' - end - end - class Reservation # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -223,15 +167,6 @@ module Google property :state, as: 'state' end end - - class Status - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :code, as: 'code' - collection :details, as: 'details' - property :message, as: 'message' - end - end end end end diff --git a/generated/google/apis/bigqueryreservation_v1alpha2/service.rb b/generated/google/apis/bigqueryreservation_v1alpha2/service.rb index ab5fa1fc0..4cebab181 100644 --- a/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +++ b/generated/google/apis/bigqueryreservation_v1alpha2/service.rb @@ -47,75 +47,6 @@ module Google @batch_path = 'batch' end - # Gets information about a location. - # @param [String] name - # Resource name for the location. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # Available to use for quota purposes for server-side applications. Can be any - # arbitrary string assigned to a user, but should not exceed 40 characters. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::BigqueryreservationV1alpha2::Location] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::BigqueryreservationV1alpha2::Location] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block) - command = make_simple_command(:get, 'v1alpha2/{+name}', options) - command.response_representation = Google::Apis::BigqueryreservationV1alpha2::Location::Representation - command.response_class = Google::Apis::BigqueryreservationV1alpha2::Location - command.params['name'] = name unless name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - execute_or_queue_command(command, &block) - end - - # Lists information about the supported locations for this service. - # @param [String] name - # The resource that owns the locations collection, if applicable. - # @param [String] filter - # The standard list filter. - # @param [Fixnum] page_size - # The standard list page size. - # @param [String] page_token - # The standard list page token. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # Available to use for quota purposes for server-side applications. Can be any - # arbitrary string assigned to a user, but should not exceed 40 characters. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::BigqueryreservationV1alpha2::ListLocationsResponse] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::BigqueryreservationV1alpha2::ListLocationsResponse] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def list_project_locations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) - command = make_simple_command(:get, 'v1alpha2/{+name}/locations', options) - command.response_representation = Google::Apis::BigqueryreservationV1alpha2::ListLocationsResponse::Representation - command.response_class = Google::Apis::BigqueryreservationV1alpha2::ListLocationsResponse - command.params['name'] = name unless name.nil? - command.query['filter'] = filter unless filter.nil? - command.query['pageSize'] = page_size unless page_size.nil? - command.query['pageToken'] = page_token unless page_token.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - execute_or_queue_command(command, &block) - end - # Look up grants for a specified resource for a particular region. # If the request is about a project: # 1) Grants created on the project will be returned if they exist. @@ -171,77 +102,6 @@ module Google execute_or_queue_command(command, &block) end - # Starts asynchronous cancellation on a long-running operation. The server - # makes a best effort to cancel the operation, but success is not - # guaranteed. If the server doesn't support this method, it returns - # `google.rpc.Code.UNIMPLEMENTED`. Clients can use - # Operations.GetOperation or - # other methods to check whether the cancellation succeeded or whether the - # operation completed despite cancellation. On successful cancellation, - # the operation is not deleted; instead, it becomes an operation with - # an Operation.error value with a google.rpc.Status.code of 1, - # corresponding to `Code.CANCELLED`. - # @param [String] name - # The name of the operation resource to be cancelled. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # Available to use for quota purposes for server-side applications. Can be any - # arbitrary string assigned to a user, but should not exceed 40 characters. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::BigqueryreservationV1alpha2::Empty] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::BigqueryreservationV1alpha2::Empty] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def cancel_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block) - command = make_simple_command(:post, 'v1alpha2/{+name}:cancel', options) - command.response_representation = Google::Apis::BigqueryreservationV1alpha2::Empty::Representation - command.response_class = Google::Apis::BigqueryreservationV1alpha2::Empty - command.params['name'] = name unless name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - execute_or_queue_command(command, &block) - end - - # Gets the latest state of a long-running operation. Clients can use this - # method to poll the operation result at intervals as recommended by the API - # service. - # @param [String] name - # The name of the operation resource. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # Available to use for quota purposes for server-side applications. Can be any - # arbitrary string assigned to a user, but should not exceed 40 characters. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::BigqueryreservationV1alpha2::Operation] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::BigqueryreservationV1alpha2::Operation] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block) - command = make_simple_command(:get, 'v1alpha2/{+name}', options) - command.response_representation = Google::Apis::BigqueryreservationV1alpha2::Operation::Representation - command.response_class = Google::Apis::BigqueryreservationV1alpha2::Operation - command.params['name'] = name unless name.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - execute_or_queue_command(command, &block) - end - # Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have # 'bigquery.admin' permissions on the project using the reservation # and the project that owns this reservation. diff --git a/generated/google/apis/blogger_v3.rb b/generated/google/apis/blogger_v3.rb index 65fd0980d..ab59a1bfc 100644 --- a/generated/google/apis/blogger_v3.rb +++ b/generated/google/apis/blogger_v3.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/blogger/docs/3.0/getting_started module BloggerV3 VERSION = 'V3' - REVISION = '20150422' + REVISION = '20190917' # Manage your Blogger account AUTH_BLOGGER = 'https://www.googleapis.com/auth/blogger' diff --git a/generated/google/apis/blogger_v3/service.rb b/generated/google/apis/blogger_v3/service.rb index e8b04ff10..c1b6b0d2c 100644 --- a/generated/google/apis/blogger_v3/service.rb +++ b/generated/google/apis/blogger_v3/service.rb @@ -53,8 +53,8 @@ module Google # Gets one blog and user info pair by blogId and userId. # @param [String] user_id - # ID of the user whose blogs are to be fetched. Either the word 'self' (sans - # quote marks) or the user's profile identifier. + # ID of the user whose blogs are to be fetched. Either the word 'self' or the + # user's profile identifier. # @param [String] blog_id # The ID of the blog to get. # @param [Fixnum] max_posts @@ -170,8 +170,8 @@ module Google # Retrieves a list of blogs, possibly filtered. # @param [String] user_id - # ID of the user whose blogs are to be fetched. Either the word 'self' (sans - # quote marks) or the user's profile identifier. + # ID of the user whose blogs are to be fetched. Either the word 'self' or the + # user's profile identifier. # @param [Boolean] fetch_user_info # Whether the response is a list of blogs with per-user information instead of # just blogs. @@ -890,7 +890,7 @@ module Google # to the user. # @param [String] user_id # ID of the user for the per-user information to be fetched. Either the word ' - # self' (sans quote marks) or the user's profile identifier. + # self' or the user's profile identifier. # @param [String] blog_id # The ID of the blog. # @param [String] post_id @@ -935,7 +935,7 @@ module Google # specific to the user. # @param [String] user_id # ID of the user for the per-user information to be fetched. Either the word ' - # self' (sans quote marks) or the user's profile identifier. + # self' or the user's profile identifier. # @param [String] blog_id # ID of the blog to fetch posts from. # @param [DateTime] end_date diff --git a/generated/google/apis/cloudasset_v1.rb b/generated/google/apis/cloudasset_v1.rb index aba35c36b..89eda18a5 100644 --- a/generated/google/apis/cloudasset_v1.rb +++ b/generated/google/apis/cloudasset_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory module CloudassetV1 VERSION = 'V1' - REVISION = '20190831' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudasset_v1/classes.rb b/generated/google/apis/cloudasset_v1/classes.rb index f1add0f43..6f6ff0cee 100644 --- a/generated/google/apis/cloudasset_v1/classes.rb +++ b/generated/google/apis/cloudasset_v1/classes.rb @@ -42,6 +42,15 @@ module Google # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy] attr_accessor :access_policy + # Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy, + # represented as a list of relative resource names. Ancestry path starts with + # the closest CRM ancestor and ends at root. If the asset is a CRM + # project/folder/organization, this starts from the asset itself. + # Example: ["projects/123456789", "folders/5432", "organizations/1234"] + # Corresponds to the JSON property `ancestors` + # @return [Array] + attr_accessor :ancestors + # Type of the asset. Example: "compute.googleapis.com/Disk". # Corresponds to the JSON property `assetType` # @return [String] @@ -49,25 +58,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -77,11 +95,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `iamPolicy` @@ -131,6 +153,7 @@ module Google def update!(**args) @access_level = args[:access_level] if args.key?(:access_level) @access_policy = args[:access_policy] if args.key?(:access_policy) + @ancestors = args[:ancestors] if args.key?(:ancestors) @asset_type = args[:asset_type] if args.key?(:asset_type) @iam_policy = args[:iam_policy] if args.key?(:iam_policy) @name = args[:name] if args.key?(:name) @@ -1347,25 +1370,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -1375,11 +1407,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class Policy @@ -1390,7 +1426,8 @@ module Google # @return [Array] attr_accessor :audit_configs - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -1404,7 +1441,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -1413,9 +1452,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version diff --git a/generated/google/apis/cloudasset_v1/representations.rb b/generated/google/apis/cloudasset_v1/representations.rb index 551c1f96d..a6e2d10a2 100644 --- a/generated/google/apis/cloudasset_v1/representations.rb +++ b/generated/google/apis/cloudasset_v1/representations.rb @@ -197,6 +197,7 @@ module Google property :access_policy, as: 'accessPolicy', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1AccessPolicy::Representation + collection :ancestors, as: 'ancestors' property :asset_type, as: 'assetType' property :iam_policy, as: 'iamPolicy', class: Google::Apis::CloudassetV1::Policy, decorator: Google::Apis::CloudassetV1::Policy::Representation diff --git a/generated/google/apis/cloudasset_v1beta1.rb b/generated/google/apis/cloudasset_v1beta1.rb index 770866041..a2ffd4b4d 100644 --- a/generated/google/apis/cloudasset_v1beta1.rb +++ b/generated/google/apis/cloudasset_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory module CloudassetV1beta1 VERSION = 'V1beta1' - REVISION = '20190831' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudasset_v1beta1/classes.rb b/generated/google/apis/cloudasset_v1beta1/classes.rb index 1531909e9..73c089c48 100644 --- a/generated/google/apis/cloudasset_v1beta1/classes.rb +++ b/generated/google/apis/cloudasset_v1beta1/classes.rb @@ -34,25 +34,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -62,11 +71,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `iamPolicy` @@ -499,25 +512,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -527,11 +549,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class Policy @@ -542,7 +568,8 @@ module Google # @return [Array] attr_accessor :audit_configs - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -556,7 +583,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -565,9 +594,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version diff --git a/generated/google/apis/compute_alpha.rb b/generated/google/apis/compute_alpha.rb index b31c6fd9c..41ae5dad8 100644 --- a/generated/google/apis/compute_alpha.rb +++ b/generated/google/apis/compute_alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeAlpha VERSION = 'Alpha' - REVISION = '20190825' + REVISION = '20190905' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_alpha/classes.rb b/generated/google/apis/compute_alpha/classes.rb index 66db35c7b..398a10180 100644 --- a/generated/google/apis/compute_alpha/classes.rb +++ b/generated/google/apis/compute_alpha/classes.rb @@ -1532,8 +1532,7 @@ module Google # @return [Array] attr_accessor :exempted_members - # Specifies whether principals can be exempted for the same LogType in lower- - # level resource policies. If true, any lower-level exemptions will be ignored. + # # Corresponds to the JSON property `ignoreChildExemptions` # @return [Boolean] attr_accessor :ignore_child_exemptions @@ -11120,6 +11119,11 @@ module Google # @return [Array] attr_accessor :network_interfaces + # Specifies whether this instance will be shut down on key revocation. + # Corresponds to the JSON property `postKeyRevocationActionType` + # @return [String] + attr_accessor :post_key_revocation_action_type + # Total amount of preserved state for SUSPENDED instances. Read-only in the api. # Corresponds to the JSON property `preservedStateSizeGb` # @return [Fixnum] @@ -11248,6 +11252,7 @@ module Google @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @name = args[:name] if args.key?(:name) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) + @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type) @preserved_state_size_gb = args[:preserved_state_size_gb] if args.key?(:preserved_state_size_gb) @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @@ -13862,6 +13867,11 @@ module Google # @return [Array] attr_accessor :network_interfaces + # Specifies whether this instance will be shut down on key revocation. + # Corresponds to the JSON property `postKeyRevocationActionType` + # @return [String] + attr_accessor :post_key_revocation_action_type + # Specifies the reservations that this instance can consume from. # Corresponds to the JSON property `reservationAffinity` # @return [Google::Apis::ComputeAlpha::ReservationAffinity] @@ -13910,6 +13920,7 @@ module Google @metadata = args[:metadata] if args.key?(:metadata) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) + @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type) @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity) @scheduling = args[:scheduling] if args.key?(:scheduling) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @@ -21334,6 +21345,14 @@ module Google # @return [String] attr_accessor :payload_name + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `resendInterval` + # @return [Google::Apis::ComputeAlpha::Duration] + attr_accessor :resend_interval + # How much time (in seconds) is spent attempting notification retries until a # successful response is received. Default is 30s. Limit is 20m (1200s). Must be # a positive number. @@ -21350,6 +21369,7 @@ module Google @authority = args[:authority] if args.key?(:authority) @endpoint = args[:endpoint] if args.key?(:endpoint) @payload_name = args[:payload_name] if args.key?(:payload_name) + @resend_interval = args[:resend_interval] if args.key?(:resend_interval) @retry_duration_sec = args[:retry_duration_sec] if args.key?(:retry_duration_sec) end end @@ -23066,7 +23086,7 @@ module Google # first basis. # For example: a pathRule with a path /a/b/c/* will match before /a/b/* # irrespective of the order in which those paths appear in this list. - # Only one of pathRules or routeRules must be set. + # Within a given pathMatcher, only one of pathRules or routeRules must be set. # Corresponds to the JSON property `pathRules` # @return [Array] attr_accessor :path_rules @@ -23075,7 +23095,8 @@ module Google # advanced route matching and routing actions are desired. The order of # specifying routeRules matters: the first rule that matches will cause its # specified routing action to take effect. - # Only one of pathRules or routeRules must be set. + # Within a given pathMatcher, only one of pathRules or routeRules must be set. + # routeRules are not supported in UrlMaps intended for External Load balancers. # Corresponds to the JSON property `routeRules` # @return [Array] attr_accessor :route_rules @@ -23366,7 +23387,12 @@ module Google # @return [Array] attr_accessor :rules - # Deprecated. + # Specifies the format of the policy. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -24073,11 +24099,6 @@ module Google # @return [String] attr_accessor :fingerprint - # The list of Google announcements that exist for this delegated prefix. - # Corresponds to the JSON property `googleAnnouncements` - # @return [Array] - attr_accessor :google_announcements - # [Output Only] The unique identifier for the resource type. The server # generates this identifier. # Corresponds to the JSON property `id` @@ -24150,7 +24171,6 @@ module Google @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) - @google_announcements = args[:google_announcements] if args.key?(:google_announcements) @id = args[:id] if args.key?(:id) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @kind = args[:kind] if args.key?(:kind) @@ -24283,37 +24303,6 @@ module Google end end - # A Google announcement advertises the prefix internally within Google's network - # backbone from the specified scope. - class PublicDelegatedPrefixGoogleAnnouncement - include Google::Apis::Core::Hashable - - # The name of a Google announcement. The name must be 1-63 characters long, and - # comply with RFC1035. Specifically, the name must be 1-63 characters long and - # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the - # first // character must be a lowercase letter, and all following characters - # must be a dash, lowercase letter, or digit, except the last character, which - # cannot be a dash. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The status of this Google announcement. - # Corresponds to the JSON property `status` - # @return [String] - attr_accessor :status - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @status = args[:status] if args.key?(:status) - end - end - # class PublicDelegatedPrefixList include Google::Apis::Core::Hashable @@ -29321,6 +29310,12 @@ module Google attr_accessor :latency_tolerant alias_method :latency_tolerant?, :latency_tolerant + # An opaque location hint used to place the instance close to other resources. + # This field is for use by internal tools that use the public API. + # Corresponds to the JSON property `locationHint` + # @return [String] + attr_accessor :location_hint + # The minimum number of virtual CPUs this instance will consume when running on # a sole-tenant node. # Corresponds to the JSON property `minNodeCpus` @@ -29357,6 +29352,7 @@ module Google def update!(**args) @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart) @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant) + @location_hint = args[:location_hint] if args.key?(:location_hint) @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus) @node_affinities = args[:node_affinities] if args.key?(:node_affinities) @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance) diff --git a/generated/google/apis/compute_alpha/representations.rb b/generated/google/apis/compute_alpha/representations.rb index 999e5fdf2..58d342a1e 100644 --- a/generated/google/apis/compute_alpha/representations.rb +++ b/generated/google/apis/compute_alpha/representations.rb @@ -3184,12 +3184,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class PublicDelegatedPrefixGoogleAnnouncement - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class PublicDelegatedPrefixList class Representation < Google::Apis::Core::JsonRepresentation; end @@ -7849,6 +7843,7 @@ module Google property :name, as: 'name' collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeAlpha::NetworkInterface, decorator: Google::Apis::ComputeAlpha::NetworkInterface::Representation + property :post_key_revocation_action_type, as: 'postKeyRevocationActionType' property :preserved_state_size_gb, :numeric_string => true, as: 'preservedStateSizeGb' property :reservation_affinity, as: 'reservationAffinity', class: Google::Apis::ComputeAlpha::ReservationAffinity, decorator: Google::Apis::ComputeAlpha::ReservationAffinity::Representation @@ -8567,6 +8562,7 @@ module Google property :min_cpu_platform, as: 'minCpuPlatform' collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeAlpha::NetworkInterface, decorator: Google::Apis::ComputeAlpha::NetworkInterface::Representation + property :post_key_revocation_action_type, as: 'postKeyRevocationActionType' property :reservation_affinity, as: 'reservationAffinity', class: Google::Apis::ComputeAlpha::ReservationAffinity, decorator: Google::Apis::ComputeAlpha::ReservationAffinity::Representation property :scheduling, as: 'scheduling', class: Google::Apis::ComputeAlpha::Scheduling, decorator: Google::Apis::ComputeAlpha::Scheduling::Representation @@ -10472,6 +10468,8 @@ module Google property :authority, as: 'authority' property :endpoint, as: 'endpoint' property :payload_name, as: 'payloadName' + property :resend_interval, as: 'resendInterval', class: Google::Apis::ComputeAlpha::Duration, decorator: Google::Apis::ComputeAlpha::Duration::Representation + property :retry_duration_sec, as: 'retryDurationSec' end end @@ -11174,8 +11172,6 @@ module Google property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' - collection :google_announcements, as: 'googleAnnouncements', class: Google::Apis::ComputeAlpha::PublicDelegatedPrefixGoogleAnnouncement, decorator: Google::Apis::ComputeAlpha::PublicDelegatedPrefixGoogleAnnouncement::Representation - property :id, :numeric_string => true, as: 'id' property :ip_cidr_range, as: 'ipCidrRange' property :kind, as: 'kind' @@ -11222,14 +11218,6 @@ module Google end end - class PublicDelegatedPrefixGoogleAnnouncement - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :name, as: 'name' - property :status, as: 'status' - end - end - class PublicDelegatedPrefixList # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -12547,6 +12535,7 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :automatic_restart, as: 'automaticRestart' property :latency_tolerant, as: 'latencyTolerant' + property :location_hint, as: 'locationHint' property :min_node_cpus, as: 'minNodeCpus' collection :node_affinities, as: 'nodeAffinities', class: Google::Apis::ComputeAlpha::SchedulingNodeAffinity, decorator: Google::Apis::ComputeAlpha::SchedulingNodeAffinity::Representation diff --git a/generated/google/apis/compute_beta.rb b/generated/google/apis/compute_beta.rb index 29c8154c9..8a64810ad 100644 --- a/generated/google/apis/compute_beta.rb +++ b/generated/google/apis/compute_beta.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeBeta VERSION = 'Beta' - REVISION = '20190825' + REVISION = '20190905' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_beta/classes.rb b/generated/google/apis/compute_beta/classes.rb index 371d59f21..966806537 100644 --- a/generated/google/apis/compute_beta/classes.rb +++ b/generated/google/apis/compute_beta/classes.rb @@ -1476,8 +1476,7 @@ module Google # @return [Array] attr_accessor :exempted_members - # Specifies whether principals can be exempted for the same LogType in lower- - # level resource policies. If true, any lower-level exemptions will be ignored. + # # Corresponds to the JSON property `ignoreChildExemptions` # @return [Boolean] attr_accessor :ignore_child_exemptions @@ -19439,7 +19438,7 @@ module Google # first basis. # For example: a pathRule with a path /a/b/c/* will match before /a/b/* # irrespective of the order in which those paths appear in this list. - # Only one of pathRules or routeRules must be set. + # Within a given pathMatcher, only one of pathRules or routeRules must be set. # Corresponds to the JSON property `pathRules` # @return [Array] attr_accessor :path_rules @@ -19448,7 +19447,8 @@ module Google # advanced route matching and routing actions are desired. The order of # specifying routeRules matters: the first rule that matches will cause its # specified routing action to take effect. - # Only one of pathRules or routeRules must be set. + # Within a given pathMatcher, only one of pathRules or routeRules must be set. + # routeRules are not supported in UrlMaps intended for External Load balancers. # Corresponds to the JSON property `routeRules` # @return [Array] attr_accessor :route_rules @@ -19619,7 +19619,12 @@ module Google # @return [Array] attr_accessor :rules - # Deprecated. + # Specifies the format of the policy. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version diff --git a/generated/google/apis/compute_v1.rb b/generated/google/apis/compute_v1.rb index bc29ae0ee..f69359f4d 100644 --- a/generated/google/apis/compute_v1.rb +++ b/generated/google/apis/compute_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeV1 VERSION = 'V1' - REVISION = '20190825' + REVISION = '20190905' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_v1/classes.rb b/generated/google/apis/compute_v1/classes.rb index 9c6b9ff58..a01f3f0e8 100644 --- a/generated/google/apis/compute_v1/classes.rb +++ b/generated/google/apis/compute_v1/classes.rb @@ -1445,8 +1445,7 @@ module Google # @return [Array] attr_accessor :exempted_members - # Specifies whether principals can be exempted for the same LogType in lower- - # level resource policies. If true, any lower-level exemptions will be ignored. + # # Corresponds to the JSON property `ignoreChildExemptions` # @return [Boolean] attr_accessor :ignore_child_exemptions @@ -2515,11 +2514,21 @@ module Google # @return [Google::Apis::ComputeV1::BackendServiceCdnPolicy] attr_accessor :cdn_policy + # Settings controlling the volume of connections to a backend service. + # Corresponds to the JSON property `circuitBreakers` + # @return [Google::Apis::ComputeV1::CircuitBreakers] + attr_accessor :circuit_breakers + # Message containing connection draining configuration. # Corresponds to the JSON property `connectionDraining` # @return [Google::Apis::ComputeV1::ConnectionDraining] attr_accessor :connection_draining + # This message defines settings for a consistent hash style load balancer. + # Corresponds to the JSON property `consistentHash` + # @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings] + attr_accessor :consistent_hash + # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] @@ -2590,6 +2599,33 @@ module Google # @return [String] attr_accessor :load_balancing_scheme + # The load balancing algorithm used within the scope of the locality. The + # possible values are: + # - ROUND_ROBIN: This is a simple policy in which each healthy backend is + # selected in round robin order. This is the default. + # - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and + # picks the host which has fewer active requests. + # - RING_HASH: The ring/modulo hash load balancer implements consistent hashing + # to backends. The algorithm has the property that the addition/removal of a + # host from a set of N hosts only affects 1/N of the requests. + # - RANDOM: The load balancer selects a random healthy host. + # - ORIGINAL_DESTINATION: Backend host is selected based on the client + # connection metadata, i.e., connections are opened to the same address as the + # destination address of the incoming connection before the connection was + # redirected to the load balancer. + # - MAGLEV: used as a drop in replacement for the ring hash load balancer. + # Maglev is not as stable as ring hash but has faster table lookup build times + # and host selection times. For more information about Maglev, refer to https:// + # ai.google/research/pubs/pub44824 + # This field is applicable to either: + # - A regional backend service with the service_protocol set to HTTP, HTTPS, or + # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. + # - A global backend service with the load_balancing_scheme set to + # INTERNAL_SELF_MANAGED. + # Corresponds to the JSON property `localityLbPolicy` + # @return [String] + attr_accessor :locality_lb_policy + # Name of the resource. Provided by the client when the resource is created. The # name must be 1-63 characters long, and comply with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- @@ -2600,6 +2636,11 @@ module Google # @return [String] attr_accessor :name + # Settings controlling eviction of unhealthy hosts from the load balancing pool. + # Corresponds to the JSON property `outlierDetection` + # @return [Google::Apis::ComputeV1::OutlierDetection] + attr_accessor :outlier_detection + # Deprecated in favor of portName. The TCP port to connect on the backend. The # default value is 80. # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP @@ -2675,7 +2716,9 @@ module Google @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec) @backends = args[:backends] if args.key?(:backends) @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy) + @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers) @connection_draining = args[:connection_draining] if args.key?(:connection_draining) + @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers) @description = args[:description] if args.key?(:description) @@ -2686,7 +2729,9 @@ module Google @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) + @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy) @name = args[:name] if args.key?(:name) + @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @protocol = args[:protocol] if args.key?(:protocol) @@ -3275,6 +3320,55 @@ module Google end end + # Settings controlling the volume of connections to a backend service. + class CircuitBreakers + include Google::Apis::Core::Hashable + + # The maximum number of connections to the backend cluster. If not specified, + # the default is 1024. + # Corresponds to the JSON property `maxConnections` + # @return [Fixnum] + attr_accessor :max_connections + + # The maximum number of pending requests allowed to the backend cluster. If not + # specified, the default is 1024. + # Corresponds to the JSON property `maxPendingRequests` + # @return [Fixnum] + attr_accessor :max_pending_requests + + # The maximum number of parallel requests that allowed to the backend cluster. + # If not specified, the default is 1024. + # Corresponds to the JSON property `maxRequests` + # @return [Fixnum] + attr_accessor :max_requests + + # Maximum requests for a single backend connection. This parameter is respected + # by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no + # limit. Setting this parameter to 1 will effectively disable keep alive. + # Corresponds to the JSON property `maxRequestsPerConnection` + # @return [Fixnum] + attr_accessor :max_requests_per_connection + + # The maximum number of parallel retries allowed to the backend cluster. If not + # specified, the default is 3. + # Corresponds to the JSON property `maxRetries` + # @return [Fixnum] + attr_accessor :max_retries + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @max_connections = args[:max_connections] if args.key?(:max_connections) + @max_pending_requests = args[:max_pending_requests] if args.key?(:max_pending_requests) + @max_requests = args[:max_requests] if args.key?(:max_requests) + @max_requests_per_connection = args[:max_requests_per_connection] if args.key?(:max_requests_per_connection) + @max_retries = args[:max_retries] if args.key?(:max_retries) + end + end + # Represents a regional Commitment resource. # Creating a commitment resource means that you are purchasing a committed use # contract with an explicit start and end time. You can create commitments based @@ -3781,6 +3875,150 @@ module Google end end + # This message defines settings for a consistent hash style load balancer. + class ConsistentHashLoadBalancerSettings + include Google::Apis::Core::Hashable + + # The information about the HTTP Cookie on which the hash function is based for + # load balancing policies that use a consistent hash. + # Corresponds to the JSON property `httpCookie` + # @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie] + attr_accessor :http_cookie + + # The hash based on the value of the specified header field. This field is + # applicable if the sessionAffinity is set to HEADER_FIELD. + # Corresponds to the JSON property `httpHeaderName` + # @return [String] + attr_accessor :http_header_name + + # The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. + # Larger ring sizes result in more granular load distributions. If the number + # of hosts in the load balancing pool is larger than the ring size, each host + # will be assigned a single virtual node. + # Corresponds to the JSON property `minimumRingSize` + # @return [Fixnum] + attr_accessor :minimum_ring_size + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @http_cookie = args[:http_cookie] if args.key?(:http_cookie) + @http_header_name = args[:http_header_name] if args.key?(:http_header_name) + @minimum_ring_size = args[:minimum_ring_size] if args.key?(:minimum_ring_size) + end + end + + # The information about the HTTP Cookie on which the hash function is based for + # load balancing policies that use a consistent hash. + class ConsistentHashLoadBalancerSettingsHttpCookie + include Google::Apis::Core::Hashable + + # Name of the cookie. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Path to set for the cookie. + # Corresponds to the JSON property `path` + # @return [String] + attr_accessor :path + + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `ttl` + # @return [Google::Apis::ComputeV1::Duration] + attr_accessor :ttl + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] if args.key?(:name) + @path = args[:path] if args.key?(:path) + @ttl = args[:ttl] if args.key?(:ttl) + end + end + + # The specification for allowing client side cross-origin requests. Please see + # W3C Recommendation for Cross Origin Resource Sharing + class CorsPolicy + include Google::Apis::Core::Hashable + + # In response to a preflight request, setting this to true indicates that the + # actual request can include user credentials. This translates to the Access- + # Control-Allow-Credentials header. + # Default is false. + # Corresponds to the JSON property `allowCredentials` + # @return [Boolean] + attr_accessor :allow_credentials + alias_method :allow_credentials?, :allow_credentials + + # Specifies the content for the Access-Control-Allow-Headers header. + # Corresponds to the JSON property `allowHeaders` + # @return [Array] + attr_accessor :allow_headers + + # Specifies the content for the Access-Control-Allow-Methods header. + # Corresponds to the JSON property `allowMethods` + # @return [Array] + attr_accessor :allow_methods + + # Specifies the regualar expression patterns that match allowed origins. For + # regular expression grammar please see en.cppreference.com/w/cpp/regex/ + # ecmascript + # An origin is allowed if it matches either allow_origins or allow_origin_regex. + # Corresponds to the JSON property `allowOriginRegexes` + # @return [Array] + attr_accessor :allow_origin_regexes + + # Specifies the list of origins that will be allowed to do CORS requests. + # An origin is allowed if it matches either allow_origins or allow_origin_regex. + # Corresponds to the JSON property `allowOrigins` + # @return [Array] + attr_accessor :allow_origins + + # If true, specifies the CORS policy is disabled. The default value of false, + # which indicates that the CORS policy is in effect. + # Corresponds to the JSON property `disabled` + # @return [Boolean] + attr_accessor :disabled + alias_method :disabled?, :disabled + + # Specifies the content for the Access-Control-Expose-Headers header. + # Corresponds to the JSON property `exposeHeaders` + # @return [Array] + attr_accessor :expose_headers + + # Specifies how long the results of a preflight request can be cached. This + # translates to the content for the Access-Control-Max-Age header. + # Corresponds to the JSON property `maxAge` + # @return [Fixnum] + attr_accessor :max_age + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @allow_credentials = args[:allow_credentials] if args.key?(:allow_credentials) + @allow_headers = args[:allow_headers] if args.key?(:allow_headers) + @allow_methods = args[:allow_methods] if args.key?(:allow_methods) + @allow_origin_regexes = args[:allow_origin_regexes] if args.key?(:allow_origin_regexes) + @allow_origins = args[:allow_origins] if args.key?(:allow_origins) + @disabled = args[:disabled] if args.key?(:disabled) + @expose_headers = args[:expose_headers] if args.key?(:expose_headers) + @max_age = args[:max_age] if args.key?(:max_age) + end + end + # Represents a customer-supplied encryption key class CustomerEncryptionKey include Google::Apis::Core::Hashable @@ -5108,6 +5346,38 @@ module Google end end + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + class Duration + include Google::Apis::Core::Hashable + + # Span of time that's a fraction of a second at nanosecond resolution. Durations + # less than one second are represented with a 0 `seconds` field and a positive ` + # nanos` field. Must be from 0 to 999,999,999 inclusive. + # Corresponds to the JSON property `nanos` + # @return [Fixnum] + attr_accessor :nanos + + # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 + # inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 + # hr/day * 365.25 days/year * 10000 years + # Corresponds to the JSON property `seconds` + # @return [Fixnum] + attr_accessor :seconds + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @nanos = args[:nanos] if args.key?(:nanos) + @seconds = args[:seconds] if args.key?(:seconds) + end + end + # Represents an expression text. Example: # title: "User account presence" description: "Determines whether the request # has a user account" expression: "size(request.user) > 0" @@ -5951,6 +6221,23 @@ module Google # @return [String] attr_accessor :load_balancing_scheme + # Opaque filter criteria used by Loadbalancer to restrict routing configuration + # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer, + # xDS clients present node metadata. If a match takes place, the relevant + # routing configuration is made available to those proxies. + # For each metadataFilter in this list, if its filterMatchCriteria is set to + # MATCH_ANY, at least one of the filterLabels must match the corresponding label + # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then + # all of its filterLabels must match with corresponding labels in the provided + # metadata. + # metadataFilters specified here can be overridden by those specified in the + # UrlMap that this ForwardingRule references. + # metadataFilters only applies to Loadbalancers that have their + # loadBalancingScheme set to INTERNAL_SELF_MANAGED. + # Corresponds to the JSON property `metadataFilters` + # @return [Array] + attr_accessor :metadata_filters + # Name of the resource; provided by the client when the resource is created. The # name must be 1-63 characters long, and comply with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- @@ -6085,6 +6372,7 @@ module Google @ip_version = args[:ip_version] if args.key?(:ip_version) @kind = args[:kind] if args.key?(:kind) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) + @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @network_tier = args[:network_tier] if args.key?(:network_tier) @@ -7483,6 +7771,258 @@ module Google end end + # Specification for how requests are aborted as part of fault injection. + class HttpFaultAbort + include Google::Apis::Core::Hashable + + # The HTTP status code used to abort the request. + # The value must be between 200 and 599 inclusive. + # Corresponds to the JSON property `httpStatus` + # @return [Fixnum] + attr_accessor :http_status + + # The percentage of traffic (connections/operations/requests) which will be + # aborted as part of fault injection. + # The value must be between 0.0 and 100.0 inclusive. + # Corresponds to the JSON property `percentage` + # @return [Float] + attr_accessor :percentage + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @http_status = args[:http_status] if args.key?(:http_status) + @percentage = args[:percentage] if args.key?(:percentage) + end + end + + # Specifies the delay introduced by Loadbalancer before forwarding the request + # to the backend service as part of fault injection. + class HttpFaultDelay + include Google::Apis::Core::Hashable + + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `fixedDelay` + # @return [Google::Apis::ComputeV1::Duration] + attr_accessor :fixed_delay + + # The percentage of traffic (connections/operations/requests) on which delay + # will be introduced as part of fault injection. + # The value must be between 0.0 and 100.0 inclusive. + # Corresponds to the JSON property `percentage` + # @return [Float] + attr_accessor :percentage + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @fixed_delay = args[:fixed_delay] if args.key?(:fixed_delay) + @percentage = args[:percentage] if args.key?(:percentage) + end + end + + # The specification for fault injection introduced into traffic to test the + # resiliency of clients to backend service failure. As part of fault injection, + # when clients send requests to a backend service, delays can be introduced by + # Loadbalancer on a percentage of requests before sending those request to the + # backend service. Similarly requests from clients can be aborted by the + # Loadbalancer for a percentage of requests. + class HttpFaultInjection + include Google::Apis::Core::Hashable + + # Specification for how requests are aborted as part of fault injection. + # Corresponds to the JSON property `abort` + # @return [Google::Apis::ComputeV1::HttpFaultAbort] + attr_accessor :abort + + # Specifies the delay introduced by Loadbalancer before forwarding the request + # to the backend service as part of fault injection. + # Corresponds to the JSON property `delay` + # @return [Google::Apis::ComputeV1::HttpFaultDelay] + attr_accessor :delay + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @abort = args[:abort] if args.key?(:abort) + @delay = args[:delay] if args.key?(:delay) + end + end + + # The request and response header transformations that take effect before the + # request is passed along to the selected backendService. + class HttpHeaderAction + include Google::Apis::Core::Hashable + + # Headers to add to a matching request prior to forwarding the request to the + # backendService. + # Corresponds to the JSON property `requestHeadersToAdd` + # @return [Array] + attr_accessor :request_headers_to_add + + # A list of header names for headers that need to be removed from the request + # prior to forwarding the request to the backendService. + # Corresponds to the JSON property `requestHeadersToRemove` + # @return [Array] + attr_accessor :request_headers_to_remove + + # Headers to add the response prior to sending the response back to the client. + # Corresponds to the JSON property `responseHeadersToAdd` + # @return [Array] + attr_accessor :response_headers_to_add + + # A list of header names for headers that need to be removed from the response + # prior to sending the response back to the client. + # Corresponds to the JSON property `responseHeadersToRemove` + # @return [Array] + attr_accessor :response_headers_to_remove + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @request_headers_to_add = args[:request_headers_to_add] if args.key?(:request_headers_to_add) + @request_headers_to_remove = args[:request_headers_to_remove] if args.key?(:request_headers_to_remove) + @response_headers_to_add = args[:response_headers_to_add] if args.key?(:response_headers_to_add) + @response_headers_to_remove = args[:response_headers_to_remove] if args.key?(:response_headers_to_remove) + end + end + + # matchRule criteria for request header matches. + class HttpHeaderMatch + include Google::Apis::Core::Hashable + + # The value should exactly match contents of exactMatch. + # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + # rangeMatch must be set. + # Corresponds to the JSON property `exactMatch` + # @return [String] + attr_accessor :exact_match + + # The name of the HTTP header to match. + # For matching against the HTTP request's authority, use a headerMatch with the + # header name ":authority". + # For matching a request's method, use the headerName ":method". + # Corresponds to the JSON property `headerName` + # @return [String] + attr_accessor :header_name + + # If set to false, the headerMatch is considered a match if the match criteria + # above are met. If set to true, the headerMatch is considered a match if the + # match criteria above are NOT met. + # The default setting is false. + # Corresponds to the JSON property `invertMatch` + # @return [Boolean] + attr_accessor :invert_match + alias_method :invert_match?, :invert_match + + # The value of the header must start with the contents of prefixMatch. + # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + # rangeMatch must be set. + # Corresponds to the JSON property `prefixMatch` + # @return [String] + attr_accessor :prefix_match + + # A header with the contents of headerName must exist. The match takes place + # whether or not the request's header has a value or not. + # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + # rangeMatch must be set. + # Corresponds to the JSON property `presentMatch` + # @return [Boolean] + attr_accessor :present_match + alias_method :present_match?, :present_match + + # HttpRouteRuleMatch criteria for field values that must stay within the + # specified integer range. + # Corresponds to the JSON property `rangeMatch` + # @return [Google::Apis::ComputeV1::Int64RangeMatch] + attr_accessor :range_match + + # The value of the header must match the regualar expression specified in + # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/ + # cpp/regex/ecmascript + # For matching against a port specified in the HTTP request, use a headerMatch + # with headerName set to PORT and a regular expression that satisfies the + # RFC2616 Host header's port specifier. + # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + # rangeMatch must be set. + # Corresponds to the JSON property `regexMatch` + # @return [String] + attr_accessor :regex_match + + # The value of the header must end with the contents of suffixMatch. + # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or + # rangeMatch must be set. + # Corresponds to the JSON property `suffixMatch` + # @return [String] + attr_accessor :suffix_match + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exact_match = args[:exact_match] if args.key?(:exact_match) + @header_name = args[:header_name] if args.key?(:header_name) + @invert_match = args[:invert_match] if args.key?(:invert_match) + @prefix_match = args[:prefix_match] if args.key?(:prefix_match) + @present_match = args[:present_match] if args.key?(:present_match) + @range_match = args[:range_match] if args.key?(:range_match) + @regex_match = args[:regex_match] if args.key?(:regex_match) + @suffix_match = args[:suffix_match] if args.key?(:suffix_match) + end + end + + # Specification determining how headers are added to requests or responses. + class HttpHeaderOption + include Google::Apis::Core::Hashable + + # The name of the header. + # Corresponds to the JSON property `headerName` + # @return [String] + attr_accessor :header_name + + # The value of the header to add. + # Corresponds to the JSON property `headerValue` + # @return [String] + attr_accessor :header_value + + # If false, headerValue is appended to any values that already exist for the + # header. If true, headerValue is set for the header, discarding any values that + # were set for that header. + # The default value is false. + # Corresponds to the JSON property `replace` + # @return [Boolean] + attr_accessor :replace + alias_method :replace?, :replace + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header_name = args[:header_name] if args.key?(:header_name) + @header_value = args[:header_value] if args.key?(:header_value) + @replace = args[:replace] if args.key?(:replace) + end + end + # Represents a legacy HTTP Health Check resource. # Legacy health checks are required by network load balancers. For more # information, read Health Check Concepts. @@ -7708,6 +8248,400 @@ module Google end end + # HttpRouteRuleMatch criteria for a request's query parameter. + class HttpQueryParameterMatch + include Google::Apis::Core::Hashable + + # The queryParameterMatch matches if the value of the parameter exactly matches + # the contents of exactMatch. + # Only one of presentMatch, exactMatch and regexMatch must be set. + # Corresponds to the JSON property `exactMatch` + # @return [String] + attr_accessor :exact_match + + # The name of the query parameter to match. The query parameter must exist in + # the request, in the absence of which the request match fails. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Specifies that the queryParameterMatch matches if the request contains the + # query parameter, irrespective of whether the parameter has a value or not. + # Only one of presentMatch, exactMatch and regexMatch must be set. + # Corresponds to the JSON property `presentMatch` + # @return [Boolean] + attr_accessor :present_match + alias_method :present_match?, :present_match + + # The queryParameterMatch matches if the value of the parameter matches the + # regular expression specified by regexMatch. For the regular expression grammar, + # please see en.cppreference.com/w/cpp/regex/ecmascript + # Only one of presentMatch, exactMatch and regexMatch must be set. + # Corresponds to the JSON property `regexMatch` + # @return [String] + attr_accessor :regex_match + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exact_match = args[:exact_match] if args.key?(:exact_match) + @name = args[:name] if args.key?(:name) + @present_match = args[:present_match] if args.key?(:present_match) + @regex_match = args[:regex_match] if args.key?(:regex_match) + end + end + + # Specifies settings for an HTTP redirect. + class HttpRedirectAction + include Google::Apis::Core::Hashable + + # The host that will be used in the redirect response instead of the one that + # was supplied in the request. + # The value must be between 1 and 255 characters. + # Corresponds to the JSON property `hostRedirect` + # @return [String] + attr_accessor :host_redirect + + # If set to true, the URL scheme in the redirected request is set to https. If + # set to false, the URL scheme of the redirected request will remain the same as + # that of the request. + # This must only be set for UrlMaps used in TargetHttpProxys. Setting this true + # for TargetHttpsProxy is not permitted. + # The default is set to false. + # Corresponds to the JSON property `httpsRedirect` + # @return [Boolean] + attr_accessor :https_redirect + alias_method :https_redirect?, :https_redirect + + # The path that will be used in the redirect response instead of the one that + # was supplied in the request. + # Only one of pathRedirect or prefixRedirect must be specified. + # The value must be between 1 and 1024 characters. + # Corresponds to the JSON property `pathRedirect` + # @return [String] + attr_accessor :path_redirect + + # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, + # retaining the remaining portion of the URL before redirecting the request. + # Corresponds to the JSON property `prefixRedirect` + # @return [String] + attr_accessor :prefix_redirect + + # The HTTP Status code to use for this RedirectAction. + # Supported values are: + # - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. + # + # - FOUND, which corresponds to 302. + # - SEE_OTHER which corresponds to 303. + # - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request + # method will be retained. + # - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request + # method will be retained. + # Corresponds to the JSON property `redirectResponseCode` + # @return [String] + attr_accessor :redirect_response_code + + # If set to true, any accompanying query portion of the original URL is removed + # prior to redirecting the request. If set to false, the query portion of the + # original URL is retained. + # The default is set to false. + # Corresponds to the JSON property `stripQuery` + # @return [Boolean] + attr_accessor :strip_query + alias_method :strip_query?, :strip_query + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @host_redirect = args[:host_redirect] if args.key?(:host_redirect) + @https_redirect = args[:https_redirect] if args.key?(:https_redirect) + @path_redirect = args[:path_redirect] if args.key?(:path_redirect) + @prefix_redirect = args[:prefix_redirect] if args.key?(:prefix_redirect) + @redirect_response_code = args[:redirect_response_code] if args.key?(:redirect_response_code) + @strip_query = args[:strip_query] if args.key?(:strip_query) + end + end + + # The retry policy associates with HttpRouteRule + class HttpRetryPolicy + include Google::Apis::Core::Hashable + + # Specifies the allowed number retries. This number must be > 0. + # Corresponds to the JSON property `numRetries` + # @return [Fixnum] + attr_accessor :num_retries + + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `perTryTimeout` + # @return [Google::Apis::ComputeV1::Duration] + attr_accessor :per_try_timeout + + # Specfies one or more conditions when this retry rule applies. Valid values are: + # + # - 5xx: Loadbalancer will attempt a retry if the backend service responds with + # any 5xx response code, or if the backend service does not respond at all, + # example: disconnects, reset, read timeout, connection failure, and refused + # streams. + # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 + # or 504. + # - + # - connect-failure: Loadbalancer will retry on failures connecting to backend + # services, for example due to connection timeouts. + # - retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. + # Currently the only retriable error supported is 409. + # - refused-stream:Loadbalancer will retry if the backend service resets the + # stream with a REFUSED_STREAM error code. This reset type indicates that it is + # safe to retry. + # - cancelledLoadbalancer will retry if the gRPC status code in the response + # header is set to cancelled + # - deadline-exceeded: Loadbalancer will retry if the gRPC status code in the + # response header is set to deadline-exceeded + # - resource-exhausted: Loadbalancer will retry if the gRPC status code in the + # response header is set to resource-exhausted + # - unavailable: Loadbalancer will retry if the gRPC status code in the response + # header is set to unavailable + # Corresponds to the JSON property `retryConditions` + # @return [Array] + attr_accessor :retry_conditions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @num_retries = args[:num_retries] if args.key?(:num_retries) + @per_try_timeout = args[:per_try_timeout] if args.key?(:per_try_timeout) + @retry_conditions = args[:retry_conditions] if args.key?(:retry_conditions) + end + end + + # + class HttpRouteAction + include Google::Apis::Core::Hashable + + # The specification for allowing client side cross-origin requests. Please see + # W3C Recommendation for Cross Origin Resource Sharing + # Corresponds to the JSON property `corsPolicy` + # @return [Google::Apis::ComputeV1::CorsPolicy] + attr_accessor :cors_policy + + # The specification for fault injection introduced into traffic to test the + # resiliency of clients to backend service failure. As part of fault injection, + # when clients send requests to a backend service, delays can be introduced by + # Loadbalancer on a percentage of requests before sending those request to the + # backend service. Similarly requests from clients can be aborted by the + # Loadbalancer for a percentage of requests. + # Corresponds to the JSON property `faultInjectionPolicy` + # @return [Google::Apis::ComputeV1::HttpFaultInjection] + attr_accessor :fault_injection_policy + + # A policy that specifies how requests intended for the route's backends are + # shadowed to a separate mirrored backend service. Loadbalancer does not wait + # for responses from the shadow service. Prior to sending traffic to the shadow + # service, the host / authority header is suffixed with -shadow. + # Corresponds to the JSON property `requestMirrorPolicy` + # @return [Google::Apis::ComputeV1::RequestMirrorPolicy] + attr_accessor :request_mirror_policy + + # The retry policy associates with HttpRouteRule + # Corresponds to the JSON property `retryPolicy` + # @return [Google::Apis::ComputeV1::HttpRetryPolicy] + attr_accessor :retry_policy + + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `timeout` + # @return [Google::Apis::ComputeV1::Duration] + attr_accessor :timeout + + # The spec for modifying the path before sending the request to the matched + # backend service. + # Corresponds to the JSON property `urlRewrite` + # @return [Google::Apis::ComputeV1::UrlRewrite] + attr_accessor :url_rewrite + + # A list of weighted backend services to send traffic to when a route match + # occurs. The weights determine the fraction of traffic that flows to their + # corresponding backend service. If all traffic needs to go to a single backend + # service, there must be one weightedBackendService with weight set to a non 0 + # number. + # Once a backendService is identified and before forwarding the request to the + # backend service, advanced routing actions like Url rewrites and header + # transformations are applied depending on additional settings specified in this + # HttpRouteAction. + # Corresponds to the JSON property `weightedBackendServices` + # @return [Array] + attr_accessor :weighted_backend_services + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cors_policy = args[:cors_policy] if args.key?(:cors_policy) + @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy) + @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy) + @retry_policy = args[:retry_policy] if args.key?(:retry_policy) + @timeout = args[:timeout] if args.key?(:timeout) + @url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite) + @weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services) + end + end + + # An HttpRouteRule specifies how to match an HTTP request and the corresponding + # routing action that load balancing proxies will perform. + class HttpRouteRule + include Google::Apis::Core::Hashable + + # The request and response header transformations that take effect before the + # request is passed along to the selected backendService. + # Corresponds to the JSON property `headerAction` + # @return [Google::Apis::ComputeV1::HttpHeaderAction] + attr_accessor :header_action + + # + # Corresponds to the JSON property `matchRules` + # @return [Array] + attr_accessor :match_rules + + # In response to a matching matchRule, the load balancer performs advanced + # routing actions like URL rewrites, header transformations, etc. prior to + # forwarding the request to the selected backend. If routeAction specifies any + # weightedBackendServices, service must not be set. Conversely if service is set, + # routeAction cannot contain any weightedBackendServices. + # Only one of routeAction or urlRedirect must be set. + # Corresponds to the JSON property `routeAction` + # @return [Google::Apis::ComputeV1::HttpRouteAction] + attr_accessor :route_action + + # The full or partial URL of the backend service resource to which traffic is + # directed if this rule is matched. If routeAction is additionally specified, + # advanced routing actions like URL Rewrites, etc. take effect prior to sending + # the request to the backend. However, if service is specified, routeAction + # cannot contain any weightedBackendService s. Conversely, if routeAction + # specifies any weightedBackendServices, service must not be specified. + # Only one of urlRedirect, service or routeAction.weightedBackendService must be + # set. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + # Specifies settings for an HTTP redirect. + # Corresponds to the JSON property `urlRedirect` + # @return [Google::Apis::ComputeV1::HttpRedirectAction] + attr_accessor :url_redirect + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @header_action = args[:header_action] if args.key?(:header_action) + @match_rules = args[:match_rules] if args.key?(:match_rules) + @route_action = args[:route_action] if args.key?(:route_action) + @service = args[:service] if args.key?(:service) + @url_redirect = args[:url_redirect] if args.key?(:url_redirect) + end + end + + # HttpRouteRuleMatch specifies a set of criteria for matching requests to an + # HttpRouteRule. All specified criteria must be satisfied for a match to occur. + class HttpRouteRuleMatch + include Google::Apis::Core::Hashable + + # For satifying the matchRule condition, the path of the request must exactly + # match the value specified in fullPathMatch after removing any query parameters + # and anchor that may be part of the original URL. + # FullPathMatch must be between 1 and 1024 characters. + # Only one of prefixMatch, fullPathMatch or regexMatch must be specified. + # Corresponds to the JSON property `fullPathMatch` + # @return [String] + attr_accessor :full_path_match + + # Specifies a list of header match criteria, all of which must match + # corresponding headers in the request. + # Corresponds to the JSON property `headerMatches` + # @return [Array] + attr_accessor :header_matches + + # Specifies that prefixMatch and fullPathMatch matches are case sensitive. + # The default value is false. + # caseSensitive must not be used with regexMatch. + # Corresponds to the JSON property `ignoreCase` + # @return [Boolean] + attr_accessor :ignore_case + alias_method :ignore_case?, :ignore_case + + # Opaque filter criteria used by Loadbalancer to restrict routing configuration + # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer, + # xDS clients present node metadata. If a match takes place, the relevant + # routing configuration is made available to those proxies. + # For each metadataFilter in this list, if its filterMatchCriteria is set to + # MATCH_ANY, at least one of the filterLabels must match the corresponding label + # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then + # all of its filterLabels must match with corresponding labels in the provided + # metadata. + # metadataFilters specified here can be overrides those specified in + # ForwardingRule that refers to this UrlMap. + # metadataFilters only applies to Loadbalancers that have their + # loadBalancingScheme set to INTERNAL_SELF_MANAGED. + # Corresponds to the JSON property `metadataFilters` + # @return [Array] + attr_accessor :metadata_filters + + # For satifying the matchRule condition, the request's path must begin with the + # specified prefixMatch. prefixMatch must begin with a /. + # The value must be between 1 and 1024 characters. + # Only one of prefixMatch, fullPathMatch or regexMatch must be specified. + # Corresponds to the JSON property `prefixMatch` + # @return [String] + attr_accessor :prefix_match + + # Specifies a list of query parameter match criteria, all of which must match + # corresponding query parameters in the request. + # Corresponds to the JSON property `queryParameterMatches` + # @return [Array] + attr_accessor :query_parameter_matches + + # For satifying the matchRule condition, the path of the request must satisfy + # the regular expression specified in regexMatch after removing any query + # parameters and anchor supplied with the original URL. For regular expression + # grammar please see en.cppreference.com/w/cpp/regex/ecmascript + # Only one of prefixMatch, fullPathMatch or regexMatch must be specified. + # Corresponds to the JSON property `regexMatch` + # @return [String] + attr_accessor :regex_match + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @full_path_match = args[:full_path_match] if args.key?(:full_path_match) + @header_matches = args[:header_matches] if args.key?(:header_matches) + @ignore_case = args[:ignore_case] if args.key?(:ignore_case) + @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters) + @prefix_match = args[:prefix_match] if args.key?(:prefix_match) + @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches) + @regex_match = args[:regex_match] if args.key?(:regex_match) + end + end + # Represents a legacy HTTPS Health Check resource. # Legacy health checks are required by network load balancers. For more # information, read Health Check Concepts. @@ -11048,6 +11982,32 @@ module Google end end + # HttpRouteRuleMatch criteria for field values that must stay within the + # specified integer range. + class Int64RangeMatch + include Google::Apis::Core::Hashable + + # The end of the range (exclusive) in signed long integer format. + # Corresponds to the JSON property `rangeEnd` + # @return [Fixnum] + attr_accessor :range_end + + # The start of the range (inclusive) in signed long integer format. + # Corresponds to the JSON property `rangeStart` + # @return [Fixnum] + attr_accessor :range_start + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @range_end = args[:range_end] if args.key?(:range_end) + @range_start = args[:range_start] if args.key?(:range_start) + end + end + # Represents an Interconnect resource. # An Interconnect resource is a dedicated connection between the GCP network and # your on-premises network. For more information, read the Dedicated @@ -13728,6 +14688,82 @@ module Google end end + # Opaque filter criteria used by loadbalancers to restrict routing configuration + # to a limited set of loadbalancing proxies. Proxies and sidecars involved in + # loadbalancing would typically present metadata to the loadbalancers which need + # to match criteria specified here. If a match takes place, the relevant routing + # configuration is made available to those proxies. + # For each metadataFilter in this list, if its filterMatchCriteria is set to + # MATCH_ANY, at least one of the filterLabels must match the corresponding label + # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then + # all of its filterLabels must match with corresponding labels in the provided + # metadata. + # An example for using metadataFilters would be: if loadbalancing involves + # Envoys, they will only receive routing configuration when values in + # metadataFilters match values supplied in ] + attr_accessor :filter_labels + + # Specifies how individual filterLabel matches within the list of filterLabels + # contribute towards the overall metadataFilter match. + # Supported values are: + # - MATCH_ANY: At least one of the filterLabels must have a matching label in + # the provided metadata. + # - MATCH_ALL: All filterLabels must have matching labels in the provided + # metadata. + # Corresponds to the JSON property `filterMatchCriteria` + # @return [String] + attr_accessor :filter_match_criteria + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @filter_labels = args[:filter_labels] if args.key?(:filter_labels) + @filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria) + end + end + + # MetadataFilter label name value pairs that are expected to match corresponding + # labels presented as metadata to the loadbalancer. + class MetadataFilterLabelMatch + include Google::Apis::Core::Hashable + + # Name of metadata label. + # The name can have a maximum length of 1024 characters and must be at least 1 + # character long. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The value of the label must match the specified value. + # value can have a maximum length of 1024 characters. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @name = args[:name] if args.key?(:name) + @value = args[:value] if args.key?(:value) + end + end + # The named port. For example: . class NamedPort include Google::Apis::Core::Hashable @@ -17079,12 +18115,131 @@ module Google end end + # Settings controlling eviction of unhealthy hosts from the load balancing pool. + class OutlierDetection + include Google::Apis::Core::Hashable + + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `baseEjectionTime` + # @return [Google::Apis::ComputeV1::Duration] + attr_accessor :base_ejection_time + + # Number of errors before a host is ejected from the connection pool. When the + # backend host is accessed over HTTP, a 5xx return code qualifies as an error. + # Defaults to 5. + # Corresponds to the JSON property `consecutiveErrors` + # @return [Fixnum] + attr_accessor :consecutive_errors + + # The number of consecutive gateway failures (502, 503, 504 status or connection + # errors that are mapped to one of those status codes) before a consecutive + # gateway failure ejection occurs. Defaults to 5. + # Corresponds to the JSON property `consecutiveGatewayFailure` + # @return [Fixnum] + attr_accessor :consecutive_gateway_failure + + # The percentage chance that a host will be actually ejected when an outlier + # status is detected through consecutive 5xx. This setting can be used to + # disable ejection or to ramp it up slowly. Defaults to 100. + # Corresponds to the JSON property `enforcingConsecutiveErrors` + # @return [Fixnum] + attr_accessor :enforcing_consecutive_errors + + # The percentage chance that a host will be actually ejected when an outlier + # status is detected through consecutive gateway failures. This setting can be + # used to disable ejection or to ramp it up slowly. Defaults to 0. + # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure` + # @return [Fixnum] + attr_accessor :enforcing_consecutive_gateway_failure + + # The percentage chance that a host will be actually ejected when an outlier + # status is detected through success rate statistics. This setting can be used + # to disable ejection or to ramp it up slowly. Defaults to 100. + # Corresponds to the JSON property `enforcingSuccessRate` + # @return [Fixnum] + attr_accessor :enforcing_success_rate + + # A Duration represents a fixed-length span of time represented as a count of + # seconds and fractions of seconds at nanosecond resolution. It is independent + # of any calendar and concepts like "day" or "month". Range is approximately 10, + # 000 years. + # Corresponds to the JSON property `interval` + # @return [Google::Apis::ComputeV1::Duration] + attr_accessor :interval + + # Maximum percentage of hosts in the load balancing pool for the backend service + # that can be ejected. Defaults to 10%. + # Corresponds to the JSON property `maxEjectionPercent` + # @return [Fixnum] + attr_accessor :max_ejection_percent + + # The number of hosts in a cluster that must have enough request volume to + # detect success rate outliers. If the number of hosts is less than this setting, + # outlier detection via success rate statistics is not performed for any host + # in the cluster. Defaults to 5. + # Corresponds to the JSON property `successRateMinimumHosts` + # @return [Fixnum] + attr_accessor :success_rate_minimum_hosts + + # The minimum number of total requests that must be collected in one interval ( + # as defined by the interval duration above) to include this host in success + # rate based outlier detection. If the volume is lower than this setting, + # outlier detection via success rate statistics is not performed for that host. + # Defaults to 100. + # Corresponds to the JSON property `successRateRequestVolume` + # @return [Fixnum] + attr_accessor :success_rate_request_volume + + # This factor is used to determine the ejection threshold for success rate + # outlier ejection. The ejection threshold is the difference between the mean + # success rate, and the product of this factor and the standard deviation of the + # mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is + # divided by a thousand to get a double. That is, if the desired factor is 1.9, + # the runtime value should be 1900. Defaults to 1900. + # Corresponds to the JSON property `successRateStdevFactor` + # @return [Fixnum] + attr_accessor :success_rate_stdev_factor + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time) + @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors) + @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure) + @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors) + @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure) + @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate) + @interval = args[:interval] if args.key?(:interval) + @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent) + @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts) + @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume) + @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor) + end + end + # A matcher for the path portion of the URL. The BackendService from the longest- # matched rule will serve the URL. If no rule was matched, the default service # will be used. class PathMatcher include Google::Apis::Core::Hashable + # defaultRouteAction takes effect when none of the pathRules or routeRules + # match. The load balancer performs advanced routing actions like URL rewrites, + # header transformations, etc. prior to forwarding the request to the selected + # backend. If defaultRouteAction specifies any weightedBackendServices, + # defaultService must not be set. Conversely if defaultService is set, + # defaultRouteAction cannot contain any weightedBackendServices. + # Only one of defaultRouteAction or defaultUrlRedirect must be set. + # Corresponds to the JSON property `defaultRouteAction` + # @return [Google::Apis::ComputeV1::HttpRouteAction] + attr_accessor :default_route_action + # The full or partial URL to the BackendService resource. This will be used if # none of the pathRules or routeRules defined by this PathMatcher are matched. # For example, the following are all valid URLs to a BackendService resource: @@ -17107,12 +18262,23 @@ module Google # @return [String] attr_accessor :default_service + # Specifies settings for an HTTP redirect. + # Corresponds to the JSON property `defaultUrlRedirect` + # @return [Google::Apis::ComputeV1::HttpRedirectAction] + attr_accessor :default_url_redirect + # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description + # The request and response header transformations that take effect before the + # request is passed along to the selected backendService. + # Corresponds to the JSON property `headerAction` + # @return [Google::Apis::ComputeV1::HttpHeaderAction] + attr_accessor :header_action + # The name to which this PathMatcher is referred by the HostRule. # Corresponds to the JSON property `name` # @return [String] @@ -17124,21 +18290,35 @@ module Google # first basis. # For example: a pathRule with a path /a/b/c/* will match before /a/b/* # irrespective of the order in which those paths appear in this list. - # Only one of pathRules or routeRules must be set. + # Within a given pathMatcher, only one of pathRules or routeRules must be set. # Corresponds to the JSON property `pathRules` # @return [Array] attr_accessor :path_rules + # The list of ordered HTTP route rules. Use this list instead of pathRules when + # advanced route matching and routing actions are desired. The order of + # specifying routeRules matters: the first rule that matches will cause its + # specified routing action to take effect. + # Within a given pathMatcher, only one of pathRules or routeRules must be set. + # routeRules are not supported in UrlMaps intended for External Load balancers. + # Corresponds to the JSON property `routeRules` + # @return [Array] + attr_accessor :route_rules + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @default_route_action = args[:default_route_action] if args.key?(:default_route_action) @default_service = args[:default_service] if args.key?(:default_service) + @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect) @description = args[:description] if args.key?(:description) + @header_action = args[:header_action] if args.key?(:header_action) @name = args[:name] if args.key?(:name) @path_rules = args[:path_rules] if args.key?(:path_rules) + @route_rules = args[:route_rules] if args.key?(:route_rules) end end @@ -17155,6 +18335,16 @@ module Google # @return [Array] attr_accessor :paths + # In response to a matching path, the load balancer performs advanced routing + # actions like URL rewrites, header transformations, etc. prior to forwarding + # the request to the selected backend. If routeAction specifies any + # weightedBackendServices, service must not be set. Conversely if service is set, + # routeAction cannot contain any weightedBackendServices. + # Only one of routeAction or urlRedirect must be set. + # Corresponds to the JSON property `routeAction` + # @return [Google::Apis::ComputeV1::HttpRouteAction] + attr_accessor :route_action + # The full or partial URL of the backend service resource to which traffic is # directed if this rule is matched. If routeAction is additionally specified, # advanced routing actions like URL Rewrites, etc. take effect prior to sending @@ -17167,6 +18357,11 @@ module Google # @return [String] attr_accessor :service + # Specifies settings for an HTTP redirect. + # Corresponds to the JSON property `urlRedirect` + # @return [Google::Apis::ComputeV1::HttpRedirectAction] + attr_accessor :url_redirect + def initialize(**args) update!(**args) end @@ -17174,7 +18369,9 @@ module Google # Update properties of this object def update!(**args) @paths = args[:paths] if args.key?(:paths) + @route_action = args[:route_action] if args.key?(:route_action) @service = args[:service] if args.key?(:service) + @url_redirect = args[:url_redirect] if args.key?(:url_redirect) end end @@ -17240,7 +18437,12 @@ module Google # @return [Array] attr_accessor :rules - # Deprecated. + # Specifies the format of the policy. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -18706,6 +19908,28 @@ module Google end end + # A policy that specifies how requests intended for the route's backends are + # shadowed to a separate mirrored backend service. Loadbalancer does not wait + # for responses from the shadow service. Prior to sending traffic to the shadow + # service, the host / authority header is suffixed with -shadow. + class RequestMirrorPolicy + include Google::Apis::Core::Hashable + + # The full or partial URL to the BackendService resource being mirrored to. + # Corresponds to the JSON property `backendService` + # @return [String] + attr_accessor :backend_service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @backend_service = args[:backend_service] if args.key?(:backend_service) + end + end + # Represents a reservation resource. A reservation ensures that capacity is held # in a specific zone even if the reserved VMs are not running. For more # information, read Reserving zonal resources. (== resource_for beta. @@ -26618,6 +27842,17 @@ module Google # @return [String] attr_accessor :creation_timestamp + # defaultRouteAction takes effect when none of the hostRules match. The load + # balancer performs advanced routing actions like URL rewrites, header + # transformations, etc. prior to forwarding the request to the selected backend. + # If defaultRouteAction specifies any weightedBackendServices, defaultService + # must not be set. Conversely if defaultService is set, defaultRouteAction + # cannot contain any weightedBackendServices. + # Only one of defaultRouteAction or defaultUrlRedirect must be set. + # Corresponds to the JSON property `defaultRouteAction` + # @return [Google::Apis::ComputeV1::HttpRouteAction] + attr_accessor :default_route_action + # The full or partial URL of the defaultService resource to which traffic is # directed if none of the hostRules match. If defaultRouteAction is additionally # specified, advanced routing actions like URL Rewrites, etc. take effect prior @@ -26631,6 +27866,11 @@ module Google # @return [String] attr_accessor :default_service + # Specifies settings for an HTTP redirect. + # Corresponds to the JSON property `defaultUrlRedirect` + # @return [Google::Apis::ComputeV1::HttpRedirectAction] + attr_accessor :default_url_redirect + # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` @@ -26648,6 +27888,12 @@ module Google # @return [String] attr_accessor :fingerprint + # The request and response header transformations that take effect before the + # request is passed along to the selected backendService. + # Corresponds to the JSON property `headerAction` + # @return [Google::Apis::ComputeV1::HttpHeaderAction] + attr_accessor :header_action + # The list of HostRules to use against the URL. # Corresponds to the JSON property `hostRules` # @return [Array] @@ -26705,9 +27951,12 @@ module Google # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @default_route_action = args[:default_route_action] if args.key?(:default_route_action) @default_service = args[:default_service] if args.key?(:default_service) + @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) + @header_action = args[:header_action] if args.key?(:header_action) @host_rules = args[:host_rules] if args.key?(:host_rules) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @@ -27185,6 +28434,36 @@ module Google end end + # The spec for modifying the path before sending the request to the matched + # backend service. + class UrlRewrite + include Google::Apis::Core::Hashable + + # Prior to forwarding the request to the selected service, the request's host + # header is replaced with contents of hostRewrite. + # The value must be between 1 and 255 characters. + # Corresponds to the JSON property `hostRewrite` + # @return [String] + attr_accessor :host_rewrite + + # Prior to forwarding the request to the selected backend service, the matching + # portion of the request's path is replaced by pathPrefixRewrite. + # The value must be between 1 and 1024 characters. + # Corresponds to the JSON property `pathPrefixRewrite` + # @return [String] + attr_accessor :path_prefix_rewrite + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite) + @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite) + end + end + # Subnetwork which the current user has compute.subnetworks.use permission on. class UsableSubnetwork include Google::Apis::Core::Hashable @@ -28685,6 +29964,50 @@ module Google end end + # In contrast to a single BackendService in HttpRouteAction to which all + # matching traffic is directed to, WeightedBackendService allows traffic to be + # split across multiple BackendServices. The volume of traffic for each + # BackendService is proportional to the weight specified in each + # WeightedBackendService + class WeightedBackendService + include Google::Apis::Core::Hashable + + # The full or partial URL to the default BackendService resource. Before + # forwarding the request to backendService, the loadbalancer applies any + # relevant headerActions specified as part of this backendServiceWeight. + # Corresponds to the JSON property `backendService` + # @return [String] + attr_accessor :backend_service + + # The request and response header transformations that take effect before the + # request is passed along to the selected backendService. + # Corresponds to the JSON property `headerAction` + # @return [Google::Apis::ComputeV1::HttpHeaderAction] + attr_accessor :header_action + + # Specifies the fraction of traffic sent to backendService, computed as weight / + # (sum of all weightedBackendService weights in routeAction) . + # The selection of a backend service is determined only for new traffic. Once a + # user's request has been directed to a backendService, subsequent requests will + # be sent to the same backendService as determined by the BackendService's + # session affinity policy. + # The value must be between 0 and 1000 + # Corresponds to the JSON property `weight` + # @return [Fixnum] + attr_accessor :weight + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @backend_service = args[:backend_service] if args.key?(:backend_service) + @header_action = args[:header_action] if args.key?(:header_action) + @weight = args[:weight] if args.key?(:weight) + end + end + # class XpnHostList include Google::Apis::Core::Hashable diff --git a/generated/google/apis/compute_v1/representations.rb b/generated/google/apis/compute_v1/representations.rb index c3882cf84..cf7d2f859 100644 --- a/generated/google/apis/compute_v1/representations.rb +++ b/generated/google/apis/compute_v1/representations.rb @@ -436,6 +436,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class CircuitBreakers + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Commitment class Representation < Google::Apis::Core::JsonRepresentation; end @@ -508,6 +514,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ConsistentHashLoadBalancerSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ConsistentHashLoadBalancerSettingsHttpCookie + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CorsPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class CustomerEncryptionKey class Representation < Google::Apis::Core::JsonRepresentation; end @@ -694,6 +718,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Duration + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Expr class Representation < Google::Apis::Core::JsonRepresentation; end @@ -982,6 +1012,42 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class HttpFaultAbort + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpFaultDelay + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpFaultInjection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpHeaderAction + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpHeaderMatch + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpHeaderOption + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class HttpHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1006,6 +1072,42 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class HttpQueryParameterMatch + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpRedirectAction + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpRetryPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpRouteAction + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpRouteRule + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class HttpRouteRuleMatch + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class HttpsHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1450,6 +1552,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Int64RangeMatch + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Interconnect class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1798,6 +1906,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class MetadataFilter + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MetadataFilterLabelMatch + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class NamedPort class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2284,6 +2404,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class OutlierDetection + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class PathMatcher class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2554,6 +2680,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class RequestMirrorPolicy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Reservation class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3790,6 +3922,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class UrlRewrite + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class UsableSubnetwork class Representation < Google::Apis::Core::JsonRepresentation; end @@ -4012,6 +4150,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class WeightedBackendService + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class XpnHostList class Representation < Google::Apis::Core::JsonRepresentation; end @@ -4659,8 +4803,12 @@ module Google property :cdn_policy, as: 'cdnPolicy', class: Google::Apis::ComputeV1::BackendServiceCdnPolicy, decorator: Google::Apis::ComputeV1::BackendServiceCdnPolicy::Representation + property :circuit_breakers, as: 'circuitBreakers', class: Google::Apis::ComputeV1::CircuitBreakers, decorator: Google::Apis::ComputeV1::CircuitBreakers::Representation + property :connection_draining, as: 'connectionDraining', class: Google::Apis::ComputeV1::ConnectionDraining, decorator: Google::Apis::ComputeV1::ConnectionDraining::Representation + property :consistent_hash, as: 'consistentHash', class: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings, decorator: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings::Representation + property :creation_timestamp, as: 'creationTimestamp' collection :custom_request_headers, as: 'customRequestHeaders' property :description, as: 'description' @@ -4672,7 +4820,10 @@ module Google property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :load_balancing_scheme, as: 'loadBalancingScheme' + property :locality_lb_policy, as: 'localityLbPolicy' property :name, as: 'name' + property :outlier_detection, as: 'outlierDetection', class: Google::Apis::ComputeV1::OutlierDetection, decorator: Google::Apis::ComputeV1::OutlierDetection::Representation + property :port, as: 'port' property :port_name, as: 'portName' property :protocol, as: 'protocol' @@ -4841,6 +4992,17 @@ module Google end end + class CircuitBreakers + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :max_connections, as: 'maxConnections' + property :max_pending_requests, as: 'maxPendingRequests' + property :max_requests, as: 'maxRequests' + property :max_requests_per_connection, as: 'maxRequestsPerConnection' + property :max_retries, as: 'maxRetries' + end + end + class Commitment # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -4973,6 +5135,40 @@ module Google end end + class ConsistentHashLoadBalancerSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :http_cookie, as: 'httpCookie', class: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie, decorator: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie::Representation + + property :http_header_name, as: 'httpHeaderName' + property :minimum_ring_size, :numeric_string => true, as: 'minimumRingSize' + end + end + + class ConsistentHashLoadBalancerSettingsHttpCookie + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :name, as: 'name' + property :path, as: 'path' + property :ttl, as: 'ttl', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + end + end + + class CorsPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :allow_credentials, as: 'allowCredentials' + collection :allow_headers, as: 'allowHeaders' + collection :allow_methods, as: 'allowMethods' + collection :allow_origin_regexes, as: 'allowOriginRegexes' + collection :allow_origins, as: 'allowOrigins' + property :disabled, as: 'disabled' + collection :expose_headers, as: 'exposeHeaders' + property :max_age, as: 'maxAge' + end + end + class CustomerEncryptionKey # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5305,6 +5501,14 @@ module Google end end + class Duration + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :nanos, as: 'nanos' + property :seconds, :numeric_string => true, as: 'seconds' + end + end + class Expr # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5478,6 +5682,8 @@ module Google property :ip_version, as: 'ipVersion' property :kind, as: 'kind' property :load_balancing_scheme, as: 'loadBalancingScheme' + collection :metadata_filters, as: 'metadataFilters', class: Google::Apis::ComputeV1::MetadataFilter, decorator: Google::Apis::ComputeV1::MetadataFilter::Representation + property :name, as: 'name' property :network, as: 'network' property :network_tier, as: 'networkTier' @@ -5845,6 +6051,69 @@ module Google end end + class HttpFaultAbort + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :http_status, as: 'httpStatus' + property :percentage, as: 'percentage' + end + end + + class HttpFaultDelay + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :fixed_delay, as: 'fixedDelay', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + property :percentage, as: 'percentage' + end + end + + class HttpFaultInjection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :abort, as: 'abort', class: Google::Apis::ComputeV1::HttpFaultAbort, decorator: Google::Apis::ComputeV1::HttpFaultAbort::Representation + + property :delay, as: 'delay', class: Google::Apis::ComputeV1::HttpFaultDelay, decorator: Google::Apis::ComputeV1::HttpFaultDelay::Representation + + end + end + + class HttpHeaderAction + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :request_headers_to_add, as: 'requestHeadersToAdd', class: Google::Apis::ComputeV1::HttpHeaderOption, decorator: Google::Apis::ComputeV1::HttpHeaderOption::Representation + + collection :request_headers_to_remove, as: 'requestHeadersToRemove' + collection :response_headers_to_add, as: 'responseHeadersToAdd', class: Google::Apis::ComputeV1::HttpHeaderOption, decorator: Google::Apis::ComputeV1::HttpHeaderOption::Representation + + collection :response_headers_to_remove, as: 'responseHeadersToRemove' + end + end + + class HttpHeaderMatch + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :exact_match, as: 'exactMatch' + property :header_name, as: 'headerName' + property :invert_match, as: 'invertMatch' + property :prefix_match, as: 'prefixMatch' + property :present_match, as: 'presentMatch' + property :range_match, as: 'rangeMatch', class: Google::Apis::ComputeV1::Int64RangeMatch, decorator: Google::Apis::ComputeV1::Int64RangeMatch::Representation + + property :regex_match, as: 'regexMatch' + property :suffix_match, as: 'suffixMatch' + end + end + + class HttpHeaderOption + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header_name, as: 'headerName' + property :header_value, as: 'headerValue' + property :replace, as: 'replace' + end + end + class HttpHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -5896,6 +6165,89 @@ module Google end end + class HttpQueryParameterMatch + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :exact_match, as: 'exactMatch' + property :name, as: 'name' + property :present_match, as: 'presentMatch' + property :regex_match, as: 'regexMatch' + end + end + + class HttpRedirectAction + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :host_redirect, as: 'hostRedirect' + property :https_redirect, as: 'httpsRedirect' + property :path_redirect, as: 'pathRedirect' + property :prefix_redirect, as: 'prefixRedirect' + property :redirect_response_code, as: 'redirectResponseCode' + property :strip_query, as: 'stripQuery' + end + end + + class HttpRetryPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :num_retries, as: 'numRetries' + property :per_try_timeout, as: 'perTryTimeout', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + collection :retry_conditions, as: 'retryConditions' + end + end + + class HttpRouteAction + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cors_policy, as: 'corsPolicy', class: Google::Apis::ComputeV1::CorsPolicy, decorator: Google::Apis::ComputeV1::CorsPolicy::Representation + + property :fault_injection_policy, as: 'faultInjectionPolicy', class: Google::Apis::ComputeV1::HttpFaultInjection, decorator: Google::Apis::ComputeV1::HttpFaultInjection::Representation + + property :request_mirror_policy, as: 'requestMirrorPolicy', class: Google::Apis::ComputeV1::RequestMirrorPolicy, decorator: Google::Apis::ComputeV1::RequestMirrorPolicy::Representation + + property :retry_policy, as: 'retryPolicy', class: Google::Apis::ComputeV1::HttpRetryPolicy, decorator: Google::Apis::ComputeV1::HttpRetryPolicy::Representation + + property :timeout, as: 'timeout', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + property :url_rewrite, as: 'urlRewrite', class: Google::Apis::ComputeV1::UrlRewrite, decorator: Google::Apis::ComputeV1::UrlRewrite::Representation + + collection :weighted_backend_services, as: 'weightedBackendServices', class: Google::Apis::ComputeV1::WeightedBackendService, decorator: Google::Apis::ComputeV1::WeightedBackendService::Representation + + end + end + + class HttpRouteRule + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation + + collection :match_rules, as: 'matchRules', class: Google::Apis::ComputeV1::HttpRouteRuleMatch, decorator: Google::Apis::ComputeV1::HttpRouteRuleMatch::Representation + + property :route_action, as: 'routeAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation + + property :service, as: 'service' + property :url_redirect, as: 'urlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation + + end + end + + class HttpRouteRuleMatch + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :full_path_match, as: 'fullPathMatch' + collection :header_matches, as: 'headerMatches', class: Google::Apis::ComputeV1::HttpHeaderMatch, decorator: Google::Apis::ComputeV1::HttpHeaderMatch::Representation + + property :ignore_case, as: 'ignoreCase' + collection :metadata_filters, as: 'metadataFilters', class: Google::Apis::ComputeV1::MetadataFilter, decorator: Google::Apis::ComputeV1::MetadataFilter::Representation + + property :prefix_match, as: 'prefixMatch' + collection :query_parameter_matches, as: 'queryParameterMatches', class: Google::Apis::ComputeV1::HttpQueryParameterMatch, decorator: Google::Apis::ComputeV1::HttpQueryParameterMatch::Representation + + property :regex_match, as: 'regexMatch' + end + end + class HttpsHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -6746,6 +7098,14 @@ module Google end end + class Int64RangeMatch + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :range_end, :numeric_string => true, as: 'rangeEnd' + property :range_start, :numeric_string => true, as: 'rangeStart' + end + end + class Interconnect # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -7397,6 +7757,23 @@ module Google end end + class MetadataFilter + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :filter_labels, as: 'filterLabels', class: Google::Apis::ComputeV1::MetadataFilterLabelMatch, decorator: Google::Apis::ComputeV1::MetadataFilterLabelMatch::Representation + + property :filter_match_criteria, as: 'filterMatchCriteria' + end + end + + class MetadataFilterLabelMatch + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :name, as: 'name' + property :value, as: 'value' + end + end + class NamedPort # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -8267,14 +8644,41 @@ module Google end end + class OutlierDetection + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :base_ejection_time, as: 'baseEjectionTime', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + property :consecutive_errors, as: 'consecutiveErrors' + property :consecutive_gateway_failure, as: 'consecutiveGatewayFailure' + property :enforcing_consecutive_errors, as: 'enforcingConsecutiveErrors' + property :enforcing_consecutive_gateway_failure, as: 'enforcingConsecutiveGatewayFailure' + property :enforcing_success_rate, as: 'enforcingSuccessRate' + property :interval, as: 'interval', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + property :max_ejection_percent, as: 'maxEjectionPercent' + property :success_rate_minimum_hosts, as: 'successRateMinimumHosts' + property :success_rate_request_volume, as: 'successRateRequestVolume' + property :success_rate_stdev_factor, as: 'successRateStdevFactor' + end + end + class PathMatcher # @private class Representation < Google::Apis::Core::JsonRepresentation + property :default_route_action, as: 'defaultRouteAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation + property :default_service, as: 'defaultService' + property :default_url_redirect, as: 'defaultUrlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation + property :description, as: 'description' + property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation + property :name, as: 'name' collection :path_rules, as: 'pathRules', class: Google::Apis::ComputeV1::PathRule, decorator: Google::Apis::ComputeV1::PathRule::Representation + collection :route_rules, as: 'routeRules', class: Google::Apis::ComputeV1::HttpRouteRule, decorator: Google::Apis::ComputeV1::HttpRouteRule::Representation + end end @@ -8282,7 +8686,11 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation collection :paths, as: 'paths' + property :route_action, as: 'routeAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation + property :service, as: 'service' + property :url_redirect, as: 'urlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation + end end @@ -8709,6 +9117,13 @@ module Google end end + class RequestMirrorPolicy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :backend_service, as: 'backendService' + end + end + class Reservation # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -10735,9 +11150,15 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' + property :default_route_action, as: 'defaultRouteAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation + property :default_service, as: 'defaultService' + property :default_url_redirect, as: 'defaultUrlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation + property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' + property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation + collection :host_rules, as: 'hostRules', class: Google::Apis::ComputeV1::HostRule, decorator: Google::Apis::ComputeV1::HostRule::Representation property :id, :numeric_string => true, as: 'id' @@ -10888,6 +11309,14 @@ module Google end end + class UrlRewrite + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :host_rewrite, as: 'hostRewrite' + property :path_prefix_rewrite, as: 'pathPrefixRewrite' + end + end + class UsableSubnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -11281,6 +11710,16 @@ module Google end end + class WeightedBackendService + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :backend_service, as: 'backendService' + property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation + + property :weight, as: 'weight' + end + end + class XpnHostList # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/healthcare_v1beta1.rb b/generated/google/apis/healthcare_v1beta1.rb index 22f6bc858..22fd05d19 100644 --- a/generated/google/apis/healthcare_v1beta1.rb +++ b/generated/google/apis/healthcare_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/healthcare module HealthcareV1beta1 VERSION = 'V1beta1' - REVISION = '20190918' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/healthcare_v1beta1/classes.rb b/generated/google/apis/healthcare_v1beta1/classes.rb index 21e75c855..d9afb0215 100644 --- a/generated/google/apis/healthcare_v1beta1/classes.rb +++ b/generated/google/apis/healthcare_v1beta1/classes.rb @@ -266,7 +266,7 @@ module Google # The default timezone used by this dataset. Must be a either a valid IANA # time zone name such as "America/New_York" or empty, which defaults to UTC. - # This is used for parsing times in resources (e.g., HL7 messages) where no + # This is used for parsing times in resources, such as HL7 messages, where no # explicit timezone is specified. # Corresponds to the JSON property `timeZone` # @return [String] @@ -318,12 +318,12 @@ module Google # @return [Google::Apis::HealthcareV1beta1::DicomConfig] attr_accessor :dicom - # Specifies how de-identification of a FHIR store should be handled. + # Specifies how to handle de-identification of a FHIR store. # Corresponds to the JSON property `fhir` # @return [Google::Apis::HealthcareV1beta1::FhirConfig] attr_accessor :fhir - # Specifies how de-identification of image pixel should be handled. + # Specifies how to handle de-identification of image pixels. # Corresponds to the JSON property `image` # @return [Google::Apis::HealthcareV1beta1::ImageConfig] attr_accessor :image @@ -359,8 +359,7 @@ module Google # @return [Google::Apis::HealthcareV1beta1::DeidentifyConfig] attr_accessor :config - # The name of the dataset resource to create and write the redacted data to - # (e.g., + # The name of the dataset resource to create and write the redacted data to. # * The destination dataset must not exist. # * The destination dataset must be in the same project as the source # dataset. De-identifying data across multiple projects is not supported. @@ -383,12 +382,12 @@ module Google class DeidentifyErrorDetails include Google::Apis::Core::Hashable - # Number of resources failed to process. + # Number of resources that failed to process. # Corresponds to the JSON property `failureResourceCount` # @return [Fixnum] attr_accessor :failure_resource_count - # Number of stores failed to process. + # Number of stores that failed to process. # Corresponds to the JSON property `failureStoreCount` # @return [Fixnum] attr_accessor :failure_store_count @@ -420,6 +419,14 @@ module Google class DeidentifySummary include Google::Apis::Core::Hashable + # Number of resources that failed to process. + # The failures might be caused by: + # * Invalid user input data + # * Transient errors that could be skipped + # Corresponds to the JSON property `failureResourceCount` + # @return [Fixnum] + attr_accessor :failure_resource_count + # Number of resources successfully processed. # Corresponds to the JSON property `successResourceCount` # @return [Fixnum] @@ -436,6 +443,7 @@ module Google # Update properties of this object def update!(**args) + @failure_resource_count = args[:failure_resource_count] if args.key?(:failure_resource_count) @success_resource_count = args[:success_resource_count] if args.key?(:success_resource_count) @success_store_count = args[:success_store_count] if args.key?(:success_store_count) end @@ -511,7 +519,7 @@ module Google # @return [String] attr_accessor :name - # Specifies where notifications should be sent upon changes to a data store. + # Specifies where to send notifications upon changes to a data store. # Corresponds to the JSON property `notificationConfig` # @return [Google::Apis::HealthcareV1beta1::NotificationConfig] attr_accessor :notification_config @@ -580,20 +588,20 @@ module Google end # Exports data from the specified DICOM store. - # If a given resource (e.g., a DICOM object with the same SOPInstance UID) + # If a given resource, such as a DICOM object with the same SOPInstance UID, # already exists in the output, it is overwritten with the version # in the source dataset. - # Exported DICOM data will persist when the DICOM store from which it was + # Exported DICOM data persists when the DICOM store from which it was # exported is deleted. class ExportDicomDataRequest include Google::Apis::Core::Hashable - # The BigQuery table where the output should be written. + # The BigQuery table where the server writes the output. # Corresponds to the JSON property `bigqueryDestination` # @return [Google::Apis::HealthcareV1beta1::GoogleCloudHealthcareV1beta1DicomBigQueryDestination] attr_accessor :bigquery_destination - # The Cloud Storage location where the output should be written, and the export + # The Cloud Storage location where the server writes the output and the export # configuration. # Corresponds to the JSON property `gcsDestination` # @return [Google::Apis::HealthcareV1beta1::GoogleCloudHealthcareV1beta1DicomGcsDestination] @@ -682,12 +690,12 @@ module Google end end - # Specifies how de-identification of a FHIR store should be handled. + # Specifies how to handle de-identification of a FHIR store. class FhirConfig include Google::Apis::Core::Hashable # Specifies FHIR paths to match and how to transform them. Any field that - # is not matched by a FieldMetadata will be passed through to the output + # is not matched by a FieldMetadata is passed through to the output # dataset unmodified. All extensions are removed in the output. # Corresponds to the JSON property `fieldMetadataList` # @return [Array] @@ -709,12 +717,12 @@ module Google # Whether to disable referential integrity in this FHIR store. This field is # immutable after FHIR store creation. - # The default value is false, meaning that the API will enforce referential - # integrity and fail the requests that will result in inconsistent state in + # The default value is false, meaning that the API enforces referential + # integrity and fails the requests that result in inconsistent state in # the FHIR store. - # When this field is set to true, the API will skip referential integrity - # check. Consequently, operations that rely on references, such as - # GetPatientEverything, will not return all the results if broken references + # When this field is set to true, the API skips referential integrity + # checks. Consequently, operations that rely on references, such as + # GetPatientEverything, do not return all the results if broken references # exist. # Corresponds to the JSON property `disableReferentialIntegrity` # @return [Boolean] @@ -723,35 +731,25 @@ module Google # Whether to disable resource versioning for this FHIR store. This field can # not be changed after the creation of FHIR store. - # If set to false, which is the default behavior, all write operations will + # If set to false, which is the default behavior, all write operations # cause historical versions to be recorded automatically. The historical # versions can be fetched through the history APIs, but cannot be updated. - # If set to true, no historical versions will be kept. The server will send - # back errors for attempts to read the historical versions. + # If set to true, no historical versions are kept. The server sends + # errors for attempts to read the historical versions. # Corresponds to the JSON property `disableResourceVersioning` # @return [Boolean] attr_accessor :disable_resource_versioning alias_method :disable_resource_versioning?, :disable_resource_versioning - # Whether to allow the bulk import API to accept history bundles and directly - # insert historical resource versions into the FHIR store. Importing resource - # histories creates resource interactions that appear to have occurred in the - # past, which clients may not want to allow. If set to false, history bundles - # within an import will fail with an error. - # Corresponds to the JSON property `enableHistoryImport` - # @return [Boolean] - attr_accessor :enable_history_import - alias_method :enable_history_import?, :enable_history_import - # Whether this FHIR store has the [updateCreate # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html# # CapabilityStatement.rest.resource.updateCreate). # This determines if the client can use an Update operation to create a new # resource with a client-specified ID. If false, all IDs are server-assigned - # through the Create operation and attempts to Update a non-existent resource - # will return errors. Please treat the audit logs with appropriate levels of + # through the Create operation and attempts to update a non-existent resource + # return errors. Please treat the audit logs with appropriate levels of # care if client-specified resource IDs contain sensitive data such as - # patient identifiers, those IDs will be part of the FHIR resource path + # patient identifiers, those IDs are part of the FHIR resource path # recorded in Cloud audit logs and Cloud Pub/Sub notifications. # Corresponds to the JSON property `enableUpdateCreate` # @return [Boolean] @@ -777,7 +775,7 @@ module Google # @return [String] attr_accessor :name - # Specifies where notifications should be sent upon changes to a data store. + # Specifies where to send notifications upon changes to a data store. # Corresponds to the JSON property `notificationConfig` # @return [Google::Apis::HealthcareV1beta1::NotificationConfig] attr_accessor :notification_config @@ -790,7 +788,6 @@ module Google def update!(**args) @disable_referential_integrity = args[:disable_referential_integrity] if args.key?(:disable_referential_integrity) @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning) - @enable_history_import = args[:enable_history_import] if args.key?(:enable_history_import) @enable_update_create = args[:enable_update_create] if args.key?(:enable_update_create) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @@ -812,8 +809,8 @@ module Google # period-separated list where each component is either a field name or # FHIR type name, for example: Patient, HumanName. # For "choice" types (those defined in the FHIR spec with the form: - # field[x]) we use two separate components. e.g. "deceasedAge.unit" is - # matched by "Deceased.Age.unit". + # field[x]) we use two separate components. For example, + # "deceasedAge.unit" is matched by "Deceased.Age.unit". # Supported types are: AdministrativeGenderCode, Code, Date, DateTime, # Decimal, HumanName, Id, LanguageCode, Markdown, MimeTypeCode, Oid, # String, Uri, Uuid, Xhtml. @@ -832,12 +829,12 @@ module Google end end - # The BigQuery table where the output should be written. + # The BigQuery table where the server writes the output. class GoogleCloudHealthcareV1beta1DicomBigQueryDestination include Google::Apis::Core::Hashable # If the destination table already exists and this flag is `TRUE`, the table - # will be overwritten by the contents of the DICOM store. If the flag is not + # is overwritten by the contents of the DICOM store. If the flag is not # set and the destination table already exists, the export call returns an # error. # Corresponds to the JSON property `force` @@ -862,31 +859,31 @@ module Google end end - # The Cloud Storage location where the output should be written, and the export + # The Cloud Storage location where the server writes the output and the export # configuration. class GoogleCloudHealthcareV1beta1DicomGcsDestination include Google::Apis::Core::Hashable # MIME types supported by DICOM spec. - # Each file will be written in the following format: + # Each file is written in the following format: # `.../`study_id`/`series_id`/`instance_id`[/`frame_number`].`extension`` - # The frame_number component will exist only for multi-frame instances. + # The frame_number component exists only for multi-frame instances. # Refer to the DICOM conformance statement for permissible MIME types: # https://cloud.google.com/healthcare/docs/dicom#wado-rs - # The following extensions will be used for output files: + # The following extensions are used for output files: # application/dicom -> .dcm # image/jpeg -> .jpg # image/png -> .png - # If unspecified, the instances will be exported in their original + # If unspecified, the instances are exported in their original # DICOM format. # Corresponds to the JSON property `mimeType` # @return [String] attr_accessor :mime_type # The Cloud Storage destination to export to. - # URI for a Cloud Storage directory where result files should be written (in - # the format `gs://`bucket-id`/`path/to/destination/dir``). If there is no - # trailing slash, the service will append one when composing the object path. + # URI for a Cloud Storage directory where the server writes the result files, + # in the format `gs://`bucket-id`/`path/to/destination/dir``). If there is no + # trailing slash, the service appends one when composing the object path. # The user is responsible for creating the Cloud Storage bucket referenced in # `uri_prefix`. # Corresponds to the JSON property `uriPrefix` @@ -1205,7 +1202,7 @@ module Google # @return [String] attr_accessor :name - # Specifies where notifications should be sent upon changes to a data store. + # Specifies where to send notifications upon changes to a data store. # Corresponds to the JSON property `notificationConfig` # @return [Google::Apis::HealthcareV1beta1::NotificationConfig] attr_accessor :notification_config @@ -1290,7 +1287,7 @@ module Google end end - # Specifies how de-identification of image pixel should be handled. + # Specifies how to handle de-identification of image pixels. class ImageConfig include Google::Apis::Core::Hashable @@ -1314,8 +1311,8 @@ module Google include Google::Apis::Core::Hashable # Deprecated. Use only for debugging purposes. - # Contains sample errors encountered in imports of individual resources - # (for example, a Cloud Storage object). + # Contains sample errors encountered in imports of individual resources. + # For example, a Cloud Storage object. # Corresponds to the JSON property `sampleErrors` # @return [Array] attr_accessor :sample_errors @@ -1332,8 +1329,8 @@ module Google # Imports data into the specified DICOM store. # Returns an error if any of the files to import are not DICOM files. This - # API will accept duplicate DICOM instances, by simply ignoring the newly - # pushed instance (it will not overwrite). + # API accepts duplicate DICOM instances by ignoring the newly-pushed instance. + # It does not overwrite. class ImportDicomDataRequest include Google::Apis::Core::Hashable @@ -1408,8 +1405,8 @@ module Google # @return [Array] attr_accessor :info_types - # Define how to redact sensitive values. Default behaviour is erase, - # e.g. "My name is Jake." becomes "My name is ." + # Define how to redact sensitive values. Default behaviour is erase. + # For example, "My name is Jake." becomes "My name is ." # Corresponds to the JSON property `redactConfig` # @return [Google::Apis::HealthcareV1beta1::RedactConfig] attr_accessor :redact_config @@ -1799,13 +1796,13 @@ module Google end end - # Specifies where notifications should be sent upon changes to a data store. + # Specifies where to send notifications upon changes to a data store. class NotificationConfig include Google::Apis::Core::Hashable # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that # notifications of changes are published on. Supplied by the client. - # PubsubMessage.Data will contain the resource name. + # PubsubMessage.Data contains the resource name. # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be # unique within the topic. # PubsubMessage.PublishTime is the time at which the message was published. @@ -1814,7 +1811,7 @@ module Google # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped # to a project. cloud-healthcare@system.gserviceaccount.com must have # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate - # permissions will cause the calls that send notifications to fail. + # permissions causes the calls that send notifications to fail. # Corresponds to the JSON property `pubsubTopic` # @return [String] attr_accessor :pubsub_topic @@ -1961,8 +1958,8 @@ module Google attr_accessor :allow_null_header alias_method :allow_null_header?, :allow_null_header - # Byte(s) to be used as the segment terminator. If this is unset, '\r' will - # be used as segment terminator. + # Byte(s) to use as the segment terminator. If this is unset, '\r' is + # used as segment terminator. # Corresponds to the JSON property `segmentTerminator` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -1983,7 +1980,7 @@ module Google class PatientId include Google::Apis::Core::Hashable - # ID type, e.g. MRN or NHS. + # ID type. For example, MRN or NHS. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type @@ -2069,7 +2066,12 @@ module Google # @return [String] attr_accessor :etag - # Deprecated. + # Specifies the format of the policy. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -2118,8 +2120,8 @@ module Google end end - # Define how to redact sensitive values. Default behaviour is erase, - # e.g. "My name is Jake." becomes "My name is ." + # Define how to redact sensitive values. Default behaviour is erase. + # For example, "My name is Jake." becomes "My name is ." class RedactConfig include Google::Apis::Core::Hashable @@ -2209,22 +2211,23 @@ module Google # identify different instances of a repeated field. # Regex for key: (\d+)(\[\d+\])?(.\d+)?(.\d+)? # Examples of (key, value) pairs: - # - (0.1, "foo"): Component 1 of Field 0 has the value "foo". - # - (1.1.2, "bar"): Sub-component 2 of Component 1 of field 1 has the value - # "bar". - # - (1[2].1, "baz"): Component 1 of Instance 2 of Field 1, which is repeated, - # has the value "baz". + # * (0.1, "hemoglobin") denotes that the first component of Field 0 has the + # value "hemoglobin". + # * (1.1.2, "CBC") denotes that the second sub-component of the first + # component of Field 1 has the value "CBC". + # * (1[0].1, "HbA1c") denotes that the first component of the + # first Instance of Field 1, which is repeated, has the value "HbA1c". # Corresponds to the JSON property `fields` # @return [Hash] attr_accessor :fields - # A string that indicates the type of segment, e.g., EVN, PID. + # A string that indicates the type of segment. For example, EVN or PID. # Corresponds to the JSON property `segmentId` # @return [String] attr_accessor :segment_id - # Set ID for segments that can be in a set. This can be empty if it is - # missing or it is not applicable. + # Set ID for segments that can be in a set. This can be empty if it's + # missing or isn't applicable. # Corresponds to the JSON property `setId` # @return [String] attr_accessor :set_id diff --git a/generated/google/apis/healthcare_v1beta1/representations.rb b/generated/google/apis/healthcare_v1beta1/representations.rb index 54ccd33ba..e321ea5a8 100644 --- a/generated/google/apis/healthcare_v1beta1/representations.rb +++ b/generated/google/apis/healthcare_v1beta1/representations.rb @@ -536,6 +536,7 @@ module Google class DeidentifySummary # @private class Representation < Google::Apis::Core::JsonRepresentation + property :failure_resource_count, :numeric_string => true, as: 'failureResourceCount' property :success_resource_count, :numeric_string => true, as: 'successResourceCount' property :success_store_count, :numeric_string => true, as: 'successStoreCount' end @@ -621,7 +622,6 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :disable_referential_integrity, as: 'disableReferentialIntegrity' property :disable_resource_versioning, as: 'disableResourceVersioning' - property :enable_history_import, as: 'enableHistoryImport' property :enable_update_create, as: 'enableUpdateCreate' hash :labels, as: 'labels' property :name, as: 'name' diff --git a/generated/google/apis/healthcare_v1beta1/service.rb b/generated/google/apis/healthcare_v1beta1/service.rb index b24982c59..a1e1b060d 100644 --- a/generated/google/apis/healthcare_v1beta1/service.rb +++ b/generated/google/apis/healthcare_v1beta1/service.rb @@ -124,8 +124,8 @@ module Google # A Google Cloud Platform project can contain up to 500 datasets across all # regions. # @param [String] parent - # The name of the project in which the dataset should be created (e.g., - # `projects/`project_id`/locations/`location_id``). + # The name of the project where the server creates the dataset. For + # example, `projects/`project_id`/locations/`location_id``. # @param [Google::Apis::HealthcareV1beta1::Dataset] dataset_object # @param [String] dataset_id # The ID of the dataset that is being created. @@ -169,11 +169,11 @@ module Google # If errors occur, # details field type is # DeidentifyErrorDetails. - # Errors are also logged to Stackdriver - # (see [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging)). + # Errors are also logged to Stackdriver Logging. For more information, + # see [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging). # @param [String] source_dataset - # Source dataset resource name. (e.g., - # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``). + # Source dataset resource name. For example, + # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``. # @param [Google::Apis::HealthcareV1beta1::DeidentifyDatasetRequest] deidentify_dataset_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -208,8 +208,8 @@ module Google # Deleting a dataset does not affect the sources from which the dataset was # imported (if any). # @param [String] name - # The name of the dataset to delete (e.g., - # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``). + # The name of the dataset to delete. For example, + # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -239,8 +239,8 @@ module Google # Gets any metadata associated with a dataset. # @param [String] name - # The name of the dataset to read (e.g., - # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``). + # The name of the dataset to read. For example, + # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id``. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -276,9 +276,11 @@ module Google # See the operation documentation for the appropriate value for this field. # @param [Fixnum] options_requested_policy_version # Optional. The policy format version to be returned. - # Acceptable values are 0, 1, and 3. - # If the value is 0, or the field is omitted, policy format version 1 will be - # returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -309,8 +311,8 @@ module Google # Lists the health datasets in the current project. # @param [String] parent - # The name of the project whose datasets should be listed (e.g., - # `projects/`project_id`/locations/`location_id``). + # The name of the project whose datasets should be listed. + # For example, `projects/`project_id`/locations/`location_id``. # @param [Fixnum] page_size # The maximum number of items to return. Capped to 100 if not specified. # May not be larger than 1000. @@ -532,9 +534,10 @@ module Google # The metadata field type is # OperationMetadata. # @param [String] name - # The DICOM store resource name from which the data should be exported (e.g., + # The DICOM store resource name from which to export the data. For + # example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ - # dicomStores/`dicom_store_id``). + # dicomStores/`dicom_store_id``. # @param [Google::Apis::HealthcareV1beta1::ExportDicomDataRequest] export_dicom_data_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -603,9 +606,11 @@ module Google # See the operation documentation for the appropriate value for this field. # @param [Fixnum] options_requested_policy_version # Optional. The policy format version to be returned. - # Acceptable values are 0, 1, and 3. - # If the value is 0, or the field is omitted, policy format version 1 will be - # returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -635,16 +640,18 @@ module Google end # Imports data into the DICOM store by copying it from the specified source. - # For errors, the Operation will be populated with error details (in the form - # of ImportDicomDataErrorDetails in error.details), which will hold + # For errors, the Operation is populated with error details (in the form + # of ImportDicomDataErrorDetails in error.details), which hold # finer-grained error information. Errors are also logged to Stackdriver - # (see [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging)). + # Logging. For more information, + # see [Viewing logs](/healthcare/docs/how-tos/stackdriver-logging). # The metadata field type is # OperationMetadata. # @param [String] name - # The name of the DICOM store resource into which the data is imported (e.g., + # The name of the DICOM store resource into which the data is imported. + # For example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ - # dicomStores/`dicom_store_id``). + # dicomStores/`dicom_store_id``. # @param [Google::Apis::HealthcareV1beta1::ImportDicomDataRequest] import_dicom_data_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -681,7 +688,7 @@ module Google # @param [String] filter # Restricts stores returned to those matching a filter. Syntax: # https://cloud.google.com/appengine/docs/standard/python/search/query_strings - # Only filtering on labels is supported, for example `labels.key=value`. + # Only filtering on labels is supported. For example, `labels.key=value`. # @param [Fixnum] page_size # Limit on the number of DICOM stores to return in a single response. # If zero the default page size of 100 is used. @@ -761,11 +768,11 @@ module Google # SearchForInstances returns a list of matching instances. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the SearchForInstancesRequest DICOMweb request (e.g., + # The path of the SearchForInstancesRequest DICOMweb request (for example, # `instances` or `series/`series_uid`/instances` or # `studies/`study_uid`/instances`). # @param [String] fields @@ -799,11 +806,11 @@ module Google # SearchForSeries returns a list of matching series. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the SearchForSeries DICOMweb request(e.g., `series` or + # The path of the SearchForSeries DICOMweb request(for example, `series` or # `studies/`study_uid`/series`). # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -836,11 +843,11 @@ module Google # SearchForStudies returns a list of matching studies. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the SearchForStudies DICOMweb request (e.g., `studies`). + # The path of the SearchForStudies DICOMweb request (for example, `studies`). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -908,12 +915,12 @@ module Google # identifiers (SUID). See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the StoreInstances DICOMweb request (e.g., - # `studies/[`study_id`]`). Note that the `study_uid` is optional. + # The path of the StoreInstances DICOMweb request (for example, + # `studies/[`study_uid`]`). Note that the `study_uid` is optional. # @param [Google::Apis::HealthcareV1beta1::HttpBody] http_body_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -987,11 +994,11 @@ module Google # DeleteStudy deletes all instances within the given study. Delete requests # are equivalent to the GET requests specified in the WADO-RS standard. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the DeleteStudy request (e.g., `studies/`study_id``). + # The path of the DeleteStudy request (for example, `studies/`study_uid``). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1024,12 +1031,12 @@ module Google # presented as metadata with the bulk data removed. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveStudyMetadata DICOMweb request (e.g., - # `studies/`study_id`/metadata`). + # The path of the RetrieveStudyMetadata DICOMweb request (for example, + # `studies/`study_uid`/metadata`). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1061,12 +1068,12 @@ module Google # RetrieveStudy returns all instances within the given study. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveStudy DICOMweb request (e.g., - # `studies/`study_id``). + # The path of the RetrieveStudy DICOMweb request (for example, + # `studies/`study_uid``). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1098,11 +1105,11 @@ module Google # SearchForInstances returns a list of matching instances. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the SearchForInstancesRequest DICOMweb request (e.g., + # The path of the SearchForInstancesRequest DICOMweb request (for example, # `instances` or `series/`series_uid`/instances` or # `studies/`study_uid`/instances`). # @param [String] fields @@ -1136,11 +1143,11 @@ module Google # SearchForSeries returns a list of matching series. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the SearchForSeries DICOMweb request(e.g., `series` or + # The path of the SearchForSeries DICOMweb request(for example, `series` or # `studies/`study_uid`/series`). # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -1174,12 +1181,12 @@ module Google # identifiers (SUID). See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.5. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the StoreInstances DICOMweb request (e.g., - # `studies/[`study_id`]`). Note that the `study_uid` is optional. + # The path of the StoreInstances DICOMweb request (for example, + # `studies/[`study_uid`]`). Note that the `study_uid` is optional. # @param [Google::Apis::HealthcareV1beta1::HttpBody] http_body_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -1215,12 +1222,12 @@ module Google # Delete requests are equivalent to the GET requests specified in the WADO-RS # standard. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the DeleteSeries request (e.g., - # `studies/`study_id`/series/`series_id``). + # The path of the DeleteSeries request (for example, + # `studies/`study_uid`/series/`series_uid``). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1253,12 +1260,12 @@ module Google # series, presented as metadata with the bulk data removed. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveSeriesMetadata DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id`/metadata`). + # The path of the RetrieveSeriesMetadata DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid`/metadata`). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1290,12 +1297,12 @@ module Google # RetrieveSeries returns all instances within the given study and series. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveSeries DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id``). + # The path of the RetrieveSeries DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid``). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1327,11 +1334,11 @@ module Google # SearchForInstances returns a list of matching instances. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.6. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the SearchForInstancesRequest DICOMweb request (e.g., + # The path of the SearchForInstancesRequest DICOMweb request (for example, # `instances` or `series/`series_uid`/instances` or # `studies/`study_uid`/instances`). # @param [String] fields @@ -1366,12 +1373,12 @@ module Google # and SOP Instance UID. Delete requests are equivalent to the GET requests # specified in the WADO-RS standard. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the DeleteInstance request (e.g., - # `studies/`study_id`/series/`series_id`/instances/`instance_id``). + # The path of the DeleteInstance request (for example, + # `studies/`study_uid`/series/`series_uid`/instances/`instance_uid``). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1404,12 +1411,12 @@ module Google # and SOP Instance UID. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveInstance DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id`/instances/`instance_id``). + # The path of the RetrieveInstance DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid`/instances/`instance_uid``). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1443,12 +1450,12 @@ module Google # removed. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveInstanceMetadata DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id`/instances/`instance_id`/metadata`). + # The path of the RetrieveInstanceMetadata DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid`/instances/`instance_uid`/metadata`). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1481,12 +1488,12 @@ module Google # series, and SOP Instance UID in an acceptable Rendered Media Type. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveRenderedInstance DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id`/instances/`instance_id`/rendered`). + # The path of the RetrieveRenderedInstance DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid`/instances/`instance_uid`/rendered`). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1519,12 +1526,12 @@ module Google # SOP Instance UID and frame numbers. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveFrames DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id`/instances/`instance_id`/frames/` + # The path of the RetrieveFrames DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid`/instances/`instance_uid`/frames/` # frame_list``). # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -1559,12 +1566,12 @@ module Google # Type. See # http://dicom.nema.org/medical/dicom/current/output/html/part18.html#sect_10.4. # @param [String] parent - # The name of the DICOM store that is being accessed (e.g., + # The name of the DICOM store that is being accessed (for example, # `projects/`project_id`/locations/`location_id`/datasets/`dataset_id`/ # dicomStores/`dicom_store_id``). # @param [String] dicom_web_path - # The path of the RetrieveRenderedFrames DICOMweb request (e.g., - # `studies/`study_id`/series/`series_id`/instances/`instance_id`/frames/` + # The path of the RetrieveRenderedFrames DICOMweb request (for example, + # `studies/`study_uid`/series/`series_uid`/instances/`instance_uid`/frames/` # frame_list`/rendered`). # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -1747,9 +1754,11 @@ module Google # See the operation documentation for the appropriate value for this field. # @param [Fixnum] options_requested_policy_version # Optional. The policy format version to be returned. - # Acceptable values are 0, 1, and 3. - # If the value is 0, or the field is omitted, policy format version 1 will be - # returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -1820,7 +1829,7 @@ module Google # The location and format of the input data is specified by the parameters # below. Note that if no format is specified, this method assumes the # `BUNDLE` format. When using the `BUNDLE` format this method ignores the - # `Bundle.type` field, except for the special case of `history`, and does + # `Bundle.type` field, except that `history` bundles are rejected, and does # not apply any of the bundle processing semantics for batch or transaction # bundles. Unlike in ExecuteBundle, transaction bundles are not executed # as a single transaction and bundle-internal references are not rewritten. @@ -1829,16 +1838,6 @@ module Google # an example, this allows the import of `searchset` bundles produced by a # FHIR search or # Patient-everything operation. - # If history imports are enabled by setting - # enable_history_import in the FHIR - # store's configuration, this method can import historical versions - # of a resource by supplying a bundle of type `history` and using the - # `BUNDLE` format. The historical versions in the bundle must have - # `lastUpdated` timestamps, and the resulting resource history on the server - # will appear as if the versions had been created at those timestamps. If a - # current or historical version with the supplied resource ID already - # exists, the bundle is rejected to avoid creating an inconsistent sequence - # of resource versions. # This method returns an Operation that can # be used to track the status of the import by calling # GetOperation. @@ -2948,9 +2947,11 @@ module Google # See the operation documentation for the appropriate value for this field. # @param [Fixnum] options_requested_policy_version # Optional. The policy format version to be returned. - # Acceptable values are 0, 1, and 3. - # If the value is 0, or the field is omitted, policy format version 1 will be - # returned. + # Valid values are 0, 1, and 3. Requests specifying an invalid value will be + # rejected. + # Requests for policies with any conditional bindings must specify version 3. + # Policies without any conditional bindings may specify any valid value or + # leave the field unset. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -2985,7 +2986,7 @@ module Google # @param [String] filter # Restricts stores returned to those matching a filter. Syntax: # https://cloud.google.com/appengine/docs/standard/python/search/query_strings - # Only filtering on labels is supported, for example `labels.key=value`. + # Only filtering on labels is supported. For example, `labels.key=value`. # @param [Fixnum] page_size # Limit on the number of HL7v2 stores to return in a single response. # If zero the default page size of 100 is used. @@ -3207,8 +3208,7 @@ module Google # @param [String] name # The resource name of the HL7v2 message to retrieve. # @param [String] view - # Specifies which parts of the Message resource should be returned - # in the response. + # Specifies which parts of the Message resource to return in the response. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -3284,29 +3284,30 @@ module Google # Restricts messages returned to those matching a filter. Syntax: # https://cloud.google.com/appengine/docs/standard/python/search/query_strings # Fields/functions available for filtering are: - # * `message_type`, from the MSH-9 segment; for example - # `NOT message_type = "ADT"` + # * `message_type`, from the MSH-9 segment. For example, + # `NOT message_type = "ADT"`. # * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in - # the dataset's time_zone, from the MSH-7 segment; for example - # `send_date < "2017-01-02"` + # the dataset's time_zone, from the MSH-7 segment. For example, + # `send_date < "2017-01-02"`. # * `send_time`, the timestamp when the message was sent, using the - # RFC3339 time format for comparisons, from the MSH-7 segment; for example - # `send_time < "2017-01-02T00:00:00-05:00"` + # RFC3339 time format for comparisons, from the MSH-7 segment. For example, + # `send_time < "2017-01-02T00:00:00-05:00"`. # * `send_facility`, the care center that the message came from, from the - # MSH-4 segment; for example `send_facility = "ABC"` + # MSH-4 segment. For example, `send_facility = "ABC"`. # * `HL7RegExp(expr)`, which does regular expression matching of `expr` - # against the message payload using re2 (http://code.google.com/p/re2/) - # syntax; for example `HL7RegExp("^.*\|.*\|EMERG")` + # against the message payload using RE2 syntax + # (https://github.com/google/re2/wiki/Syntax). For example, + # `HL7RegExp("^.*\|.*\|EMERG")`. # * `PatientId(value, type)`, which matches if the message lists a patient # having an ID of the given value and type in the PID-2, PID-3, or PID-4 - # segments; for example `PatientId("123456", "MRN")` + # segments. For example, `PatientId("123456", "MRN")`. # * `labels.x`, a string value of the label with key `x` as set using the # Message.labels - # map, for example `labels."priority"="high"`. The operator `:*` can be used - # to assert the existence of a label, for example `labels."priority":*`. + # map. For example, `labels."priority"="high"`. The operator `:*` can be used + # to assert the existence of a label. For example, `labels."priority":*`. # Limitations on conjunctions: # * Negation on the patient ID function or the labels field is not - # supported, for example these queries are invalid: + # supported. For example, these queries are invalid: # `NOT PatientId("123456", "MRN")`, `NOT labels."tag1":*`, # `NOT labels."tag2"="val2"`. # * Conjunction of multiple patient ID functions is not supported, for @@ -3315,7 +3316,7 @@ module Google # * Conjunction of multiple labels fields is also not supported, for # example this query is invalid: `labels."tag1":* AND labels."tag2"="val2"`. # * Conjunction of one patient ID function, one labels field and conditions - # on other fields is supported, for example this query is valid: + # on other fields is supported. For example, this query is valid: # `PatientId("123456", "MRN") AND labels."tag1":* AND message_type = "ADT"`. # @param [String] order_by # Orders messages returned by the specified order_by clause. @@ -3371,8 +3372,8 @@ module Google # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf# # fieldmask # Only the `labels` field is allowed to be updated. - # The labels in the request will be merged with the existing set of labels. - # Existing labels with the same keys will be updated. + # The labels in the request are merged with the existing set of labels. + # Existing labels with the same keys are updated. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user diff --git a/generated/google/apis/iam_v1.rb b/generated/google/apis/iam_v1.rb index fb9b1e396..4fa7693f3 100644 --- a/generated/google/apis/iam_v1.rb +++ b/generated/google/apis/iam_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/iam/ module IamV1 VERSION = 'V1' - REVISION = '20190906' + REVISION = '20190920' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/iam_v1/classes.rb b/generated/google/apis/iam_v1/classes.rb index f089e03d3..2b4f5c29f 100644 --- a/generated/google/apis/iam_v1/classes.rb +++ b/generated/google/apis/iam_v1/classes.rb @@ -519,25 +519,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -547,11 +556,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `policy` @@ -872,25 +885,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -900,11 +922,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class Policy @@ -915,7 +941,8 @@ module Google # @return [Array] attr_accessor :audit_configs - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -929,7 +956,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -938,9 +967,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -1402,25 +1435,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -1430,11 +1472,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `policy` diff --git a/generated/google/apis/proximitybeacon_v1beta1.rb b/generated/google/apis/proximitybeacon_v1beta1.rb index 42b355b01..49c7ac9a5 100644 --- a/generated/google/apis/proximitybeacon_v1beta1.rb +++ b/generated/google/apis/proximitybeacon_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/beacons/proximity/ module ProximitybeaconV1beta1 VERSION = 'V1beta1' - REVISION = '20190304' + REVISION = '20190913' # View and modify your beacons AUTH_USERLOCATION_BEACON_REGISTRY = 'https://www.googleapis.com/auth/userlocation.beacon.registry' diff --git a/generated/google/apis/proximitybeacon_v1beta1/classes.rb b/generated/google/apis/proximitybeacon_v1beta1/classes.rb index 096798b1d..421cf4902 100644 --- a/generated/google/apis/proximitybeacon_v1beta1/classes.rb +++ b/generated/google/apis/proximitybeacon_v1beta1/classes.rb @@ -540,19 +540,22 @@ module Google # Information a client needs to provision and register beacons that # broadcast Eddystone-EID format beacon IDs, using Elliptic curve # Diffie-Hellman key exchange. See - # [the Eddystone specification](https://github.com/google/eddystone/tree/master/ - # eddystone-eid) at GitHub. + # [the Eddystone + # specification](https://github.com/google/eddystone/tree/master/eddystone-eid) + # at GitHub. class EphemeralIdRegistrationParams include Google::Apis::Core::Hashable # Indicates the maximum rotation period supported by the service. - # See EddystoneEidRegistration.rotation_period_exponent + # See + # EddystoneEidRegistration.rotation_period_exponent # Corresponds to the JSON property `maxRotationPeriodExponent` # @return [Fixnum] attr_accessor :max_rotation_period_exponent # Indicates the minimum rotation period supported by the service. - # See EddystoneEidRegistration.rotation_period_exponent + # See + # EddystoneEidRegistration.rotation_period_exponent # Corresponds to the JSON property `minRotationPeriodExponent` # @return [Fixnum] attr_accessor :min_rotation_period_exponent diff --git a/generated/google/apis/proximitybeacon_v1beta1/service.rb b/generated/google/apis/proximitybeacon_v1beta1/service.rb index 50e4ce6e3..ae4accd4c 100644 --- a/generated/google/apis/proximitybeacon_v1beta1/service.rb +++ b/generated/google/apis/proximitybeacon_v1beta1/service.rb @@ -49,7 +49,8 @@ module Google # Given one or more beacon observations, returns any beacon information # and attachments accessible to your application. Authorize by using the - # [API key](https://developers.google.com/beacons/proximity/get-started# + # [API + # key](https://developers.google.com/beacons/proximity/get-started# # request_a_browser_api_key) # for the application. # @param [Google::Apis::ProximitybeaconV1beta1::GetInfoForObservedBeaconsRequest] get_info_for_observed_beacons_request_object @@ -85,10 +86,10 @@ module Google # and attachment data when queried via `beaconinfo.getforobserved`. # Calling this method on an already active beacon will do nothing (but # will return a successful response code). - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # Beacon that should be activated. A beacon name has the format # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by @@ -134,10 +135,10 @@ module Google # information nor attachment data for the beacon when queried via # `beaconinfo.getforobserved`. Calling this method on an already inactive # beacon will do nothing (but will return a successful response code). - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # Beacon that should be deactivated. A beacon name has the format # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by @@ -183,10 +184,10 @@ module Google # longer be returned from `beaconinfo.getforobserved`. This operation is # permanent -- you will not be able to re-register a beacon with this ID # again. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # Beacon that should be decommissioned. A beacon name has the format # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by @@ -231,10 +232,10 @@ module Google # Deletes the specified beacon including all diagnostics data for the beacon # as well as any attachments on the beacon (including those belonging to # other projects). This operation cannot be undone. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # Beacon that should be deleted. A beacon name has the format # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by @@ -276,10 +277,10 @@ module Google end # Returns detailed information about the specified beacon. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **viewer**, **Is owner** or **Can edit** - # permissions in the Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + # the Google Developers Console project. # Requests may supply an Eddystone-EID beacon name in the form: # `beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID # broadcast by the beacon. The returned `Beacon` object will contain the @@ -329,10 +330,10 @@ module Google # Searches the beacon registry for beacons that match the given search # criteria. Only those beacons that the client has permission to list # will be returned. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **viewer**, **Is owner** or **Can edit** - # permissions in the Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + # the Google Developers Console project. # @param [Fixnum] page_size # The maximum number of records to return for this request, up to a # server-defined upper limit. @@ -405,7 +406,8 @@ module Google # As with any HTTP query string parameter, the whole filter expression must # be URL-encoded. # Example REST request: - # `GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000` + # `GET + # /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000` # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -438,10 +440,10 @@ module Google # Registers a previously unregistered beacon given its `advertisedId`. # These IDs are unique within the system. An ID can be registered only once. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [Google::Apis::ProximitybeaconV1beta1::Beacon] beacon_object # @param [String] project_id # The project id of the project the beacon will be registered to. If @@ -484,10 +486,10 @@ module Google # Changes to the beacon status via this method will be silently ignored. # To update beacon status, use the separate methods on this API for # activation, deactivation, and decommissioning. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # Resource name of this beacon. A beacon name has the format # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by @@ -537,10 +539,10 @@ module Google # should be deleted. If you do not specify `namespacedType`, all your # attachments on the given beacon will be deleted. You also may explicitly # specify `*/*` to delete all. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # The beacon whose attachments should be deleted. A beacon name has the # format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast @@ -601,10 +603,10 @@ module Google # endpoint, while the type can be a string of any characters except for the # forward slash (`/`) up to 100 characters in length. # Attachment data can be up to 1024 bytes long. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] beacon_name # Beacon on which the attachment should be created. A beacon name has the # format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast @@ -654,10 +656,10 @@ module Google # fetch the attachment data via this API. You specify this with the delete # request to control which attachment is removed. This operation cannot be # undone. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **Is owner** or **Can edit** permissions in the - # Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **Is owner** or **Can edit** permissions in the Google + # Developers Console project. # @param [String] attachment_name # The attachment name (`attachmentName`) of # the attachment to remove. For example: @@ -703,10 +705,10 @@ module Google # `namespacedType` query parameter to the request. You must either use # `*/*`, to return all attachments, or the namespace must be one of # the ones returned from the `namespaces` endpoint. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **viewer**, **Is owner** or **Can edit** - # permissions in the Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + # the Google Developers Console project. # @param [String] beacon_name # Beacon whose attachments should be fetched. A beacon name has the # format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast @@ -758,10 +760,10 @@ module Google # List the diagnostics for a single beacon. You can also list diagnostics for # all the beacons owned by your Google Developers Console project by using # the beacon name `beacons/-`. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **viewer**, **Is owner** or **Can edit** - # permissions in the Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + # the Google Developers Console project. # @param [String] beacon_name # Beacon that the diagnostics are for. # @param [String] alert_filter @@ -811,10 +813,10 @@ module Google # Lists all attachment namespaces owned by your Google Developers Console # project. Attachment data associated with a beacon must include a # namespaced type, and the namespace must be owned by your project. - # Authenticate using an [OAuth access token](https://developers.google.com/ - # identity/protocols/OAuth2) - # from a signed-in user with **viewer**, **Is owner** or **Can edit** - # permissions in the Google Developers Console project. + # Authenticate using an [OAuth access + # token](https://developers.google.com/identity/protocols/OAuth2) from a + # signed-in user with **viewer**, **Is owner** or **Can edit** permissions in + # the Google Developers Console project. # @param [String] project_id # The project id to list namespaces under. # Optional. diff --git a/generated/google/apis/remotebuildexecution_v1.rb b/generated/google/apis/remotebuildexecution_v1.rb index c8cd5cff2..c319ff52b 100644 --- a/generated/google/apis/remotebuildexecution_v1.rb +++ b/generated/google/apis/remotebuildexecution_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV1 VERSION = 'V1' - REVISION = '20190917' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/remotebuildexecution_v1/classes.rb b/generated/google/apis/remotebuildexecution_v1/classes.rb index 5b2fbc6e2..b9e1c7365 100644 --- a/generated/google/apis/remotebuildexecution_v1/classes.rb +++ b/generated/google/apis/remotebuildexecution_v1/classes.rb @@ -2085,994 +2085,6 @@ module Google end end - # An ActionResult represents the result of an - # Action being run. - class GoogleDevtoolsRemoteexecutionV1testActionResult - include Google::Apis::Core::Hashable - - # The exit code of the command. - # Corresponds to the JSON property `exitCode` - # @return [Fixnum] - attr_accessor :exit_code - - # The output directories of the action. For each output directory requested - # in the `output_directories` field of the Action, if the corresponding - # directory existed after the action completed, a single entry will be - # present in the output list, which will contain the digest of - # a Tree message containing - # the directory tree, and the path equal exactly to the corresponding Action - # output_directories member. - # As an example, suppose the Action had an output directory `a/b/dir` and the - # execution produced the following contents in `a/b/dir`: a file named `bar` - # and a directory named `foo` with an executable file named `baz`. Then, - # output_directory will contain (hashes shortened for readability): - # ```json - # // OutputDirectory proto: - # ` - # path: "a/b/dir" - # tree_digest: ` - # hash: "4a73bc9d03...", - # size: 55 - # ` - # ` - # // Tree proto with hash "4a73bc9d03..." and size 55: - # ` - # root: ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # children : ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ` - # ``` - # Corresponds to the JSON property `outputDirectories` - # @return [Array] - attr_accessor :output_directories - - # The output files of the action. For each output file requested in the - # `output_files` field of the Action, if the corresponding file existed after - # the action completed, a single entry will be present in the output list. - # If the action does not produce the requested output, or produces a - # directory where a regular file is expected or vice versa, then that output - # will be omitted from the list. The server is free to arrange the output - # list as desired; clients MUST NOT assume that the output list is sorted. - # Corresponds to the JSON property `outputFiles` - # @return [Array] - attr_accessor :output_files - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `stderrDigest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :stderr_digest - - # The standard error buffer of the action. The server will determine, based - # on the size of the buffer, whether to return it in raw form or to return - # a digest in `stderr_digest` that points to the buffer. If neither is set, - # then the buffer is empty. The client SHOULD NOT assume it will get one of - # the raw buffer or a digest on any given request and should be prepared to - # handle either. - # Corresponds to the JSON property `stderrRaw` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :stderr_raw - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `stdoutDigest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :stdout_digest - - # The standard output buffer of the action. The server will determine, based - # on the size of the buffer, whether to return it in raw form or to return - # a digest in `stdout_digest` that points to the buffer. If neither is set, - # then the buffer is empty. The client SHOULD NOT assume it will get one of - # the raw buffer or a digest on any given request and should be prepared to - # handle either. - # Corresponds to the JSON property `stdoutRaw` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :stdout_raw - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @exit_code = args[:exit_code] if args.key?(:exit_code) - @output_directories = args[:output_directories] if args.key?(:output_directories) - @output_files = args[:output_files] if args.key?(:output_files) - @stderr_digest = args[:stderr_digest] if args.key?(:stderr_digest) - @stderr_raw = args[:stderr_raw] if args.key?(:stderr_raw) - @stdout_digest = args[:stdout_digest] if args.key?(:stdout_digest) - @stdout_raw = args[:stdout_raw] if args.key?(:stdout_raw) - end - end - - # A `Command` is the actual command executed by a worker running an - # Action. - # Except as otherwise required, the environment (such as which system - # libraries or binaries are available, and what filesystems are mounted where) - # is defined by and specific to the implementation of the remote execution API. - class GoogleDevtoolsRemoteexecutionV1testCommand - include Google::Apis::Core::Hashable - - # The arguments to the command. The first argument must be the path to the - # executable, which must be either a relative path, in which case it is - # evaluated with respect to the input root, or an absolute path. - # The working directory will always be the input root. - # Corresponds to the JSON property `arguments` - # @return [Array] - attr_accessor :arguments - - # The environment variables to set when running the program. The worker may - # provide its own default environment variables; these defaults can be - # overridden using this field. Additional variables can also be specified. - # In order to ensure that equivalent `Command`s always hash to the same - # value, the environment variables MUST be lexicographically sorted by name. - # Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. - # Corresponds to the JSON property `environmentVariables` - # @return [Array] - attr_accessor :environment_variables - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @arguments = args[:arguments] if args.key?(:arguments) - @environment_variables = args[:environment_variables] if args.key?(:environment_variables) - end - end - - # An `EnvironmentVariable` is one variable to set in the running program's - # environment. - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - include Google::Apis::Core::Hashable - - # The variable name. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The variable value. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @value = args[:value] if args.key?(:value) - end - end - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - class GoogleDevtoolsRemoteexecutionV1testDigest - include Google::Apis::Core::Hashable - - # The hash. In the case of SHA-256, it will always be a lowercase hex string - # exactly 64 characters long. - # Corresponds to the JSON property `hash` - # @return [String] - attr_accessor :hash_prop - - # The size of the blob, in bytes. - # Corresponds to the JSON property `sizeBytes` - # @return [Fixnum] - attr_accessor :size_bytes - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @hash_prop = args[:hash_prop] if args.key?(:hash_prop) - @size_bytes = args[:size_bytes] if args.key?(:size_bytes) - end - end - - # A `Directory` represents a directory node in a file tree, containing zero or - # more children FileNodes - # and DirectoryNodes. - # Each `Node` contains its name in the directory, the digest of its content - # (either a file blob or a `Directory` proto), as well as possibly some - # metadata about the file or directory. - # In order to ensure that two equivalent directory trees hash to the same - # value, the following restrictions MUST be obeyed when constructing a - # a `Directory`: - # - Every child in the directory must have a path of exactly one segment. - # Multiple levels of directory hierarchy may not be collapsed. - # - Each child in the directory must have a unique path segment (file name). - # - The files and directories in the directory must each be sorted in - # lexicographical order by path. The path strings must be sorted by code - # point, equivalently, by UTF-8 bytes. - # A `Directory` that obeys the restrictions is said to be in canonical form. - # As an example, the following could be used for a file named `bar` and a - # directory named `foo` with an executable file named `baz` (hashes shortened - # for readability): - # ```json - # // (Directory proto) - # ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # ` - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ``` - class GoogleDevtoolsRemoteexecutionV1testDirectory - include Google::Apis::Core::Hashable - - # The subdirectories in the directory. - # Corresponds to the JSON property `directories` - # @return [Array] - attr_accessor :directories - - # The files in the directory. - # Corresponds to the JSON property `files` - # @return [Array] - attr_accessor :files - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @directories = args[:directories] if args.key?(:directories) - @files = args[:files] if args.key?(:files) - end - end - - # A `DirectoryNode` represents a child of a - # Directory which is itself - # a `Directory` and its associated metadata. - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # The name of the directory. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @name = args[:name] if args.key?(:name) - end - end - - # Metadata about an ongoing - # execution, which - # will be contained in the metadata - # field of the - # Operation. - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `actionDigest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :action_digest - - # - # Corresponds to the JSON property `stage` - # @return [String] - attr_accessor :stage - - # If set, the client can use this name with - # ByteStream.Read to stream the - # standard error. - # Corresponds to the JSON property `stderrStreamName` - # @return [String] - attr_accessor :stderr_stream_name - - # If set, the client can use this name with - # ByteStream.Read to stream the - # standard output. - # Corresponds to the JSON property `stdoutStreamName` - # @return [String] - attr_accessor :stdout_stream_name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action_digest = args[:action_digest] if args.key?(:action_digest) - @stage = args[:stage] if args.key?(:stage) - @stderr_stream_name = args[:stderr_stream_name] if args.key?(:stderr_stream_name) - @stdout_stream_name = args[:stdout_stream_name] if args.key?(:stdout_stream_name) - end - end - - # The response message for - # Execution.Execute, - # which will be contained in the response - # field of the - # Operation. - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - include Google::Apis::Core::Hashable - - # True if the result was served from cache, false if it was executed. - # Corresponds to the JSON property `cachedResult` - # @return [Boolean] - attr_accessor :cached_result - alias_method :cached_result?, :cached_result - - # An ActionResult represents the result of an - # Action being run. - # Corresponds to the JSON property `result` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testActionResult] - attr_accessor :result - - # An optional list of additional log outputs the server wishes to provide. A - # server can use this to return execution-specific logs however it wishes. - # This is intended primarily to make it easier for users to debug issues that - # may be outside of the actual job execution, such as by identifying the - # worker executing the action or by providing logs from the worker's setup - # phase. The keys SHOULD be human readable so that a client can display them - # to a user. - # Corresponds to the JSON property `serverLogs` - # @return [Hash] - attr_accessor :server_logs - - # The `Status` type defines a logical error model that is suitable for - # different programming environments, including REST APIs and RPC APIs. It is - # used by [gRPC](https://github.com/grpc). Each `Status` message contains - # three pieces of data: error code, error message, and error details. - # You can find out more about this error model and how to work with it in the - # [API Design Guide](https://cloud.google.com/apis/design/errors). - # Corresponds to the JSON property `status` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleRpcStatus] - attr_accessor :status - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @cached_result = args[:cached_result] if args.key?(:cached_result) - @result = args[:result] if args.key?(:result) - @server_logs = args[:server_logs] if args.key?(:server_logs) - @status = args[:status] if args.key?(:status) - end - end - - # A `FileNode` represents a single file and associated metadata. - class GoogleDevtoolsRemoteexecutionV1testFileNode - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # True if file is executable, false otherwise. - # Corresponds to the JSON property `isExecutable` - # @return [Boolean] - attr_accessor :is_executable - alias_method :is_executable?, :is_executable - - # The name of the file. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @is_executable = args[:is_executable] if args.key?(:is_executable) - @name = args[:name] if args.key?(:name) - end - end - - # A `LogFile` is a log stored in the CAS. - class GoogleDevtoolsRemoteexecutionV1testLogFile - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # This is a hint as to the purpose of the log, and is set to true if the log - # is human-readable text that can be usefully displayed to a user, and false - # otherwise. For instance, if a command-line client wishes to print the - # server logs to the terminal for a failed action, this allows it to avoid - # displaying a binary file. - # Corresponds to the JSON property `humanReadable` - # @return [Boolean] - attr_accessor :human_readable - alias_method :human_readable?, :human_readable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @human_readable = args[:human_readable] if args.key?(:human_readable) - end - end - - # An `OutputDirectory` is the output in an `ActionResult` corresponding to a - # directory's full contents rather than a single file. - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # The full path of the directory relative to the working directory. The path - # separator is a forward slash `/`. Since this is a relative path, it MUST - # NOT begin with a leading forward slash. The empty string value is allowed, - # and it denotes the entire working directory. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `treeDigest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :tree_digest - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @path = args[:path] if args.key?(:path) - @tree_digest = args[:tree_digest] if args.key?(:tree_digest) - end - end - - # An `OutputFile` is similar to a - # FileNode, but it is - # tailored for output as part of an `ActionResult`. It allows a full file path - # rather than only a name, and allows the server to include content inline. - # `OutputFile` is binary-compatible with `FileNode`. - class GoogleDevtoolsRemoteexecutionV1testOutputFile - include Google::Apis::Core::Hashable - - # The raw content of the file. - # This field may be used by the server to provide the content of a file - # inline in an - # ActionResult and - # avoid requiring that the client make a separate call to - # [ContentAddressableStorage.GetBlob] to retrieve it. - # The client SHOULD NOT assume that it will get raw content with any request, - # and always be prepared to retrieve it via `digest`. - # Corresponds to the JSON property `content` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :content - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # True if file is executable, false otherwise. - # Corresponds to the JSON property `isExecutable` - # @return [Boolean] - attr_accessor :is_executable - alias_method :is_executable?, :is_executable - - # The full path of the file relative to the input root, including the - # filename. The path separator is a forward slash `/`. Since this is a - # relative path, it MUST NOT begin with a leading forward slash. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @content = args[:content] if args.key?(:content) - @digest = args[:digest] if args.key?(:digest) - @is_executable = args[:is_executable] if args.key?(:is_executable) - @path = args[:path] if args.key?(:path) - end - end - - # An optional Metadata to attach to any RPC request to tell the server about an - # external context of the request. The server may use this for logging or other - # purposes. To use it, the client attaches the header to the call using the - # canonical proto serialization: - # name: google.devtools.remoteexecution.v1test.requestmetadata-bin - # contents: the base64 encoded binary RequestMetadata message. - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - include Google::Apis::Core::Hashable - - # An identifier that ties multiple requests to the same action. - # For example, multiple requests to the CAS, Action Cache, and Execution - # API are used in order to compile foo.cc. - # Corresponds to the JSON property `actionId` - # @return [String] - attr_accessor :action_id - - # An identifier to tie multiple tool invocations together. For example, - # runs of foo_test, bar_test and baz_test on a post-submit of a given patch. - # Corresponds to the JSON property `correlatedInvocationsId` - # @return [String] - attr_accessor :correlated_invocations_id - - # Details for the tool used to call the API. - # Corresponds to the JSON property `toolDetails` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testToolDetails] - attr_accessor :tool_details - - # An identifier that ties multiple actions together to a final result. - # For example, multiple actions are required to build and run foo_test. - # Corresponds to the JSON property `toolInvocationId` - # @return [String] - attr_accessor :tool_invocation_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action_id = args[:action_id] if args.key?(:action_id) - @correlated_invocations_id = args[:correlated_invocations_id] if args.key?(:correlated_invocations_id) - @tool_details = args[:tool_details] if args.key?(:tool_details) - @tool_invocation_id = args[:tool_invocation_id] if args.key?(:tool_invocation_id) - end - end - - # Details for the tool used to call the API. - class GoogleDevtoolsRemoteexecutionV1testToolDetails - include Google::Apis::Core::Hashable - - # Name of the tool, e.g. bazel. - # Corresponds to the JSON property `toolName` - # @return [String] - attr_accessor :tool_name - - # Version of the tool used for the request, e.g. 5.0.3. - # Corresponds to the JSON property `toolVersion` - # @return [String] - attr_accessor :tool_version - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @tool_name = args[:tool_name] if args.key?(:tool_name) - @tool_version = args[:tool_version] if args.key?(:tool_version) - end - end - - # A `Tree` contains all the - # Directory protos in a - # single directory Merkle tree, compressed into one message. - class GoogleDevtoolsRemoteexecutionV1testTree - include Google::Apis::Core::Hashable - - # All the child directories: the directories referred to by the root and, - # recursively, all its children. In order to reconstruct the directory tree, - # the client must take the digests of each of the child directories and then - # build up a tree starting from the `root`. - # Corresponds to the JSON property `children` - # @return [Array] - attr_accessor :children - - # A `Directory` represents a directory node in a file tree, containing zero or - # more children FileNodes - # and DirectoryNodes. - # Each `Node` contains its name in the directory, the digest of its content - # (either a file blob or a `Directory` proto), as well as possibly some - # metadata about the file or directory. - # In order to ensure that two equivalent directory trees hash to the same - # value, the following restrictions MUST be obeyed when constructing a - # a `Directory`: - # - Every child in the directory must have a path of exactly one segment. - # Multiple levels of directory hierarchy may not be collapsed. - # - Each child in the directory must have a unique path segment (file name). - # - The files and directories in the directory must each be sorted in - # lexicographical order by path. The path strings must be sorted by code - # point, equivalently, by UTF-8 bytes. - # A `Directory` that obeys the restrictions is said to be in canonical form. - # As an example, the following could be used for a file named `bar` and a - # directory named `foo` with an executable file named `baz` (hashes shortened - # for readability): - # ```json - # // (Directory proto) - # ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # ` - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ``` - # Corresponds to the JSON property `root` - # @return [Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectory] - attr_accessor :root - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @children = args[:children] if args.key?(:children) - @root = args[:root] if args.key?(:root) - end - end - # AdminTemp is a prelimiary set of administration tasks. It's called "Temp" # because we do not yet know the best way to represent admin tasks; it's # possible that this will be entirely replaced in later versions of this API. @@ -3792,79 +2804,6 @@ module Google @message = args[:message] if args.key?(:message) end end - - # A Change indicates the most recent state of an element. - class GoogleWatcherV1Change - include Google::Apis::Core::Hashable - - # If true, this Change is followed by more Changes that are in the same group - # as this Change. - # Corresponds to the JSON property `continued` - # @return [Boolean] - attr_accessor :continued - alias_method :continued?, :continued - - # The actual change data. This field is present only when `state() == EXISTS` - # or `state() == ERROR`. Please see google.protobuf.Any about how to use - # the Any type. - # Corresponds to the JSON property `data` - # @return [Hash] - attr_accessor :data - - # Name of the element, interpreted relative to the entity's actual - # name. "" refers to the entity itself. The element name is a valid - # UTF-8 string. - # Corresponds to the JSON property `element` - # @return [String] - attr_accessor :element - - # If present, provides a compact representation of all the messages that have - # been received by the caller for the given entity, e.g., it could be a - # sequence number or a multi-part timestamp/version vector. This marker can - # be provided in the Request message, allowing the caller to resume the - # stream watching at a specific point without fetching the initial state. - # Corresponds to the JSON property `resumeMarker` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :resume_marker - - # The state of the `element`. - # Corresponds to the JSON property `state` - # @return [String] - attr_accessor :state - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @continued = args[:continued] if args.key?(:continued) - @data = args[:data] if args.key?(:data) - @element = args[:element] if args.key?(:element) - @resume_marker = args[:resume_marker] if args.key?(:resume_marker) - @state = args[:state] if args.key?(:state) - end - end - - # A batch of Change messages. - class GoogleWatcherV1ChangeBatch - include Google::Apis::Core::Hashable - - # A list of Change messages. - # Corresponds to the JSON property `changes` - # @return [Array] - attr_accessor :changes - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @changes = args[:changes] if args.key?(:changes) - end - end end end end diff --git a/generated/google/apis/remotebuildexecution_v1/representations.rb b/generated/google/apis/remotebuildexecution_v1/representations.rb index 27e617b9d..c6d672e97 100644 --- a/generated/google/apis/remotebuildexecution_v1/representations.rb +++ b/generated/google/apis/remotebuildexecution_v1/representations.rb @@ -262,96 +262,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class GoogleDevtoolsRemoteexecutionV1testActionResult - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testCommand - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDigest - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDirectory - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testFileNode - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testLogFile - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testOutputFile - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testToolDetails - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testTree - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class GoogleDevtoolsRemoteworkersV1test2AdminTemp class Representation < Google::Apis::Core::JsonRepresentation; end @@ -466,18 +376,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class GoogleWatcherV1Change - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleWatcherV1ChangeBatch - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class BuildBazelRemoteExecutionV2Action # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -875,161 +773,6 @@ module Google end end - class GoogleDevtoolsRemoteexecutionV1testActionResult - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :exit_code, as: 'exitCode' - collection :output_directories, as: 'outputDirectories', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testOutputDirectory, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testOutputDirectory::Representation - - collection :output_files, as: 'outputFiles', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testOutputFile, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testOutputFile::Representation - - property :stderr_digest, as: 'stderrDigest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stderr_raw, :base64 => true, as: 'stderrRaw' - property :stdout_digest, as: 'stdoutDigest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stdout_raw, :base64 => true, as: 'stdoutRaw' - end - end - - class GoogleDevtoolsRemoteexecutionV1testCommand - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :arguments, as: 'arguments' - collection :environment_variables, as: 'environmentVariables', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :name, as: 'name' - property :value, as: 'value' - end - end - - class GoogleDevtoolsRemoteexecutionV1testDigest - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :hash_prop, as: 'hash' - property :size_bytes, :numeric_string => true, as: 'sizeBytes' - end - end - - class GoogleDevtoolsRemoteexecutionV1testDirectory - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :directories, as: 'directories', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectoryNode, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectoryNode::Representation - - collection :files, as: 'files', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testFileNode, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testFileNode::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :name, as: 'name' - end - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action_digest, as: 'actionDigest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stage, as: 'stage' - property :stderr_stream_name, as: 'stderrStreamName' - property :stdout_stream_name, as: 'stdoutStreamName' - end - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :cached_result, as: 'cachedResult' - property :result, as: 'result', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testActionResult, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testActionResult::Representation - - hash :server_logs, as: 'serverLogs', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testLogFile, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testLogFile::Representation - - property :status, as: 'status', class: Google::Apis::RemotebuildexecutionV1::GoogleRpcStatus, decorator: Google::Apis::RemotebuildexecutionV1::GoogleRpcStatus::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testFileNode - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :is_executable, as: 'isExecutable' - property :name, as: 'name' - end - end - - class GoogleDevtoolsRemoteexecutionV1testLogFile - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :human_readable, as: 'humanReadable' - end - end - - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :path, as: 'path' - property :tree_digest, as: 'treeDigest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testOutputFile - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :content, :base64 => true, as: 'content' - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :is_executable, as: 'isExecutable' - property :path, as: 'path' - end - end - - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action_id, as: 'actionId' - property :correlated_invocations_id, as: 'correlatedInvocationsId' - property :tool_details, as: 'toolDetails', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testToolDetails, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testToolDetails::Representation - - property :tool_invocation_id, as: 'toolInvocationId' - end - end - - class GoogleDevtoolsRemoteexecutionV1testToolDetails - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :tool_name, as: 'toolName' - property :tool_version, as: 'toolVersion' - end - end - - class GoogleDevtoolsRemoteexecutionV1testTree - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :children, as: 'children', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectory, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectory::Representation - - property :root, as: 'root', class: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectory, decorator: Google::Apis::RemotebuildexecutionV1::GoogleDevtoolsRemoteexecutionV1testDirectory::Representation - - end - end - class GoogleDevtoolsRemoteworkersV1test2AdminTemp # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1210,25 +953,6 @@ module Google property :message, as: 'message' end end - - class GoogleWatcherV1Change - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :continued, as: 'continued' - hash :data, as: 'data' - property :element, as: 'element' - property :resume_marker, :base64 => true, as: 'resumeMarker' - property :state, as: 'state' - end - end - - class GoogleWatcherV1ChangeBatch - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :changes, as: 'changes', class: Google::Apis::RemotebuildexecutionV1::GoogleWatcherV1Change, decorator: Google::Apis::RemotebuildexecutionV1::GoogleWatcherV1Change::Representation - - end - end end end end diff --git a/generated/google/apis/remotebuildexecution_v1/service.rb b/generated/google/apis/remotebuildexecution_v1/service.rb index 528413387..98c6a7281 100644 --- a/generated/google/apis/remotebuildexecution_v1/service.rb +++ b/generated/google/apis/remotebuildexecution_v1/service.rb @@ -284,83 +284,6 @@ module Google command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end - - # Start a streaming RPC to get watch information from the server. - # @param [String] resume_marker - # The `resume_marker` specifies how much of the existing underlying state is - # delivered to the client when the watch request is received by the - # system. The client can set this marker in one of the following ways to get - # different semantics: - # * Parameter is not specified or has the value "". - # Semantics: Fetch initial state. - # The client wants the entity's initial state to be delivered. See the - # description in "Initial State". - # * Parameter is set to the string "now" (UTF-8 encoding). - # Semantics: Fetch new changes only. - # The client just wants to get the changes received by the system after - # the watch point. The system may deliver changes from before the watch - # point as well. - # * Parameter is set to a value received in an earlier - # `Change.resume_marker` field while watching the same entity. - # Semantics: Resume from a specific point. - # The client wants to receive the changes from a specific point; this - # value must correspond to a value received in the `Change.resume_marker` - # field. The system may deliver changes from before the `resume_marker` - # as well. If the system cannot resume the stream from this point (e.g., - # if it is too far behind in the stream), it can raise the - # `FAILED_PRECONDITION` error. - # An implementation MUST support an unspecified parameter and the - # empty string "" marker (initial state fetching) and the "now" marker. - # It need not support resuming from a specific point. - # @param [String] target - # The `target` value **must** be a valid URL path pointing to an entity - # to watch. Note that the service name **must** be - # removed from the target field (e.g., the target field must say - # "/foo/bar", not "myservice.googleapis.com/foo/bar"). A client is - # also allowed to pass system-specific parameters in the URL that - # are only obeyed by some implementations. Some parameters will be - # implementation-specific. However, some have predefined meaning - # and are listed here: - # * recursive = true|false [default=false] - # If set to true, indicates that the client wants to watch all elements - # of entities in the subtree rooted at the entity's name in `target`. For - # descendants that are not the immediate children of the target, the - # `Change.element` will contain slashes. - # Note that some namespaces and entities will not support recursive - # watching. When watching such an entity, a client must not set recursive - # to true. Otherwise, it will receive an `UNIMPLEMENTED` error. - # Normal URL encoding must be used inside `target`. For example, if a query - # parameter name or value, or the non-query parameter portion of `target` - # contains a special character, it must be %-encoded. We recommend that - # clients and servers use their runtime's URL library to produce and consume - # target values. - # @param [String] fields - # Selector specifying which fields to include in a partial response. - # @param [String] quota_user - # Available to use for quota purposes for server-side applications. Can be any - # arbitrary string assigned to a user, but should not exceed 40 characters. - # @param [Google::Apis::RequestOptions] options - # Request-specific options - # - # @yield [result, err] Result & error if block supplied - # @yieldparam result [Google::Apis::RemotebuildexecutionV1::GoogleWatcherV1ChangeBatch] parsed result object - # @yieldparam err [StandardError] error object if request failed - # - # @return [Google::Apis::RemotebuildexecutionV1::GoogleWatcherV1ChangeBatch] - # - # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried - # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification - # @raise [Google::Apis::AuthorizationError] Authorization is required - def watch(resume_marker: nil, target: nil, fields: nil, quota_user: nil, options: nil, &block) - command = make_simple_command(:get, 'v1:watch', options) - command.response_representation = Google::Apis::RemotebuildexecutionV1::GoogleWatcherV1ChangeBatch::Representation - command.response_class = Google::Apis::RemotebuildexecutionV1::GoogleWatcherV1ChangeBatch - command.query['resumeMarker'] = resume_marker unless resume_marker.nil? - command.query['target'] = target unless target.nil? - command.query['fields'] = fields unless fields.nil? - command.query['quotaUser'] = quota_user unless quota_user.nil? - execute_or_queue_command(command, &block) - end protected diff --git a/generated/google/apis/remotebuildexecution_v1alpha.rb b/generated/google/apis/remotebuildexecution_v1alpha.rb index ecef8a060..9ee7c759b 100644 --- a/generated/google/apis/remotebuildexecution_v1alpha.rb +++ b/generated/google/apis/remotebuildexecution_v1alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV1alpha VERSION = 'V1alpha' - REVISION = '20190917' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/remotebuildexecution_v1alpha/classes.rb b/generated/google/apis/remotebuildexecution_v1alpha/classes.rb index dea2c8cc2..a53303b35 100644 --- a/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +++ b/generated/google/apis/remotebuildexecution_v1alpha/classes.rb @@ -2066,994 +2066,6 @@ module Google end end - # An ActionResult represents the result of an - # Action being run. - class GoogleDevtoolsRemoteexecutionV1testActionResult - include Google::Apis::Core::Hashable - - # The exit code of the command. - # Corresponds to the JSON property `exitCode` - # @return [Fixnum] - attr_accessor :exit_code - - # The output directories of the action. For each output directory requested - # in the `output_directories` field of the Action, if the corresponding - # directory existed after the action completed, a single entry will be - # present in the output list, which will contain the digest of - # a Tree message containing - # the directory tree, and the path equal exactly to the corresponding Action - # output_directories member. - # As an example, suppose the Action had an output directory `a/b/dir` and the - # execution produced the following contents in `a/b/dir`: a file named `bar` - # and a directory named `foo` with an executable file named `baz`. Then, - # output_directory will contain (hashes shortened for readability): - # ```json - # // OutputDirectory proto: - # ` - # path: "a/b/dir" - # tree_digest: ` - # hash: "4a73bc9d03...", - # size: 55 - # ` - # ` - # // Tree proto with hash "4a73bc9d03..." and size 55: - # ` - # root: ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # children : ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ` - # ``` - # Corresponds to the JSON property `outputDirectories` - # @return [Array] - attr_accessor :output_directories - - # The output files of the action. For each output file requested in the - # `output_files` field of the Action, if the corresponding file existed after - # the action completed, a single entry will be present in the output list. - # If the action does not produce the requested output, or produces a - # directory where a regular file is expected or vice versa, then that output - # will be omitted from the list. The server is free to arrange the output - # list as desired; clients MUST NOT assume that the output list is sorted. - # Corresponds to the JSON property `outputFiles` - # @return [Array] - attr_accessor :output_files - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `stderrDigest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :stderr_digest - - # The standard error buffer of the action. The server will determine, based - # on the size of the buffer, whether to return it in raw form or to return - # a digest in `stderr_digest` that points to the buffer. If neither is set, - # then the buffer is empty. The client SHOULD NOT assume it will get one of - # the raw buffer or a digest on any given request and should be prepared to - # handle either. - # Corresponds to the JSON property `stderrRaw` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :stderr_raw - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `stdoutDigest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :stdout_digest - - # The standard output buffer of the action. The server will determine, based - # on the size of the buffer, whether to return it in raw form or to return - # a digest in `stdout_digest` that points to the buffer. If neither is set, - # then the buffer is empty. The client SHOULD NOT assume it will get one of - # the raw buffer or a digest on any given request and should be prepared to - # handle either. - # Corresponds to the JSON property `stdoutRaw` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :stdout_raw - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @exit_code = args[:exit_code] if args.key?(:exit_code) - @output_directories = args[:output_directories] if args.key?(:output_directories) - @output_files = args[:output_files] if args.key?(:output_files) - @stderr_digest = args[:stderr_digest] if args.key?(:stderr_digest) - @stderr_raw = args[:stderr_raw] if args.key?(:stderr_raw) - @stdout_digest = args[:stdout_digest] if args.key?(:stdout_digest) - @stdout_raw = args[:stdout_raw] if args.key?(:stdout_raw) - end - end - - # A `Command` is the actual command executed by a worker running an - # Action. - # Except as otherwise required, the environment (such as which system - # libraries or binaries are available, and what filesystems are mounted where) - # is defined by and specific to the implementation of the remote execution API. - class GoogleDevtoolsRemoteexecutionV1testCommand - include Google::Apis::Core::Hashable - - # The arguments to the command. The first argument must be the path to the - # executable, which must be either a relative path, in which case it is - # evaluated with respect to the input root, or an absolute path. - # The working directory will always be the input root. - # Corresponds to the JSON property `arguments` - # @return [Array] - attr_accessor :arguments - - # The environment variables to set when running the program. The worker may - # provide its own default environment variables; these defaults can be - # overridden using this field. Additional variables can also be specified. - # In order to ensure that equivalent `Command`s always hash to the same - # value, the environment variables MUST be lexicographically sorted by name. - # Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. - # Corresponds to the JSON property `environmentVariables` - # @return [Array] - attr_accessor :environment_variables - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @arguments = args[:arguments] if args.key?(:arguments) - @environment_variables = args[:environment_variables] if args.key?(:environment_variables) - end - end - - # An `EnvironmentVariable` is one variable to set in the running program's - # environment. - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - include Google::Apis::Core::Hashable - - # The variable name. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The variable value. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @value = args[:value] if args.key?(:value) - end - end - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - class GoogleDevtoolsRemoteexecutionV1testDigest - include Google::Apis::Core::Hashable - - # The hash. In the case of SHA-256, it will always be a lowercase hex string - # exactly 64 characters long. - # Corresponds to the JSON property `hash` - # @return [String] - attr_accessor :hash_prop - - # The size of the blob, in bytes. - # Corresponds to the JSON property `sizeBytes` - # @return [Fixnum] - attr_accessor :size_bytes - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @hash_prop = args[:hash_prop] if args.key?(:hash_prop) - @size_bytes = args[:size_bytes] if args.key?(:size_bytes) - end - end - - # A `Directory` represents a directory node in a file tree, containing zero or - # more children FileNodes - # and DirectoryNodes. - # Each `Node` contains its name in the directory, the digest of its content - # (either a file blob or a `Directory` proto), as well as possibly some - # metadata about the file or directory. - # In order to ensure that two equivalent directory trees hash to the same - # value, the following restrictions MUST be obeyed when constructing a - # a `Directory`: - # - Every child in the directory must have a path of exactly one segment. - # Multiple levels of directory hierarchy may not be collapsed. - # - Each child in the directory must have a unique path segment (file name). - # - The files and directories in the directory must each be sorted in - # lexicographical order by path. The path strings must be sorted by code - # point, equivalently, by UTF-8 bytes. - # A `Directory` that obeys the restrictions is said to be in canonical form. - # As an example, the following could be used for a file named `bar` and a - # directory named `foo` with an executable file named `baz` (hashes shortened - # for readability): - # ```json - # // (Directory proto) - # ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # ` - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ``` - class GoogleDevtoolsRemoteexecutionV1testDirectory - include Google::Apis::Core::Hashable - - # The subdirectories in the directory. - # Corresponds to the JSON property `directories` - # @return [Array] - attr_accessor :directories - - # The files in the directory. - # Corresponds to the JSON property `files` - # @return [Array] - attr_accessor :files - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @directories = args[:directories] if args.key?(:directories) - @files = args[:files] if args.key?(:files) - end - end - - # A `DirectoryNode` represents a child of a - # Directory which is itself - # a `Directory` and its associated metadata. - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # The name of the directory. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @name = args[:name] if args.key?(:name) - end - end - - # Metadata about an ongoing - # execution, which - # will be contained in the metadata - # field of the - # Operation. - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `actionDigest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :action_digest - - # - # Corresponds to the JSON property `stage` - # @return [String] - attr_accessor :stage - - # If set, the client can use this name with - # ByteStream.Read to stream the - # standard error. - # Corresponds to the JSON property `stderrStreamName` - # @return [String] - attr_accessor :stderr_stream_name - - # If set, the client can use this name with - # ByteStream.Read to stream the - # standard output. - # Corresponds to the JSON property `stdoutStreamName` - # @return [String] - attr_accessor :stdout_stream_name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action_digest = args[:action_digest] if args.key?(:action_digest) - @stage = args[:stage] if args.key?(:stage) - @stderr_stream_name = args[:stderr_stream_name] if args.key?(:stderr_stream_name) - @stdout_stream_name = args[:stdout_stream_name] if args.key?(:stdout_stream_name) - end - end - - # The response message for - # Execution.Execute, - # which will be contained in the response - # field of the - # Operation. - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - include Google::Apis::Core::Hashable - - # True if the result was served from cache, false if it was executed. - # Corresponds to the JSON property `cachedResult` - # @return [Boolean] - attr_accessor :cached_result - alias_method :cached_result?, :cached_result - - # An ActionResult represents the result of an - # Action being run. - # Corresponds to the JSON property `result` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testActionResult] - attr_accessor :result - - # An optional list of additional log outputs the server wishes to provide. A - # server can use this to return execution-specific logs however it wishes. - # This is intended primarily to make it easier for users to debug issues that - # may be outside of the actual job execution, such as by identifying the - # worker executing the action or by providing logs from the worker's setup - # phase. The keys SHOULD be human readable so that a client can display them - # to a user. - # Corresponds to the JSON property `serverLogs` - # @return [Hash] - attr_accessor :server_logs - - # The `Status` type defines a logical error model that is suitable for - # different programming environments, including REST APIs and RPC APIs. It is - # used by [gRPC](https://github.com/grpc). Each `Status` message contains - # three pieces of data: error code, error message, and error details. - # You can find out more about this error model and how to work with it in the - # [API Design Guide](https://cloud.google.com/apis/design/errors). - # Corresponds to the JSON property `status` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleRpcStatus] - attr_accessor :status - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @cached_result = args[:cached_result] if args.key?(:cached_result) - @result = args[:result] if args.key?(:result) - @server_logs = args[:server_logs] if args.key?(:server_logs) - @status = args[:status] if args.key?(:status) - end - end - - # A `FileNode` represents a single file and associated metadata. - class GoogleDevtoolsRemoteexecutionV1testFileNode - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # True if file is executable, false otherwise. - # Corresponds to the JSON property `isExecutable` - # @return [Boolean] - attr_accessor :is_executable - alias_method :is_executable?, :is_executable - - # The name of the file. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @is_executable = args[:is_executable] if args.key?(:is_executable) - @name = args[:name] if args.key?(:name) - end - end - - # A `LogFile` is a log stored in the CAS. - class GoogleDevtoolsRemoteexecutionV1testLogFile - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # This is a hint as to the purpose of the log, and is set to true if the log - # is human-readable text that can be usefully displayed to a user, and false - # otherwise. For instance, if a command-line client wishes to print the - # server logs to the terminal for a failed action, this allows it to avoid - # displaying a binary file. - # Corresponds to the JSON property `humanReadable` - # @return [Boolean] - attr_accessor :human_readable - alias_method :human_readable?, :human_readable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @human_readable = args[:human_readable] if args.key?(:human_readable) - end - end - - # An `OutputDirectory` is the output in an `ActionResult` corresponding to a - # directory's full contents rather than a single file. - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # The full path of the directory relative to the working directory. The path - # separator is a forward slash `/`. Since this is a relative path, it MUST - # NOT begin with a leading forward slash. The empty string value is allowed, - # and it denotes the entire working directory. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `treeDigest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :tree_digest - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @path = args[:path] if args.key?(:path) - @tree_digest = args[:tree_digest] if args.key?(:tree_digest) - end - end - - # An `OutputFile` is similar to a - # FileNode, but it is - # tailored for output as part of an `ActionResult`. It allows a full file path - # rather than only a name, and allows the server to include content inline. - # `OutputFile` is binary-compatible with `FileNode`. - class GoogleDevtoolsRemoteexecutionV1testOutputFile - include Google::Apis::Core::Hashable - - # The raw content of the file. - # This field may be used by the server to provide the content of a file - # inline in an - # ActionResult and - # avoid requiring that the client make a separate call to - # [ContentAddressableStorage.GetBlob] to retrieve it. - # The client SHOULD NOT assume that it will get raw content with any request, - # and always be prepared to retrieve it via `digest`. - # Corresponds to the JSON property `content` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :content - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # True if file is executable, false otherwise. - # Corresponds to the JSON property `isExecutable` - # @return [Boolean] - attr_accessor :is_executable - alias_method :is_executable?, :is_executable - - # The full path of the file relative to the input root, including the - # filename. The path separator is a forward slash `/`. Since this is a - # relative path, it MUST NOT begin with a leading forward slash. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @content = args[:content] if args.key?(:content) - @digest = args[:digest] if args.key?(:digest) - @is_executable = args[:is_executable] if args.key?(:is_executable) - @path = args[:path] if args.key?(:path) - end - end - - # An optional Metadata to attach to any RPC request to tell the server about an - # external context of the request. The server may use this for logging or other - # purposes. To use it, the client attaches the header to the call using the - # canonical proto serialization: - # name: google.devtools.remoteexecution.v1test.requestmetadata-bin - # contents: the base64 encoded binary RequestMetadata message. - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - include Google::Apis::Core::Hashable - - # An identifier that ties multiple requests to the same action. - # For example, multiple requests to the CAS, Action Cache, and Execution - # API are used in order to compile foo.cc. - # Corresponds to the JSON property `actionId` - # @return [String] - attr_accessor :action_id - - # An identifier to tie multiple tool invocations together. For example, - # runs of foo_test, bar_test and baz_test on a post-submit of a given patch. - # Corresponds to the JSON property `correlatedInvocationsId` - # @return [String] - attr_accessor :correlated_invocations_id - - # Details for the tool used to call the API. - # Corresponds to the JSON property `toolDetails` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testToolDetails] - attr_accessor :tool_details - - # An identifier that ties multiple actions together to a final result. - # For example, multiple actions are required to build and run foo_test. - # Corresponds to the JSON property `toolInvocationId` - # @return [String] - attr_accessor :tool_invocation_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action_id = args[:action_id] if args.key?(:action_id) - @correlated_invocations_id = args[:correlated_invocations_id] if args.key?(:correlated_invocations_id) - @tool_details = args[:tool_details] if args.key?(:tool_details) - @tool_invocation_id = args[:tool_invocation_id] if args.key?(:tool_invocation_id) - end - end - - # Details for the tool used to call the API. - class GoogleDevtoolsRemoteexecutionV1testToolDetails - include Google::Apis::Core::Hashable - - # Name of the tool, e.g. bazel. - # Corresponds to the JSON property `toolName` - # @return [String] - attr_accessor :tool_name - - # Version of the tool used for the request, e.g. 5.0.3. - # Corresponds to the JSON property `toolVersion` - # @return [String] - attr_accessor :tool_version - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @tool_name = args[:tool_name] if args.key?(:tool_name) - @tool_version = args[:tool_version] if args.key?(:tool_version) - end - end - - # A `Tree` contains all the - # Directory protos in a - # single directory Merkle tree, compressed into one message. - class GoogleDevtoolsRemoteexecutionV1testTree - include Google::Apis::Core::Hashable - - # All the child directories: the directories referred to by the root and, - # recursively, all its children. In order to reconstruct the directory tree, - # the client must take the digests of each of the child directories and then - # build up a tree starting from the `root`. - # Corresponds to the JSON property `children` - # @return [Array] - attr_accessor :children - - # A `Directory` represents a directory node in a file tree, containing zero or - # more children FileNodes - # and DirectoryNodes. - # Each `Node` contains its name in the directory, the digest of its content - # (either a file blob or a `Directory` proto), as well as possibly some - # metadata about the file or directory. - # In order to ensure that two equivalent directory trees hash to the same - # value, the following restrictions MUST be obeyed when constructing a - # a `Directory`: - # - Every child in the directory must have a path of exactly one segment. - # Multiple levels of directory hierarchy may not be collapsed. - # - Each child in the directory must have a unique path segment (file name). - # - The files and directories in the directory must each be sorted in - # lexicographical order by path. The path strings must be sorted by code - # point, equivalently, by UTF-8 bytes. - # A `Directory` that obeys the restrictions is said to be in canonical form. - # As an example, the following could be used for a file named `bar` and a - # directory named `foo` with an executable file named `baz` (hashes shortened - # for readability): - # ```json - # // (Directory proto) - # ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # ` - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ``` - # Corresponds to the JSON property `root` - # @return [Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectory] - attr_accessor :root - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @children = args[:children] if args.key?(:children) - @root = args[:root] if args.key?(:root) - end - end - # AdminTemp is a prelimiary set of administration tasks. It's called "Temp" # because we do not yet know the best way to represent admin tasks; it's # possible that this will be entirely replaced in later versions of this API. diff --git a/generated/google/apis/remotebuildexecution_v1alpha/representations.rb b/generated/google/apis/remotebuildexecution_v1alpha/representations.rb index 997710dc7..91cbf7e53 100644 --- a/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +++ b/generated/google/apis/remotebuildexecution_v1alpha/representations.rb @@ -256,96 +256,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class GoogleDevtoolsRemoteexecutionV1testActionResult - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testCommand - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDigest - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDirectory - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testFileNode - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testLogFile - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testOutputFile - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testToolDetails - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testTree - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class GoogleDevtoolsRemoteworkersV1test2AdminTemp class Representation < Google::Apis::Core::JsonRepresentation; end @@ -832,161 +742,6 @@ module Google end end - class GoogleDevtoolsRemoteexecutionV1testActionResult - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :exit_code, as: 'exitCode' - collection :output_directories, as: 'outputDirectories', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testOutputDirectory, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testOutputDirectory::Representation - - collection :output_files, as: 'outputFiles', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testOutputFile, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testOutputFile::Representation - - property :stderr_digest, as: 'stderrDigest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stderr_raw, :base64 => true, as: 'stderrRaw' - property :stdout_digest, as: 'stdoutDigest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stdout_raw, :base64 => true, as: 'stdoutRaw' - end - end - - class GoogleDevtoolsRemoteexecutionV1testCommand - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :arguments, as: 'arguments' - collection :environment_variables, as: 'environmentVariables', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :name, as: 'name' - property :value, as: 'value' - end - end - - class GoogleDevtoolsRemoteexecutionV1testDigest - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :hash_prop, as: 'hash' - property :size_bytes, :numeric_string => true, as: 'sizeBytes' - end - end - - class GoogleDevtoolsRemoteexecutionV1testDirectory - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :directories, as: 'directories', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectoryNode, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectoryNode::Representation - - collection :files, as: 'files', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testFileNode, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testFileNode::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :name, as: 'name' - end - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action_digest, as: 'actionDigest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stage, as: 'stage' - property :stderr_stream_name, as: 'stderrStreamName' - property :stdout_stream_name, as: 'stdoutStreamName' - end - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :cached_result, as: 'cachedResult' - property :result, as: 'result', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testActionResult, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testActionResult::Representation - - hash :server_logs, as: 'serverLogs', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testLogFile, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testLogFile::Representation - - property :status, as: 'status', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleRpcStatus, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleRpcStatus::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testFileNode - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :is_executable, as: 'isExecutable' - property :name, as: 'name' - end - end - - class GoogleDevtoolsRemoteexecutionV1testLogFile - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :human_readable, as: 'humanReadable' - end - end - - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :path, as: 'path' - property :tree_digest, as: 'treeDigest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testOutputFile - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :content, :base64 => true, as: 'content' - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :is_executable, as: 'isExecutable' - property :path, as: 'path' - end - end - - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action_id, as: 'actionId' - property :correlated_invocations_id, as: 'correlatedInvocationsId' - property :tool_details, as: 'toolDetails', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testToolDetails, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testToolDetails::Representation - - property :tool_invocation_id, as: 'toolInvocationId' - end - end - - class GoogleDevtoolsRemoteexecutionV1testToolDetails - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :tool_name, as: 'toolName' - property :tool_version, as: 'toolVersion' - end - end - - class GoogleDevtoolsRemoteexecutionV1testTree - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :children, as: 'children', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectory, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectory::Representation - - property :root, as: 'root', class: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectory, decorator: Google::Apis::RemotebuildexecutionV1alpha::GoogleDevtoolsRemoteexecutionV1testDirectory::Representation - - end - end - class GoogleDevtoolsRemoteworkersV1test2AdminTemp # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/remotebuildexecution_v2.rb b/generated/google/apis/remotebuildexecution_v2.rb index e14204c8c..e071b56be 100644 --- a/generated/google/apis/remotebuildexecution_v2.rb +++ b/generated/google/apis/remotebuildexecution_v2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV2 VERSION = 'V2' - REVISION = '20190917' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/remotebuildexecution_v2/classes.rb b/generated/google/apis/remotebuildexecution_v2/classes.rb index 1e43a744e..52e16bc55 100644 --- a/generated/google/apis/remotebuildexecution_v2/classes.rb +++ b/generated/google/apis/remotebuildexecution_v2/classes.rb @@ -2763,994 +2763,6 @@ module Google end end - # An ActionResult represents the result of an - # Action being run. - class GoogleDevtoolsRemoteexecutionV1testActionResult - include Google::Apis::Core::Hashable - - # The exit code of the command. - # Corresponds to the JSON property `exitCode` - # @return [Fixnum] - attr_accessor :exit_code - - # The output directories of the action. For each output directory requested - # in the `output_directories` field of the Action, if the corresponding - # directory existed after the action completed, a single entry will be - # present in the output list, which will contain the digest of - # a Tree message containing - # the directory tree, and the path equal exactly to the corresponding Action - # output_directories member. - # As an example, suppose the Action had an output directory `a/b/dir` and the - # execution produced the following contents in `a/b/dir`: a file named `bar` - # and a directory named `foo` with an executable file named `baz`. Then, - # output_directory will contain (hashes shortened for readability): - # ```json - # // OutputDirectory proto: - # ` - # path: "a/b/dir" - # tree_digest: ` - # hash: "4a73bc9d03...", - # size: 55 - # ` - # ` - # // Tree proto with hash "4a73bc9d03..." and size 55: - # ` - # root: ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # children : ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ` - # ``` - # Corresponds to the JSON property `outputDirectories` - # @return [Array] - attr_accessor :output_directories - - # The output files of the action. For each output file requested in the - # `output_files` field of the Action, if the corresponding file existed after - # the action completed, a single entry will be present in the output list. - # If the action does not produce the requested output, or produces a - # directory where a regular file is expected or vice versa, then that output - # will be omitted from the list. The server is free to arrange the output - # list as desired; clients MUST NOT assume that the output list is sorted. - # Corresponds to the JSON property `outputFiles` - # @return [Array] - attr_accessor :output_files - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `stderrDigest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :stderr_digest - - # The standard error buffer of the action. The server will determine, based - # on the size of the buffer, whether to return it in raw form or to return - # a digest in `stderr_digest` that points to the buffer. If neither is set, - # then the buffer is empty. The client SHOULD NOT assume it will get one of - # the raw buffer or a digest on any given request and should be prepared to - # handle either. - # Corresponds to the JSON property `stderrRaw` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :stderr_raw - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `stdoutDigest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :stdout_digest - - # The standard output buffer of the action. The server will determine, based - # on the size of the buffer, whether to return it in raw form or to return - # a digest in `stdout_digest` that points to the buffer. If neither is set, - # then the buffer is empty. The client SHOULD NOT assume it will get one of - # the raw buffer or a digest on any given request and should be prepared to - # handle either. - # Corresponds to the JSON property `stdoutRaw` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :stdout_raw - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @exit_code = args[:exit_code] if args.key?(:exit_code) - @output_directories = args[:output_directories] if args.key?(:output_directories) - @output_files = args[:output_files] if args.key?(:output_files) - @stderr_digest = args[:stderr_digest] if args.key?(:stderr_digest) - @stderr_raw = args[:stderr_raw] if args.key?(:stderr_raw) - @stdout_digest = args[:stdout_digest] if args.key?(:stdout_digest) - @stdout_raw = args[:stdout_raw] if args.key?(:stdout_raw) - end - end - - # A `Command` is the actual command executed by a worker running an - # Action. - # Except as otherwise required, the environment (such as which system - # libraries or binaries are available, and what filesystems are mounted where) - # is defined by and specific to the implementation of the remote execution API. - class GoogleDevtoolsRemoteexecutionV1testCommand - include Google::Apis::Core::Hashable - - # The arguments to the command. The first argument must be the path to the - # executable, which must be either a relative path, in which case it is - # evaluated with respect to the input root, or an absolute path. - # The working directory will always be the input root. - # Corresponds to the JSON property `arguments` - # @return [Array] - attr_accessor :arguments - - # The environment variables to set when running the program. The worker may - # provide its own default environment variables; these defaults can be - # overridden using this field. Additional variables can also be specified. - # In order to ensure that equivalent `Command`s always hash to the same - # value, the environment variables MUST be lexicographically sorted by name. - # Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. - # Corresponds to the JSON property `environmentVariables` - # @return [Array] - attr_accessor :environment_variables - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @arguments = args[:arguments] if args.key?(:arguments) - @environment_variables = args[:environment_variables] if args.key?(:environment_variables) - end - end - - # An `EnvironmentVariable` is one variable to set in the running program's - # environment. - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - include Google::Apis::Core::Hashable - - # The variable name. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - # The variable value. - # Corresponds to the JSON property `value` - # @return [String] - attr_accessor :value - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @name = args[:name] if args.key?(:name) - @value = args[:value] if args.key?(:value) - end - end - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - class GoogleDevtoolsRemoteexecutionV1testDigest - include Google::Apis::Core::Hashable - - # The hash. In the case of SHA-256, it will always be a lowercase hex string - # exactly 64 characters long. - # Corresponds to the JSON property `hash` - # @return [String] - attr_accessor :hash_prop - - # The size of the blob, in bytes. - # Corresponds to the JSON property `sizeBytes` - # @return [Fixnum] - attr_accessor :size_bytes - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @hash_prop = args[:hash_prop] if args.key?(:hash_prop) - @size_bytes = args[:size_bytes] if args.key?(:size_bytes) - end - end - - # A `Directory` represents a directory node in a file tree, containing zero or - # more children FileNodes - # and DirectoryNodes. - # Each `Node` contains its name in the directory, the digest of its content - # (either a file blob or a `Directory` proto), as well as possibly some - # metadata about the file or directory. - # In order to ensure that two equivalent directory trees hash to the same - # value, the following restrictions MUST be obeyed when constructing a - # a `Directory`: - # - Every child in the directory must have a path of exactly one segment. - # Multiple levels of directory hierarchy may not be collapsed. - # - Each child in the directory must have a unique path segment (file name). - # - The files and directories in the directory must each be sorted in - # lexicographical order by path. The path strings must be sorted by code - # point, equivalently, by UTF-8 bytes. - # A `Directory` that obeys the restrictions is said to be in canonical form. - # As an example, the following could be used for a file named `bar` and a - # directory named `foo` with an executable file named `baz` (hashes shortened - # for readability): - # ```json - # // (Directory proto) - # ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # ` - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ``` - class GoogleDevtoolsRemoteexecutionV1testDirectory - include Google::Apis::Core::Hashable - - # The subdirectories in the directory. - # Corresponds to the JSON property `directories` - # @return [Array] - attr_accessor :directories - - # The files in the directory. - # Corresponds to the JSON property `files` - # @return [Array] - attr_accessor :files - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @directories = args[:directories] if args.key?(:directories) - @files = args[:files] if args.key?(:files) - end - end - - # A `DirectoryNode` represents a child of a - # Directory which is itself - # a `Directory` and its associated metadata. - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # The name of the directory. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @name = args[:name] if args.key?(:name) - end - end - - # Metadata about an ongoing - # execution, which - # will be contained in the metadata - # field of the - # Operation. - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `actionDigest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :action_digest - - # - # Corresponds to the JSON property `stage` - # @return [String] - attr_accessor :stage - - # If set, the client can use this name with - # ByteStream.Read to stream the - # standard error. - # Corresponds to the JSON property `stderrStreamName` - # @return [String] - attr_accessor :stderr_stream_name - - # If set, the client can use this name with - # ByteStream.Read to stream the - # standard output. - # Corresponds to the JSON property `stdoutStreamName` - # @return [String] - attr_accessor :stdout_stream_name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action_digest = args[:action_digest] if args.key?(:action_digest) - @stage = args[:stage] if args.key?(:stage) - @stderr_stream_name = args[:stderr_stream_name] if args.key?(:stderr_stream_name) - @stdout_stream_name = args[:stdout_stream_name] if args.key?(:stdout_stream_name) - end - end - - # The response message for - # Execution.Execute, - # which will be contained in the response - # field of the - # Operation. - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - include Google::Apis::Core::Hashable - - # True if the result was served from cache, false if it was executed. - # Corresponds to the JSON property `cachedResult` - # @return [Boolean] - attr_accessor :cached_result - alias_method :cached_result?, :cached_result - - # An ActionResult represents the result of an - # Action being run. - # Corresponds to the JSON property `result` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testActionResult] - attr_accessor :result - - # An optional list of additional log outputs the server wishes to provide. A - # server can use this to return execution-specific logs however it wishes. - # This is intended primarily to make it easier for users to debug issues that - # may be outside of the actual job execution, such as by identifying the - # worker executing the action or by providing logs from the worker's setup - # phase. The keys SHOULD be human readable so that a client can display them - # to a user. - # Corresponds to the JSON property `serverLogs` - # @return [Hash] - attr_accessor :server_logs - - # The `Status` type defines a logical error model that is suitable for - # different programming environments, including REST APIs and RPC APIs. It is - # used by [gRPC](https://github.com/grpc). Each `Status` message contains - # three pieces of data: error code, error message, and error details. - # You can find out more about this error model and how to work with it in the - # [API Design Guide](https://cloud.google.com/apis/design/errors). - # Corresponds to the JSON property `status` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleRpcStatus] - attr_accessor :status - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @cached_result = args[:cached_result] if args.key?(:cached_result) - @result = args[:result] if args.key?(:result) - @server_logs = args[:server_logs] if args.key?(:server_logs) - @status = args[:status] if args.key?(:status) - end - end - - # A `FileNode` represents a single file and associated metadata. - class GoogleDevtoolsRemoteexecutionV1testFileNode - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # True if file is executable, false otherwise. - # Corresponds to the JSON property `isExecutable` - # @return [Boolean] - attr_accessor :is_executable - alias_method :is_executable?, :is_executable - - # The name of the file. - # Corresponds to the JSON property `name` - # @return [String] - attr_accessor :name - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @is_executable = args[:is_executable] if args.key?(:is_executable) - @name = args[:name] if args.key?(:name) - end - end - - # A `LogFile` is a log stored in the CAS. - class GoogleDevtoolsRemoteexecutionV1testLogFile - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # This is a hint as to the purpose of the log, and is set to true if the log - # is human-readable text that can be usefully displayed to a user, and false - # otherwise. For instance, if a command-line client wishes to print the - # server logs to the terminal for a failed action, this allows it to avoid - # displaying a binary file. - # Corresponds to the JSON property `humanReadable` - # @return [Boolean] - attr_accessor :human_readable - alias_method :human_readable?, :human_readable - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @human_readable = args[:human_readable] if args.key?(:human_readable) - end - end - - # An `OutputDirectory` is the output in an `ActionResult` corresponding to a - # directory's full contents rather than a single file. - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - include Google::Apis::Core::Hashable - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # The full path of the directory relative to the working directory. The path - # separator is a forward slash `/`. Since this is a relative path, it MUST - # NOT begin with a leading forward slash. The empty string value is allowed, - # and it denotes the entire working directory. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `treeDigest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :tree_digest - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @digest = args[:digest] if args.key?(:digest) - @path = args[:path] if args.key?(:path) - @tree_digest = args[:tree_digest] if args.key?(:tree_digest) - end - end - - # An `OutputFile` is similar to a - # FileNode, but it is - # tailored for output as part of an `ActionResult`. It allows a full file path - # rather than only a name, and allows the server to include content inline. - # `OutputFile` is binary-compatible with `FileNode`. - class GoogleDevtoolsRemoteexecutionV1testOutputFile - include Google::Apis::Core::Hashable - - # The raw content of the file. - # This field may be used by the server to provide the content of a file - # inline in an - # ActionResult and - # avoid requiring that the client make a separate call to - # [ContentAddressableStorage.GetBlob] to retrieve it. - # The client SHOULD NOT assume that it will get raw content with any request, - # and always be prepared to retrieve it via `digest`. - # Corresponds to the JSON property `content` - # NOTE: Values are automatically base64 encoded/decoded in the client library. - # @return [String] - attr_accessor :content - - # A content digest. A digest for a given blob consists of the size of the blob - # and its hash. The hash algorithm to use is defined by the server, but servers - # SHOULD use SHA-256. - # The size is considered to be an integral part of the digest and cannot be - # separated. That is, even if the `hash` field is correctly specified but - # `size_bytes` is not, the server MUST reject the request. - # The reason for including the size in the digest is as follows: in a great - # many cases, the server needs to know the size of the blob it is about to work - # with prior to starting an operation with it, such as flattening Merkle tree - # structures or streaming it to a worker. Technically, the server could - # implement a separate metadata store, but this results in a significantly more - # complicated implementation as opposed to having the client specify the size - # up-front (or storing the size along with the digest in every message where - # digests are embedded). This does mean that the API leaks some implementation - # details of (what we consider to be) a reasonable server implementation, but - # we consider this to be a worthwhile tradeoff. - # When a `Digest` is used to refer to a proto message, it always refers to the - # message in binary encoded form. To ensure consistent hashing, clients and - # servers MUST ensure that they serialize messages according to the following - # rules, even if there are alternate valid encodings for the same message. - # - Fields are serialized in tag order. - # - There are no unknown fields. - # - There are no duplicate fields. - # - Fields are serialized according to the default semantics for their type. - # Most protocol buffer implementations will always follow these rules when - # serializing, but care should be taken to avoid shortcuts. For instance, - # concatenating two messages to merge them may produce duplicate fields. - # Corresponds to the JSON property `digest` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest] - attr_accessor :digest - - # True if file is executable, false otherwise. - # Corresponds to the JSON property `isExecutable` - # @return [Boolean] - attr_accessor :is_executable - alias_method :is_executable?, :is_executable - - # The full path of the file relative to the input root, including the - # filename. The path separator is a forward slash `/`. Since this is a - # relative path, it MUST NOT begin with a leading forward slash. - # Corresponds to the JSON property `path` - # @return [String] - attr_accessor :path - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @content = args[:content] if args.key?(:content) - @digest = args[:digest] if args.key?(:digest) - @is_executable = args[:is_executable] if args.key?(:is_executable) - @path = args[:path] if args.key?(:path) - end - end - - # An optional Metadata to attach to any RPC request to tell the server about an - # external context of the request. The server may use this for logging or other - # purposes. To use it, the client attaches the header to the call using the - # canonical proto serialization: - # name: google.devtools.remoteexecution.v1test.requestmetadata-bin - # contents: the base64 encoded binary RequestMetadata message. - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - include Google::Apis::Core::Hashable - - # An identifier that ties multiple requests to the same action. - # For example, multiple requests to the CAS, Action Cache, and Execution - # API are used in order to compile foo.cc. - # Corresponds to the JSON property `actionId` - # @return [String] - attr_accessor :action_id - - # An identifier to tie multiple tool invocations together. For example, - # runs of foo_test, bar_test and baz_test on a post-submit of a given patch. - # Corresponds to the JSON property `correlatedInvocationsId` - # @return [String] - attr_accessor :correlated_invocations_id - - # Details for the tool used to call the API. - # Corresponds to the JSON property `toolDetails` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testToolDetails] - attr_accessor :tool_details - - # An identifier that ties multiple actions together to a final result. - # For example, multiple actions are required to build and run foo_test. - # Corresponds to the JSON property `toolInvocationId` - # @return [String] - attr_accessor :tool_invocation_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @action_id = args[:action_id] if args.key?(:action_id) - @correlated_invocations_id = args[:correlated_invocations_id] if args.key?(:correlated_invocations_id) - @tool_details = args[:tool_details] if args.key?(:tool_details) - @tool_invocation_id = args[:tool_invocation_id] if args.key?(:tool_invocation_id) - end - end - - # Details for the tool used to call the API. - class GoogleDevtoolsRemoteexecutionV1testToolDetails - include Google::Apis::Core::Hashable - - # Name of the tool, e.g. bazel. - # Corresponds to the JSON property `toolName` - # @return [String] - attr_accessor :tool_name - - # Version of the tool used for the request, e.g. 5.0.3. - # Corresponds to the JSON property `toolVersion` - # @return [String] - attr_accessor :tool_version - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @tool_name = args[:tool_name] if args.key?(:tool_name) - @tool_version = args[:tool_version] if args.key?(:tool_version) - end - end - - # A `Tree` contains all the - # Directory protos in a - # single directory Merkle tree, compressed into one message. - class GoogleDevtoolsRemoteexecutionV1testTree - include Google::Apis::Core::Hashable - - # All the child directories: the directories referred to by the root and, - # recursively, all its children. In order to reconstruct the directory tree, - # the client must take the digests of each of the child directories and then - # build up a tree starting from the `root`. - # Corresponds to the JSON property `children` - # @return [Array] - attr_accessor :children - - # A `Directory` represents a directory node in a file tree, containing zero or - # more children FileNodes - # and DirectoryNodes. - # Each `Node` contains its name in the directory, the digest of its content - # (either a file blob or a `Directory` proto), as well as possibly some - # metadata about the file or directory. - # In order to ensure that two equivalent directory trees hash to the same - # value, the following restrictions MUST be obeyed when constructing a - # a `Directory`: - # - Every child in the directory must have a path of exactly one segment. - # Multiple levels of directory hierarchy may not be collapsed. - # - Each child in the directory must have a unique path segment (file name). - # - The files and directories in the directory must each be sorted in - # lexicographical order by path. The path strings must be sorted by code - # point, equivalently, by UTF-8 bytes. - # A `Directory` that obeys the restrictions is said to be in canonical form. - # As an example, the following could be used for a file named `bar` and a - # directory named `foo` with an executable file named `baz` (hashes shortened - # for readability): - # ```json - # // (Directory proto) - # ` - # files: [ - # ` - # name: "bar", - # digest: ` - # hash: "4a73bc9d03...", - # size: 65534 - # ` - # ` - # ], - # directories: [ - # ` - # name: "foo", - # digest: ` - # hash: "4cf2eda940...", - # size: 43 - # ` - # ` - # ] - # ` - # // (Directory proto with hash "4cf2eda940..." and size 43) - # ` - # files: [ - # ` - # name: "baz", - # digest: ` - # hash: "b2c941073e...", - # size: 1294, - # `, - # is_executable: true - # ` - # ] - # ` - # ``` - # Corresponds to the JSON property `root` - # @return [Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectory] - attr_accessor :root - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @children = args[:children] if args.key?(:children) - @root = args[:root] if args.key?(:root) - end - end - # AdminTemp is a prelimiary set of administration tasks. It's called "Temp" # because we do not yet know the best way to represent admin tasks; it's # possible that this will be entirely replaced in later versions of this API. diff --git a/generated/google/apis/remotebuildexecution_v2/representations.rb b/generated/google/apis/remotebuildexecution_v2/representations.rb index 52f120869..2acf7e744 100644 --- a/generated/google/apis/remotebuildexecution_v2/representations.rb +++ b/generated/google/apis/remotebuildexecution_v2/representations.rb @@ -382,96 +382,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class GoogleDevtoolsRemoteexecutionV1testActionResult - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testCommand - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDigest - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDirectory - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testFileNode - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testLogFile - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testOutputFile - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testToolDetails - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - - class GoogleDevtoolsRemoteexecutionV1testTree - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class GoogleDevtoolsRemoteworkersV1test2AdminTemp class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1150,161 +1060,6 @@ module Google end end - class GoogleDevtoolsRemoteexecutionV1testActionResult - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :exit_code, as: 'exitCode' - collection :output_directories, as: 'outputDirectories', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testOutputDirectory, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testOutputDirectory::Representation - - collection :output_files, as: 'outputFiles', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testOutputFile, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testOutputFile::Representation - - property :stderr_digest, as: 'stderrDigest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stderr_raw, :base64 => true, as: 'stderrRaw' - property :stdout_digest, as: 'stdoutDigest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stdout_raw, :base64 => true, as: 'stdoutRaw' - end - end - - class GoogleDevtoolsRemoteexecutionV1testCommand - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :arguments, as: 'arguments' - collection :environment_variables, as: 'environmentVariables', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testCommandEnvironmentVariable - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :name, as: 'name' - property :value, as: 'value' - end - end - - class GoogleDevtoolsRemoteexecutionV1testDigest - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :hash_prop, as: 'hash' - property :size_bytes, :numeric_string => true, as: 'sizeBytes' - end - end - - class GoogleDevtoolsRemoteexecutionV1testDirectory - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :directories, as: 'directories', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectoryNode, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectoryNode::Representation - - collection :files, as: 'files', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testFileNode, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testFileNode::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testDirectoryNode - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :name, as: 'name' - end - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteOperationMetadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action_digest, as: 'actionDigest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :stage, as: 'stage' - property :stderr_stream_name, as: 'stderrStreamName' - property :stdout_stream_name, as: 'stdoutStreamName' - end - end - - class GoogleDevtoolsRemoteexecutionV1testExecuteResponse - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :cached_result, as: 'cachedResult' - property :result, as: 'result', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testActionResult, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testActionResult::Representation - - hash :server_logs, as: 'serverLogs', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testLogFile, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testLogFile::Representation - - property :status, as: 'status', class: Google::Apis::RemotebuildexecutionV2::GoogleRpcStatus, decorator: Google::Apis::RemotebuildexecutionV2::GoogleRpcStatus::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testFileNode - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :is_executable, as: 'isExecutable' - property :name, as: 'name' - end - end - - class GoogleDevtoolsRemoteexecutionV1testLogFile - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :human_readable, as: 'humanReadable' - end - end - - class GoogleDevtoolsRemoteexecutionV1testOutputDirectory - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :path, as: 'path' - property :tree_digest, as: 'treeDigest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - end - end - - class GoogleDevtoolsRemoteexecutionV1testOutputFile - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :content, :base64 => true, as: 'content' - property :digest, as: 'digest', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDigest::Representation - - property :is_executable, as: 'isExecutable' - property :path, as: 'path' - end - end - - class GoogleDevtoolsRemoteexecutionV1testRequestMetadata - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :action_id, as: 'actionId' - property :correlated_invocations_id, as: 'correlatedInvocationsId' - property :tool_details, as: 'toolDetails', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testToolDetails, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testToolDetails::Representation - - property :tool_invocation_id, as: 'toolInvocationId' - end - end - - class GoogleDevtoolsRemoteexecutionV1testToolDetails - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :tool_name, as: 'toolName' - property :tool_version, as: 'toolVersion' - end - end - - class GoogleDevtoolsRemoteexecutionV1testTree - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :children, as: 'children', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectory, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectory::Representation - - property :root, as: 'root', class: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectory, decorator: Google::Apis::RemotebuildexecutionV2::GoogleDevtoolsRemoteexecutionV1testDirectory::Representation - - end - end - class GoogleDevtoolsRemoteworkersV1test2AdminTemp # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/safebrowsing_v4.rb b/generated/google/apis/safebrowsing_v4.rb index 652dd4187..013adeaa5 100644 --- a/generated/google/apis/safebrowsing_v4.rb +++ b/generated/google/apis/safebrowsing_v4.rb @@ -21,12 +21,15 @@ module Google # Safe Browsing API # # Enables client applications to check web resources (most commonly URLs) - # against Google-generated lists of unsafe web resources. + # against Google-generated lists of unsafe web resources. The Safe Browsing APIs + # are for non-commercial use only. If you need to use APIs to detect malicious + # URLs for commercial purposes – meaning “for sale or revenue-generating + # purposes” – please refer to the Web Risk API. # # @see https://developers.google.com/safe-browsing/ module SafebrowsingV4 VERSION = 'V4' - REVISION = '20190520' + REVISION = '20190923' end end end diff --git a/generated/google/apis/safebrowsing_v4/service.rb b/generated/google/apis/safebrowsing_v4/service.rb index b3a8a1cd4..2b0d21dfe 100644 --- a/generated/google/apis/safebrowsing_v4/service.rb +++ b/generated/google/apis/safebrowsing_v4/service.rb @@ -23,7 +23,10 @@ module Google # Safe Browsing API # # Enables client applications to check web resources (most commonly URLs) - # against Google-generated lists of unsafe web resources. + # against Google-generated lists of unsafe web resources. The Safe Browsing APIs + # are for non-commercial use only. If you need to use APIs to detect malicious + # URLs for commercial purposes – meaning “for sale or revenue-generating + # purposes” – please refer to the Web Risk API. # # @example # require 'google/apis/safebrowsing_v4' diff --git a/generated/google/apis/servicebroker_v1.rb b/generated/google/apis/servicebroker_v1.rb index 649fe9634..16b80be22 100644 --- a/generated/google/apis/servicebroker_v1.rb +++ b/generated/google/apis/servicebroker_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/kubernetes-engine/docs/concepts/add-on/service-broker module ServicebrokerV1 VERSION = 'V1' - REVISION = '20190909' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicebroker_v1/classes.rb b/generated/google/apis/servicebroker_v1/classes.rb index c3d50f6f0..3dfcca260 100644 --- a/generated/google/apis/servicebroker_v1/classes.rb +++ b/generated/google/apis/servicebroker_v1/classes.rb @@ -72,25 +72,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -100,17 +109,22 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class GoogleIamV1Policy include Google::Apis::Core::Hashable - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -124,7 +138,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -133,9 +149,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -158,25 +178,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -186,11 +215,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `policy` diff --git a/generated/google/apis/servicebroker_v1alpha1.rb b/generated/google/apis/servicebroker_v1alpha1.rb index 41aff0f23..e744dcfe6 100644 --- a/generated/google/apis/servicebroker_v1alpha1.rb +++ b/generated/google/apis/servicebroker_v1alpha1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/kubernetes-engine/docs/concepts/add-on/service-broker module ServicebrokerV1alpha1 VERSION = 'V1alpha1' - REVISION = '20190909' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicebroker_v1alpha1/classes.rb b/generated/google/apis/servicebroker_v1alpha1/classes.rb index 477486beb..b1f83dd6e 100644 --- a/generated/google/apis/servicebroker_v1alpha1/classes.rb +++ b/generated/google/apis/servicebroker_v1alpha1/classes.rb @@ -776,25 +776,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -804,17 +813,22 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class GoogleIamV1Policy include Google::Apis::Core::Hashable - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -828,7 +842,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -837,9 +853,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -862,25 +882,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -890,11 +919,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `policy` diff --git a/generated/google/apis/servicebroker_v1beta1.rb b/generated/google/apis/servicebroker_v1beta1.rb index 6b4d7bf75..36a19ec90 100644 --- a/generated/google/apis/servicebroker_v1beta1.rb +++ b/generated/google/apis/servicebroker_v1beta1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/kubernetes-engine/docs/concepts/add-on/service-broker module ServicebrokerV1beta1 VERSION = 'V1beta1' - REVISION = '20190909' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicebroker_v1beta1/classes.rb b/generated/google/apis/servicebroker_v1beta1/classes.rb index 11d8c304f..0e0303720 100644 --- a/generated/google/apis/servicebroker_v1beta1/classes.rb +++ b/generated/google/apis/servicebroker_v1beta1/classes.rb @@ -893,25 +893,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -921,17 +930,22 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class GoogleIamV1Policy include Google::Apis::Core::Hashable - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -945,7 +959,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -954,9 +970,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -979,25 +999,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "roles/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -1007,11 +1036,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `policy` diff --git a/generated/google/apis/servicemanagement_v1.rb b/generated/google/apis/servicemanagement_v1.rb index c2638295f..887c9abe2 100644 --- a/generated/google/apis/servicemanagement_v1.rb +++ b/generated/google/apis/servicemanagement_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-management/ module ServicemanagementV1 VERSION = 'V1' - REVISION = '20190914' + REVISION = '20190920' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicemanagement_v1/classes.rb b/generated/google/apis/servicemanagement_v1/classes.rb index 0efcf3eaa..394fbd49a 100644 --- a/generated/google/apis/servicemanagement_v1/classes.rb +++ b/generated/google/apis/servicemanagement_v1/classes.rb @@ -3043,25 +3043,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -3071,11 +3080,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). class Policy @@ -3086,7 +3099,8 @@ module Google # @return [Array] attr_accessor :audit_configs - # Associates a list of `members` to a `role`. + # Associates a list of `members` to a `role`. Optionally may specify a + # `condition` that determines when binding is in effect. # `bindings` with no members will result in an error. # Corresponds to the JSON property `bindings` # @return [Array] @@ -3100,7 +3114,9 @@ module Google # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # If no `etag` is provided in the call to `setIamPolicy`, then the existing - # policy is overwritten. + # policy is overwritten. Due to blind-set semantics of an etag-less policy, + # 'setIamPolicy' will not fail even if either of incoming or stored policy + # does not meet the version requirements. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] @@ -3109,9 +3125,13 @@ module Google # Specifies the format of the policy. # Valid values are 0, 1, and 3. Requests specifying an invalid value will be # rejected. - # Policies with any conditional bindings must specify version 3. Policies - # without any conditional bindings may specify any valid value or leave the - # field unset. + # Operations affecting conditional bindings must specify version 3. This can + # be either setting a conditional policy, modifying a conditional binding, + # or removing a conditional binding from the stored conditional policy. + # Operations on non-conditional policies may specify any valid value or + # leave the field unset. + # If no etag is provided in the call to `setIamPolicy`, any version + # compliance checks on the incoming and/or stored policy is skipped. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -3848,25 +3868,34 @@ module Google # Defines an Identity and Access Management (IAM) policy. It is used to # specify access control policies for Cloud Platform resources. - # A `Policy` consists of a list of `bindings`. A `binding` binds a list of - # `members` to a `role`, where the members can be user accounts, Google groups, - # Google domains, and service accounts. A `role` is a named list of permissions - # defined by IAM. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions (defined by IAM or configured by users). A `binding` can + # optionally specify a `condition`, which is a logic expression that further + # constrains the role binding based on attributes about the request and/or + # target resource. # **JSON Example** # ` # "bindings": [ # ` - # "role": "roles/owner", + # "role": "role/resourcemanager.organizationAdmin", # "members": [ # "user:mike@example.com", # "group:admins@example.com", # "domain:google.com", - # "serviceAccount:my-other-app@appspot.gserviceaccount.com" + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" # ] # `, # ` - # "role": "roles/viewer", - # "members": ["user:sean@example.com"] + # "role": "roles/resourcemanager.organizationViewer", + # "members": ["user:eve@example.com"], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < + # timestamp('2020-10-01T00:00:00.000Z')", + # ` # ` # ] # ` @@ -3876,11 +3905,15 @@ module Google # - user:mike@example.com # - group:admins@example.com # - domain:google.com - # - serviceAccount:my-other-app@appspot.gserviceaccount.com - # role: roles/owner + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin # - members: - # - user:sean@example.com - # role: roles/viewer + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') # For a description of IAM and its features, see the # [IAM developer's guide](https://cloud.google.com/iam/docs). # Corresponds to the JSON property `policy` diff --git a/generated/google/apis/testing_v1.rb b/generated/google/apis/testing_v1.rb index 89a6a7dd1..ff2980d93 100644 --- a/generated/google/apis/testing_v1.rb +++ b/generated/google/apis/testing_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://developers.google.com/cloud-test-lab/ module TestingV1 VERSION = 'V1' - REVISION = '20190915' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/testing_v1/classes.rb b/generated/google/apis/testing_v1/classes.rb index d6dd7c349..2e8fd4577 100644 --- a/generated/google/apis/testing_v1/classes.rb +++ b/generated/google/apis/testing_v1/classes.rb @@ -1296,6 +1296,40 @@ module Google end end + # A test of an iOS application that implements one or more game loop scenarios. + # This test type accepts an archived application (.ipa file) and a list of + # integer scenarios that will be executed on the app sequentially. + class IosTestLoop + include Google::Apis::Core::Hashable + + # Output only. The bundle id for the application under test. + # Corresponds to the JSON property `appBundleId` + # @return [String] + attr_accessor :app_bundle_id + + # A reference to a file, used for user inputs. + # Corresponds to the JSON property `appIpa` + # @return [Google::Apis::TestingV1::FileReference] + attr_accessor :app_ipa + + # The list of scenarios that should be run during the test. Defaults to the + # single scenario 0 if unspecified. + # Corresponds to the JSON property `scenarios` + # @return [Array] + attr_accessor :scenarios + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @app_bundle_id = args[:app_bundle_id] if args.key?(:app_bundle_id) + @app_ipa = args[:app_ipa] if args.key?(:app_ipa) + @scenarios = args[:scenarios] if args.key?(:scenarios) + end + end + # A description of how to set up an iOS device prior to running the test. class IosTestSetup include Google::Apis::Core::Hashable @@ -2107,6 +2141,13 @@ module Google attr_accessor :disable_video_recording alias_method :disable_video_recording?, :disable_video_recording + # A test of an iOS application that implements one or more game loop scenarios. + # This test type accepts an archived application (.ipa file) and a list of + # integer scenarios that will be executed on the app sequentially. + # Corresponds to the JSON property `iosTestLoop` + # @return [Google::Apis::TestingV1::IosTestLoop] + attr_accessor :ios_test_loop + # A description of how to set up an iOS device prior to running the test. # Corresponds to the JSON property `iosTestSetup` # @return [Google::Apis::TestingV1::IosTestSetup] @@ -2145,6 +2186,7 @@ module Google @android_test_loop = args[:android_test_loop] if args.key?(:android_test_loop) @disable_performance_metrics = args[:disable_performance_metrics] if args.key?(:disable_performance_metrics) @disable_video_recording = args[:disable_video_recording] if args.key?(:disable_video_recording) + @ios_test_loop = args[:ios_test_loop] if args.key?(:ios_test_loop) @ios_test_setup = args[:ios_test_setup] if args.key?(:ios_test_setup) @ios_xc_test = args[:ios_xc_test] if args.key?(:ios_xc_test) @test_setup = args[:test_setup] if args.key?(:test_setup) diff --git a/generated/google/apis/testing_v1/representations.rb b/generated/google/apis/testing_v1/representations.rb index 05cd0a5d4..a44a46998 100644 --- a/generated/google/apis/testing_v1/representations.rb +++ b/generated/google/apis/testing_v1/representations.rb @@ -226,6 +226,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class IosTestLoop + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class IosTestSetup class Representation < Google::Apis::Core::JsonRepresentation; end @@ -738,6 +744,16 @@ module Google end end + class IosTestLoop + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :app_bundle_id, as: 'appBundleId' + property :app_ipa, as: 'appIpa', class: Google::Apis::TestingV1::FileReference, decorator: Google::Apis::TestingV1::FileReference::Representation + + collection :scenarios, as: 'scenarios' + end + end + class IosTestSetup # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -970,6 +986,8 @@ module Google property :disable_performance_metrics, as: 'disablePerformanceMetrics' property :disable_video_recording, as: 'disableVideoRecording' + property :ios_test_loop, as: 'iosTestLoop', class: Google::Apis::TestingV1::IosTestLoop, decorator: Google::Apis::TestingV1::IosTestLoop::Representation + property :ios_test_setup, as: 'iosTestSetup', class: Google::Apis::TestingV1::IosTestSetup, decorator: Google::Apis::TestingV1::IosTestSetup::Representation property :ios_xc_test, as: 'iosXcTest', class: Google::Apis::TestingV1::IosXcTest, decorator: Google::Apis::TestingV1::IosXcTest::Representation diff --git a/generated/google/apis/texttospeech_v1.rb b/generated/google/apis/texttospeech_v1.rb index f8efc882b..e3b7cefaf 100644 --- a/generated/google/apis/texttospeech_v1.rb +++ b/generated/google/apis/texttospeech_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/text-to-speech/ module TexttospeechV1 VERSION = 'V1' - REVISION = '20190628' + REVISION = '20190920' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/texttospeech_v1/classes.rb b/generated/google/apis/texttospeech_v1/classes.rb index b558eac68..a4027b02f 100644 --- a/generated/google/apis/texttospeech_v1/classes.rb +++ b/generated/google/apis/texttospeech_v1/classes.rb @@ -48,7 +48,7 @@ module Google # @return [Float] attr_accessor :pitch - # The synthesis sample rate (in hertz) for this audio. Optional. When this is + # Optional. The synthesis sample rate (in hertz) for this audio. When this is # specified in SynthesizeSpeechRequest, if this is different from the voice's # natural sample rate, then the synthesizer will honor this request by # converting to the desired sample rate (which might result in worse audio @@ -245,9 +245,10 @@ module Google class VoiceSelectionParams include Google::Apis::Core::Hashable - # The language (and optionally also the region) of the voice expressed as a + # Required. The language (and potentially also the region) of the voice + # expressed as a # [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. - # "en-US". Required. This should not include a script tag (e.g. use + # "en-US". This should not include a script tag (e.g. use # "cmn-cn" rather than "cmn-Hant-cn"), because the script will be inferred # from the input provided in the SynthesisInput. The TTS service # will use this parameter to help choose an appropriate voice. Note that @@ -260,13 +261,13 @@ module Google # @return [String] attr_accessor :language_code - # The name of the voice. Optional; if not set, the service will choose a + # The name of the voice. If not set, the service will choose a # voice based on the other parameters such as language_code and gender. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name - # The preferred gender of the voice. Optional; if not set, the service will + # The preferred gender of the voice. If not set, the service will # choose a voice based on the other parameters such as language_code and # name. Note that this is only a preference, not requirement; if a # voice of the appropriate gender is not available, the synthesizer should diff --git a/generated/google/apis/texttospeech_v1/service.rb b/generated/google/apis/texttospeech_v1/service.rb index e21c115c4..83d59ee57 100644 --- a/generated/google/apis/texttospeech_v1/service.rb +++ b/generated/google/apis/texttospeech_v1/service.rb @@ -80,7 +80,7 @@ module Google # Returns a list of Voice supported for synthesis. # @param [String] language_code - # Optional (but recommended) + # Optional. Recommended. # [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If # specified, the ListVoices call will only return voices that can be used to # synthesize this language_code. E.g. when specifying "en-NZ", you will get diff --git a/generated/google/apis/texttospeech_v1beta1.rb b/generated/google/apis/texttospeech_v1beta1.rb index c75662598..85537946d 100644 --- a/generated/google/apis/texttospeech_v1beta1.rb +++ b/generated/google/apis/texttospeech_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/text-to-speech/ module TexttospeechV1beta1 VERSION = 'V1beta1' - REVISION = '20190628' + REVISION = '20190920' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/texttospeech_v1beta1/classes.rb b/generated/google/apis/texttospeech_v1beta1/classes.rb index 509930cad..ac770122a 100644 --- a/generated/google/apis/texttospeech_v1beta1/classes.rb +++ b/generated/google/apis/texttospeech_v1beta1/classes.rb @@ -48,7 +48,7 @@ module Google # @return [Float] attr_accessor :pitch - # The synthesis sample rate (in hertz) for this audio. Optional. When this is + # Optional. The synthesis sample rate (in hertz) for this audio. When this is # specified in SynthesizeSpeechRequest, if this is different from the voice's # natural sample rate, then the synthesizer will honor this request by # converting to the desired sample rate (which might result in worse audio @@ -245,9 +245,10 @@ module Google class VoiceSelectionParams include Google::Apis::Core::Hashable - # The language (and optionally also the region) of the voice expressed as a + # Required. The language (and potentially also the region) of the voice + # expressed as a # [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. - # "en-US". Required. This should not include a script tag (e.g. use + # "en-US". This should not include a script tag (e.g. use # "cmn-cn" rather than "cmn-Hant-cn"), because the script will be inferred # from the input provided in the SynthesisInput. The TTS service # will use this parameter to help choose an appropriate voice. Note that @@ -260,13 +261,13 @@ module Google # @return [String] attr_accessor :language_code - # The name of the voice. Optional; if not set, the service will choose a + # The name of the voice. If not set, the service will choose a # voice based on the other parameters such as language_code and gender. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name - # The preferred gender of the voice. Optional; if not set, the service will + # The preferred gender of the voice. If not set, the service will # choose a voice based on the other parameters such as language_code and # name. Note that this is only a preference, not requirement; if a # voice of the appropriate gender is not available, the synthesizer should diff --git a/generated/google/apis/texttospeech_v1beta1/service.rb b/generated/google/apis/texttospeech_v1beta1/service.rb index 95ac11208..eec4c99b3 100644 --- a/generated/google/apis/texttospeech_v1beta1/service.rb +++ b/generated/google/apis/texttospeech_v1beta1/service.rb @@ -80,7 +80,7 @@ module Google # Returns a list of Voice supported for synthesis. # @param [String] language_code - # Optional (but recommended) + # Optional. Recommended. # [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If # specified, the ListVoices call will only return voices that can be used to # synthesize this language_code. E.g. when specifying "en-NZ", you will get diff --git a/generated/google/apis/toolresults_v1beta3.rb b/generated/google/apis/toolresults_v1beta3.rb index f7500bce7..d90c2ca84 100644 --- a/generated/google/apis/toolresults_v1beta3.rb +++ b/generated/google/apis/toolresults_v1beta3.rb @@ -25,7 +25,7 @@ module Google # @see https://firebase.google.com/docs/test-lab/ module ToolresultsV1beta3 VERSION = 'V1beta3' - REVISION = '20190923' + REVISION = '20190924' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/toolresults_v1beta3/classes.rb b/generated/google/apis/toolresults_v1beta3/classes.rb index f9edb1201..9d2feeda2 100644 --- a/generated/google/apis/toolresults_v1beta3/classes.rb +++ b/generated/google/apis/toolresults_v1beta3/classes.rb @@ -1893,7 +1893,7 @@ module Google # 100 to COMPLETE # A Step can be updated until its state is set to COMPLETE at which points it # becomes immutable. - # Next tag: 25 + # Next tag: 27 class Step include Google::Apis::Core::Hashable