diff --git a/generated/google/apis/androidenterprise_v1.rb b/generated/google/apis/androidenterprise_v1.rb index 5d72e1ead..52850f552 100644 --- a/generated/google/apis/androidenterprise_v1.rb +++ b/generated/google/apis/androidenterprise_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/android/work/play/emm-api module AndroidenterpriseV1 VERSION = 'V1' - REVISION = '20190908' + REVISION = '20191201' # Manage corporate Android devices AUTH_ANDROIDENTERPRISE = 'https://www.googleapis.com/auth/androidenterprise' diff --git a/generated/google/apis/androidenterprise_v1/classes.rb b/generated/google/apis/androidenterprise_v1/classes.rb index 22e88c79a..1b857e329 100644 --- a/generated/google/apis/androidenterprise_v1/classes.rb +++ b/generated/google/apis/androidenterprise_v1/classes.rb @@ -610,7 +610,8 @@ module Google # The minimum version of the app. If a lower version of the app is installed, # then the app will be auto-updated according to the auto-install constraints, - # instead of waiting for the regular auto-update. + # instead of waiting for the regular auto-update. You can set a minimum version + # code for at most 20 apps per device. # Corresponds to the JSON property `minimumVersionCode` # @return [Fixnum] attr_accessor :minimum_version_code diff --git a/generated/google/apis/androidpublisher_v3.rb b/generated/google/apis/androidpublisher_v3.rb index ffdc1c460..7b5003149 100644 --- a/generated/google/apis/androidpublisher_v3.rb +++ b/generated/google/apis/androidpublisher_v3.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/android-publisher module AndroidpublisherV3 VERSION = 'V3' - REVISION = '20191113' + REVISION = '20191202' # View and manage your Google Play Developer account AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher' diff --git a/generated/google/apis/androidpublisher_v3/classes.rb b/generated/google/apis/androidpublisher_v3/classes.rb index 18e96569e..58b233391 100644 --- a/generated/google/apis/androidpublisher_v3/classes.rb +++ b/generated/google/apis/androidpublisher_v3/classes.rb @@ -1092,37 +1092,6 @@ module Google end end - # - class MendelSampling - include Google::Apis::Core::Hashable - - # - # Corresponds to the JSON property `modRanges` - # @return [Array] - attr_accessor :mod_ranges - - # - # Corresponds to the JSON property `modulus` - # @return [Fixnum] - attr_accessor :modulus - - # - # Corresponds to the JSON property `salt` - # @return [Fixnum] - attr_accessor :salt - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @mod_ranges = args[:mod_ranges] if args.key?(:mod_ranges) - @modulus = args[:modulus] if args.key?(:modulus) - @salt = args[:salt] if args.key?(:salt) - end - end - # class ModRange include Google::Apis::Core::Hashable @@ -1491,6 +1460,37 @@ module Google end end + # + class Sampling + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `modRanges` + # @return [Array] + attr_accessor :mod_ranges + + # + # Corresponds to the JSON property `modulus` + # @return [Fixnum] + attr_accessor :modulus + + # + # Corresponds to the JSON property `salt` + # @return [Fixnum] + attr_accessor :salt + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @mod_ranges = args[:mod_ranges] if args.key?(:mod_ranges) + @modulus = args[:modulus] if args.key?(:modulus) + @salt = args[:salt] if args.key?(:salt) + end + end + # class Season include Google::Apis::Core::Hashable @@ -2007,7 +2007,7 @@ module Google # # Corresponds to the JSON property `sampling` - # @return [Google::Apis::AndroidpublisherV3::MendelSampling] + # @return [Google::Apis::AndroidpublisherV3::Sampling] attr_accessor :sampling # The desired status of this release. diff --git a/generated/google/apis/androidpublisher_v3/representations.rb b/generated/google/apis/androidpublisher_v3/representations.rb index f81276a53..e073d4459 100644 --- a/generated/google/apis/androidpublisher_v3/representations.rb +++ b/generated/google/apis/androidpublisher_v3/representations.rb @@ -214,12 +214,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class MendelSampling - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class ModRange class Representation < Google::Apis::Core::JsonRepresentation; end @@ -292,6 +286,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Sampling + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Season class Representation < Google::Apis::Core::JsonRepresentation; end @@ -710,16 +710,6 @@ module Google end end - class MendelSampling - # @private - class Representation < Google::Apis::Core::JsonRepresentation - collection :mod_ranges, as: 'modRanges', class: Google::Apis::AndroidpublisherV3::ModRange, decorator: Google::Apis::AndroidpublisherV3::ModRange::Representation - - property :modulus, :numeric_string => true, as: 'modulus' - property :salt, as: 'salt' - end - end - class ModRange # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -832,6 +822,16 @@ module Google end end + class Sampling + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :mod_ranges, as: 'modRanges', class: Google::Apis::AndroidpublisherV3::ModRange, decorator: Google::Apis::AndroidpublisherV3::ModRange::Representation + + property :modulus, :numeric_string => true, as: 'modulus' + property :salt, as: 'salt' + end + end + class Season # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -966,7 +966,7 @@ module Google property :name, as: 'name' collection :release_notes, as: 'releaseNotes', class: Google::Apis::AndroidpublisherV3::LocalizedText, decorator: Google::Apis::AndroidpublisherV3::LocalizedText::Representation - property :sampling, as: 'sampling', class: Google::Apis::AndroidpublisherV3::MendelSampling, decorator: Google::Apis::AndroidpublisherV3::MendelSampling::Representation + property :sampling, as: 'sampling', class: Google::Apis::AndroidpublisherV3::Sampling, decorator: Google::Apis::AndroidpublisherV3::Sampling::Representation property :status, as: 'status' property :user_fraction, as: 'userFraction' diff --git a/generated/google/apis/bigquery_v2.rb b/generated/google/apis/bigquery_v2.rb index cd0b632a3..23302657e 100644 --- a/generated/google/apis/bigquery_v2.rb +++ b/generated/google/apis/bigquery_v2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryV2 VERSION = 'V2' - REVISION = '20191105' + REVISION = '20191201' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigquery_v2/classes.rb b/generated/google/apis/bigquery_v2/classes.rb index 321fa15f7..287f88335 100644 --- a/generated/google/apis/bigquery_v2/classes.rb +++ b/generated/google/apis/bigquery_v2/classes.rb @@ -3681,7 +3681,8 @@ module Google # Custom encryption configuration (e.g., Cloud KMS keys). This shows the # encryption configuration of the model data while stored in BigQuery - # storage. + # storage. This field can be used with PatchModel to update encryption key + # for an already encrypted model. # Corresponds to the JSON property `encryptionConfiguration` # @return [Google::Apis::BigqueryV2::EncryptionConfiguration] attr_accessor :encryption_configuration diff --git a/generated/google/apis/bigqueryconnection_v1beta1.rb b/generated/google/apis/bigqueryconnection_v1beta1.rb index 839298bdf..a9fe837eb 100644 --- a/generated/google/apis/bigqueryconnection_v1beta1.rb +++ b/generated/google/apis/bigqueryconnection_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryconnectionV1beta1 VERSION = 'V1beta1' - REVISION = '20191113' + REVISION = '20191202' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigqueryconnection_v1beta1/classes.rb b/generated/google/apis/bigqueryconnection_v1beta1/classes.rb index 585175c05..cf731a9f5 100644 --- a/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +++ b/generated/google/apis/bigqueryconnection_v1beta1/classes.rb @@ -162,6 +162,23 @@ module Google # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` @@ -215,6 +232,11 @@ module Google class CloudSqlProperties include Google::Apis::Core::Hashable + # Credential info for the Cloud SQL. + # Corresponds to the JSON property `credential` + # @return [Google::Apis::BigqueryconnectionV1beta1::CloudSqlCredential] + attr_accessor :credential + # Database name. # Corresponds to the JSON property `database` # @return [String] @@ -236,6 +258,7 @@ module Google # Update properties of this object def update!(**args) + @credential = args[:credential] if args.key?(:credential) @database = args[:database] if args.key?(:database) @instance_id = args[:instance_id] if args.key?(:instance_id) @type = args[:type] if args.key?(:type) @@ -453,16 +476,18 @@ module Google end end - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -480,13 +505,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -501,8 +528,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). class Policy include Google::Apis::Core::Hashable @@ -511,9 +540,9 @@ module Google # @return [Array] attr_accessor :audit_configs - # 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. + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings @@ -525,26 +554,31 @@ module Google # conditions: An `etag` is returned in the response to `getIamPolicy`, and # 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. Due to blind-set semantics of an etag-less policy, - # 'setIamPolicy' will not fail even if the incoming policy version does not - # meet the requirements for modifying the stored policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. - # Valid values are 0, 1, and 3. Requests specifying an invalid value will be - # rejected. - # Operations affecting conditional bindings must specify version 3. This can - # be either setting a conditional policy, modifying a conditional binding, - # or removing a binding (conditional or unconditional) 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`, version compliance - # checks against the stored policy is skipped. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -566,16 +600,18 @@ module Google class SetIamPolicyRequest include Google::Apis::Core::Hashable - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -593,13 +629,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -614,8 +652,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::BigqueryconnectionV1beta1::Policy] attr_accessor :policy diff --git a/generated/google/apis/bigqueryconnection_v1beta1/representations.rb b/generated/google/apis/bigqueryconnection_v1beta1/representations.rb index b08350e58..369fbb6fe 100644 --- a/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +++ b/generated/google/apis/bigqueryconnection_v1beta1/representations.rb @@ -156,6 +156,8 @@ module Google class CloudSqlProperties # @private class Representation < Google::Apis::Core::JsonRepresentation + property :credential, as: 'credential', class: Google::Apis::BigqueryconnectionV1beta1::CloudSqlCredential, decorator: Google::Apis::BigqueryconnectionV1beta1::CloudSqlCredential::Representation + property :database, as: 'database' property :instance_id, as: 'instanceId' property :type, as: 'type' diff --git a/generated/google/apis/bigqueryconnection_v1beta1/service.rb b/generated/google/apis/bigqueryconnection_v1beta1/service.rb index 88faca5ba..b0288810e 100644 --- a/generated/google/apis/bigqueryconnection_v1beta1/service.rb +++ b/generated/google/apis/bigqueryconnection_v1beta1/service.rb @@ -49,7 +49,7 @@ module Google # Creates a new connection. # @param [String] parent - # Parent resource name. + # Required. Parent resource name. # Must be in the format `projects/`project_id`/locations/`location_id`` # @param [Google::Apis::BigqueryconnectionV1beta1::Connection] connection_object # @param [String] connection_id @@ -86,7 +86,7 @@ module Google # Deletes connection and associated credential. # @param [String] name - # Name of the deleted connection, for example: + # Required. Name of the deleted connection, for example: # `projects/`project_id`/locations/`location_id`/connections/`connection_id`` # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -117,7 +117,7 @@ module Google # Returns specified connection. # @param [String] name - # Name of the requested connection, for example: + # Required. Name of the requested connection, for example: # `projects/`project_id`/locations/`location_id`/connections/`connection_id`` # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -184,10 +184,10 @@ module Google # Returns a list of connections in the given project. # @param [String] parent - # Parent resource name. + # Required. Parent resource name. # Must be in the form: `projects/`project_id`/locations/`location_id`` # @param [Fixnum] max_results - # Maximum number of results per page. + # Required. Maximum number of results per page. # @param [String] page_token # Page token. # @param [String] fields @@ -222,11 +222,11 @@ module Google # Updates the specified connection. For security reasons, also resets # credential if connection properties are in the update field mask. # @param [String] name - # Name of the connection to update, for example: + # Required. Name of the connection to update, for example: # `projects/`project_id`/locations/`location_id`/connections/`connection_id`` # @param [Google::Apis::BigqueryconnectionV1beta1::Connection] connection_object # @param [String] update_mask - # Update mask for the connection fields to be updated. + # Required. Update mask for the connection fields to be updated. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -334,7 +334,7 @@ module Google # Sets the credential for the specified connection. # @param [String] name - # Name of the connection, for example: + # Required. Name of the connection, for example: # `projects/`project_id`/locations/`location_id`/connections/`connection_id`/ # credential` # @param [Google::Apis::BigqueryconnectionV1beta1::ConnectionCredential] connection_credential_object diff --git a/generated/google/apis/binaryauthorization_v1.rb b/generated/google/apis/binaryauthorization_v1.rb index 311652843..6236c9996 100644 --- a/generated/google/apis/binaryauthorization_v1.rb +++ b/generated/google/apis/binaryauthorization_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/binary-authorization/ module BinaryauthorizationV1 VERSION = 'V1' - REVISION = '20191115' + REVISION = '20191206' # 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/binaryauthorization_v1/classes.rb b/generated/google/apis/binaryauthorization_v1/classes.rb index ee58dbdc7..a5e61c82a 100644 --- a/generated/google/apis/binaryauthorization_v1/classes.rb +++ b/generated/google/apis/binaryauthorization_v1/classes.rb @@ -206,6 +206,23 @@ module Google # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` @@ -296,16 +313,18 @@ module Google end end - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -323,13 +342,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -344,14 +365,16 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). class IamPolicy include Google::Apis::Core::Hashable - # 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. + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings @@ -363,26 +386,31 @@ module Google # conditions: An `etag` is returned in the response to `getIamPolicy`, and # 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. Due to blind-set semantics of an etag-less policy, - # 'setIamPolicy' will not fail even if the incoming policy version does not - # meet the requirements for modifying the stored policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. - # Valid values are 0, 1, and 3. Requests specifying an invalid value will be - # rejected. - # Operations affecting conditional bindings must specify version 3. This can - # be either setting a conditional policy, modifying a conditional binding, - # or removing a binding (conditional or unconditional) 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`, version compliance - # checks against the stored policy is skipped. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -536,16 +564,18 @@ module Google class SetIamPolicyRequest include Google::Apis::Core::Hashable - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -563,13 +593,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -584,8 +616,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::BinaryauthorizationV1::IamPolicy] attr_accessor :policy diff --git a/generated/google/apis/binaryauthorization_v1beta1.rb b/generated/google/apis/binaryauthorization_v1beta1.rb index 3dabc9eb7..1d42eb40d 100644 --- a/generated/google/apis/binaryauthorization_v1beta1.rb +++ b/generated/google/apis/binaryauthorization_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/binary-authorization/ module BinaryauthorizationV1beta1 VERSION = 'V1beta1' - REVISION = '20191115' + REVISION = '20191206' # 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/binaryauthorization_v1beta1/classes.rb b/generated/google/apis/binaryauthorization_v1beta1/classes.rb index b8d2e31fd..79b14fd9d 100644 --- a/generated/google/apis/binaryauthorization_v1beta1/classes.rb +++ b/generated/google/apis/binaryauthorization_v1beta1/classes.rb @@ -206,6 +206,23 @@ module Google # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` @@ -296,16 +313,18 @@ module Google end end - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -323,13 +342,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -344,14 +365,16 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). class IamPolicy include Google::Apis::Core::Hashable - # 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. + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings @@ -363,26 +386,31 @@ module Google # conditions: An `etag` is returned in the response to `getIamPolicy`, and # 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. Due to blind-set semantics of an etag-less policy, - # 'setIamPolicy' will not fail even if the incoming policy version does not - # meet the requirements for modifying the stored policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. - # Valid values are 0, 1, and 3. Requests specifying an invalid value will be - # rejected. - # Operations affecting conditional bindings must specify version 3. This can - # be either setting a conditional policy, modifying a conditional binding, - # or removing a binding (conditional or unconditional) 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`, version compliance - # checks against the stored policy is skipped. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -536,16 +564,18 @@ module Google class SetIamPolicyRequest include Google::Apis::Core::Hashable - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -563,13 +593,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -584,8 +616,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::BinaryauthorizationV1beta1::IamPolicy] attr_accessor :policy diff --git a/generated/google/apis/cloudbilling_v1.rb b/generated/google/apis/cloudbilling_v1.rb index 40c8eeaa6..e5d1da8c8 100644 --- a/generated/google/apis/cloudbilling_v1.rb +++ b/generated/google/apis/cloudbilling_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/billing/ module CloudbillingV1 VERSION = 'V1' - REVISION = '20191111' + REVISION = '20191206' # 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/cloudbilling_v1/classes.rb b/generated/google/apis/cloudbilling_v1/classes.rb index cc56f0f89..43ac5904d 100644 --- a/generated/google/apis/cloudbilling_v1/classes.rb +++ b/generated/google/apis/cloudbilling_v1/classes.rb @@ -246,7 +246,7 @@ module Google # For example, `admins@example.com`. # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique # identifier) representing a user that has been recently deleted. For - # example,`alice@example.com?uid=123456789012345678901`. If the user is + # example, `alice@example.com?uid=123456789012345678901`. If the user is # recovered, this value reverts to `user:`emailid`` and the recovered user # retains the role in the binding. # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus @@ -518,16 +518,18 @@ module Google end end - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -545,13 +547,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -566,8 +570,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). class Policy include Google::Apis::Core::Hashable @@ -576,9 +582,9 @@ module Google # @return [Array] attr_accessor :audit_configs - # 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. + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings @@ -590,25 +596,31 @@ module Google # conditions: An `etag` is returned in the response to `getIamPolicy`, and # 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. 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. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. - # Valid values are 0, 1, and 3. Requests specifying an invalid value will be - # rejected. - # 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. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -858,16 +870,18 @@ module Google class SetIamPolicyRequest include Google::Apis::Core::Hashable - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -885,13 +899,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -906,8 +922,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::CloudbillingV1::Policy] attr_accessor :policy diff --git a/generated/google/apis/cloudbuild_v1.rb b/generated/google/apis/cloudbuild_v1.rb index 8847a5a4b..940dcde4d 100644 --- a/generated/google/apis/cloudbuild_v1.rb +++ b/generated/google/apis/cloudbuild_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/cloud-build/docs/ module CloudbuildV1 VERSION = 'V1' - REVISION = '20191109' + REVISION = '20191207' # 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/cloudbuild_v1/classes.rb b/generated/google/apis/cloudbuild_v1/classes.rb index bd40d5ae8..ba6531c16 100644 --- a/generated/google/apis/cloudbuild_v1/classes.rb +++ b/generated/google/apis/cloudbuild_v1/classes.rb @@ -408,9 +408,9 @@ module Google # @return [Array] attr_accessor :volumes - # Option to specify a `WorkerPool` for the build. User specifies the pool - # with the format "[WORKERPOOL_PROJECT_ID]/[WORKERPOOL_NAME]". - # This is an experimental field. + # Option to specify a `WorkerPool` for the build. + # Format: projects/`project`/workerPools/`workerPool` + # This field is experimental. # Corresponds to the JSON property `workerPool` # @return [String] attr_accessor :worker_pool @@ -649,7 +649,11 @@ module Google # @return [Array] attr_accessor :included_files - # User assigned name of the trigger. Must be unique within the project. + # User-assigned name of the trigger. Must be unique within the project. + # Trigger names must meet the following requirements: + # + They must contain only alphanumeric characters and dashes. + # + They can be 1-64 characters long. + # + They must begin and end with an alphanumeric character. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name @@ -1014,7 +1018,7 @@ module Google # @return [String] attr_accessor :branch - # Whether to block builds on a "/gcbrun" comment from a repository owner or + # Whether to block builds on a "/gcbrun" comment from a repository admin or # collaborator. # Corresponds to the JSON property `commentControl` # @return [String] diff --git a/generated/google/apis/cloudtrace_v2.rb b/generated/google/apis/cloudtrace_v2.rb index 92aadde1e..90e55322b 100644 --- a/generated/google/apis/cloudtrace_v2.rb +++ b/generated/google/apis/cloudtrace_v2.rb @@ -29,7 +29,7 @@ module Google # @see https://cloud.google.com/trace module CloudtraceV2 VERSION = 'V2' - REVISION = '20190917' + REVISION = '20191202' # 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/cloudtrace_v2/classes.rb b/generated/google/apis/cloudtrace_v2/classes.rb index e62b78a14..d6b933960 100644 --- a/generated/google/apis/cloudtrace_v2/classes.rb +++ b/generated/google/apis/cloudtrace_v2/classes.rb @@ -309,7 +309,8 @@ module Google # @return [Google::Apis::CloudtraceV2::TruncatableString] attr_accessor :display_name - # The end time of the span. On the client side, this is the time kept by + # Required. The end time of the span. On the client side, this is the time kept + # by # the local machine where the span execution ends. On the server side, this # is the time when the server application handler stops running. # Corresponds to the JSON property `endTime` @@ -347,7 +348,7 @@ module Google attr_accessor :same_process_as_parent_span alias_method :same_process_as_parent_span?, :same_process_as_parent_span - # The [SPAN_ID] portion of the span's resource name. + # Required. The [SPAN_ID] portion of the span's resource name. # Corresponds to the JSON property `spanId` # @return [String] attr_accessor :span_id @@ -364,7 +365,8 @@ module Google # @return [Google::Apis::CloudtraceV2::StackTrace] attr_accessor :stack_trace - # The start time of the span. On the client side, this is the time kept by + # Required. The start time of the span. On the client side, this is the time + # kept by # the local machine where the span execution starts. On the server side, this # is the time when the server's application handler starts running. # Corresponds to the JSON property `startTime` diff --git a/generated/google/apis/compute_alpha.rb b/generated/google/apis/compute_alpha.rb index 8511dc7b2..72ef8c948 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 = '20191014' + REVISION = '20191025' # 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 d9aa944df..b588a2df5 100644 --- a/generated/google/apis/compute_alpha/classes.rb +++ b/generated/google/apis/compute_alpha/classes.rb @@ -1727,12 +1727,13 @@ module Google attr_accessor :self_link_with_id # [Output Only] The status of the autoscaler configuration. Current set of - # possible values: PENDING: Autoscaler backend hasn't read new/updated - # configuration DELETING: Configuration is being deleted ACTIVE: Configuration - # is acknowledged to be effective. Some warnings might or might not be present - # in the status_details field. ERROR: Configuration has errors. Actionable for - # users. Details are present in the status_details field. New values might be - # added in the future. + # possible values: + # - PENDING: Autoscaler backend hasn't read new/updated configuration. + # - DELETING: Configuration is being deleted. + # - ACTIVE: Configuration is acknowledged to be effective. Some warnings might + # be present in the statusDetails field. + # - ERROR: Configuration has errors. Actionable for users. Details are present + # in the statusDetails field. New values might be added in the future. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status @@ -2023,38 +2024,45 @@ module Google # @return [String] attr_accessor :message - # The type of error, warning or notice returned. Current set of possible values: - # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are - # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): - # There is no backend service attached to the instance group. - # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than - # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom - # metric samples are not exported often enough to be a credible base for - # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was - # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX - # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the - # autoscaler cannot add or remove instances from the instance group. - # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive + # The type of error, warning, or notice returned. Current set of possible values: + # + # - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are + # unhealthy (not in RUNNING state). + # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached + # to the instance group. + # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater + # than maxNumReplicas. + # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples + # are not exported often enough to be a credible base for autoscaling. + # - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not + # exist or does not have the necessary labels. + # - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. + # This means the autoscaler cannot add or remove instances from the instance + # group. + # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive # any data from the custom metric configured for autoscaling. - # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to - # scale based on a load balancing signal but the instance group has not received - # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned - # off. The number of instances in the group won't change automatically. The - # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is - # in the "Autoscale only up" mode. Instances in the group will be only added. - # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled - # because it has more than one backend service attached to it. - # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources, - # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR): - # Showed only for regional autoscalers: there is a resource stockout in the - # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled - # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): - # Autoscaling does not work with an HTTP/S load balancer that has been - # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: - # there is a resource stockout in the chosen zone. For regional autoscalers: in - # at least one of the zones you're using there is a resource stockout. New - # values might be added in the future. Some of the values might not be available - # in all API versions. + # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured + # to scale based on a load balancing signal but the instance group has not + # received any requests from the load balancer. + # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in + # the group won't change automatically. The autoscaling configuration is + # preserved. + # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The + # autoscaler can add instances but not remove any. + # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be + # autoscaled because it has more than one backend service attached to it. + # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the + # necessary resources, such as CPU or number of instances. + # - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there + # is a resource stockout in the chosen region. + # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not + # exist. + # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does + # not work with an HTTP/S load balancer that has been configured for maxRate. + # - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource + # stockout in the chosen zone. For regional autoscalers: in at least one of the + # zones you're using there is a resource stockout. New values might be added in + # the future. Some of the values might not be available in all API versions. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type @@ -5014,7 +5022,7 @@ module Google attr_accessor :kms_key_name # The service account being used for the encryption request for the given KMS - # key. If absent, default GCE compute robot account will be used + # key. If absent, the Compute Engine default service account is used. # Corresponds to the JSON property `kmsKeyServiceAccount` # @return [String] attr_accessor :kms_key_service_account @@ -6370,6 +6378,17 @@ module Google class DistributionPolicy include Google::Apis::Core::Hashable + # The shape to which the group converges either proactively or on resize events ( + # depending on the value set in updatePolicy.instanceRedistributionType). The + # possible values are EVEN and ANY. For EVEN the group attempts to preserve a + # balanced number of instances across zones. For ANY the group creates new + # instances where resources are available to fulfill the request; as a result, + # instances may be distributed unevenly across zones in this mode. The default + # value is EVEN. + # Corresponds to the JSON property `targetShape` + # @return [String] + attr_accessor :target_shape + # Zones where the regional managed instance group will create and manage # instances. # Corresponds to the JSON property `zones` @@ -6382,6 +6401,7 @@ module Google # Update properties of this object def update!(**args) + @target_shape = args[:target_shape] if args.key?(:target_shape) @zones = args[:zones] if args.key?(:zones) end end @@ -17404,11 +17424,6 @@ module Google class MachineImageList include Google::Apis::Core::Hashable - # - # Corresponds to the JSON property `etag` - # @return [String] - attr_accessor :etag - # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] @@ -17450,7 +17465,6 @@ module Google # Update properties of this object def update!(**args) - @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @@ -18474,7 +18488,7 @@ module Google attr_accessor :load_balancer_vm_encryption # Maximum Transmission Unit in bytes. The minimum value for this field is 1460 - # and the maximum value is 1600 bytes. + # and the maximum value is 1500 bytes. # Corresponds to the JSON property `mtu` # @return [Fixnum] attr_accessor :mtu @@ -20021,6 +20035,12 @@ module Google # @return [String] attr_accessor :description + # + # Corresponds to the JSON property `fingerprint` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :fingerprint + # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` @@ -20089,6 +20109,7 @@ module Google @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) + @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy) @@ -30856,8 +30877,8 @@ module Google class Snapshot include Google::Apis::Core::Hashable - # [Output Only] Set to true if snapshots are automatically by applying resource - # policy on the target disk. + # [Output Only] Set to true if snapshots are automatically created by applying + # resource policy on the target disk. # Corresponds to the JSON property `autoCreated` # @return [Boolean] attr_accessor :auto_created diff --git a/generated/google/apis/compute_alpha/representations.rb b/generated/google/apis/compute_alpha/representations.rb index 187b4c019..6892f2494 100644 --- a/generated/google/apis/compute_alpha/representations.rb +++ b/generated/google/apis/compute_alpha/representations.rb @@ -6789,6 +6789,7 @@ module Google class DistributionPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation + property :target_shape, as: 'targetShape' collection :zones, as: 'zones', class: Google::Apis::ComputeAlpha::DistributionPolicyZoneConfiguration, decorator: Google::Apis::ComputeAlpha::DistributionPolicyZoneConfiguration::Representation end @@ -9466,7 +9467,6 @@ module Google class MachineImageList # @private class Representation < Google::Apis::Core::JsonRepresentation - property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeAlpha::MachineImage, decorator: Google::Apis::ComputeAlpha::MachineImage::Representation @@ -10127,6 +10127,7 @@ module Google property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' + property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :maintenance_policy, as: 'maintenancePolicy' diff --git a/generated/google/apis/compute_alpha/service.rb b/generated/google/apis/compute_alpha/service.rb index e3c030b7d..10300b454 100644 --- a/generated/google/apis/compute_alpha/service.rb +++ b/generated/google/apis/compute_alpha/service.rb @@ -16530,6 +16530,60 @@ module Google execute_or_queue_command(command, &block) end + # Patch the node group. (== suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] zone + # The name of the zone for this request. + # @param [String] node_group + # Name of the NodeGroup resource to update. + # @param [Google::Apis::ComputeAlpha::NodeGroup] node_group_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeAlpha::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeAlpha::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 patch_node_group(project, zone, node_group, node_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:patch, '{project}/zones/{zone}/nodeGroups/{nodeGroup}', options) + command.request_representation = Google::Apis::ComputeAlpha::NodeGroup::Representation + command.request_object = node_group_object + command.response_representation = Google::Apis::ComputeAlpha::Operation::Representation + command.response_class = Google::Apis::ComputeAlpha::Operation + command.params['project'] = project unless project.nil? + command.params['zone'] = zone unless zone.nil? + command.params['nodeGroup'] = node_group unless node_group.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Sets the autoscaling policy of the node group. (== suppress_warning http-rest- # shadowed ==) # @param [String] project diff --git a/generated/google/apis/compute_beta.rb b/generated/google/apis/compute_beta.rb index d6880536e..31bea2a37 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 = '20191014' + REVISION = '20191025' # 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 cd5026963..a87529e7a 100644 --- a/generated/google/apis/compute_beta/classes.rb +++ b/generated/google/apis/compute_beta/classes.rb @@ -1588,12 +1588,13 @@ module Google attr_accessor :self_link # [Output Only] The status of the autoscaler configuration. Current set of - # possible values: PENDING: Autoscaler backend hasn't read new/updated - # configuration DELETING: Configuration is being deleted ACTIVE: Configuration - # is acknowledged to be effective. Some warnings might or might not be present - # in the status_details field. ERROR: Configuration has errors. Actionable for - # users. Details are present in the status_details field. New values might be - # added in the future. + # possible values: + # - PENDING: Autoscaler backend hasn't read new/updated configuration. + # - DELETING: Configuration is being deleted. + # - ACTIVE: Configuration is acknowledged to be effective. Some warnings might + # be present in the statusDetails field. + # - ERROR: Configuration has errors. Actionable for users. Details are present + # in the statusDetails field. New values might be added in the future. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status @@ -1883,38 +1884,45 @@ module Google # @return [String] attr_accessor :message - # The type of error, warning or notice returned. Current set of possible values: - # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are - # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): - # There is no backend service attached to the instance group. - # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than - # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom - # metric samples are not exported often enough to be a credible base for - # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was - # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX - # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the - # autoscaler cannot add or remove instances from the instance group. - # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive + # The type of error, warning, or notice returned. Current set of possible values: + # + # - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are + # unhealthy (not in RUNNING state). + # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached + # to the instance group. + # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater + # than maxNumReplicas. + # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples + # are not exported often enough to be a credible base for autoscaling. + # - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not + # exist or does not have the necessary labels. + # - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. + # This means the autoscaler cannot add or remove instances from the instance + # group. + # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive # any data from the custom metric configured for autoscaling. - # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to - # scale based on a load balancing signal but the instance group has not received - # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned - # off. The number of instances in the group won't change automatically. The - # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is - # in the "Autoscale only up" mode. Instances in the group will be only added. - # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled - # because it has more than one backend service attached to it. - # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources, - # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR): - # Showed only for regional autoscalers: there is a resource stockout in the - # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled - # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): - # Autoscaling does not work with an HTTP/S load balancer that has been - # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: - # there is a resource stockout in the chosen zone. For regional autoscalers: in - # at least one of the zones you're using there is a resource stockout. New - # values might be added in the future. Some of the values might not be available - # in all API versions. + # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured + # to scale based on a load balancing signal but the instance group has not + # received any requests from the load balancer. + # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in + # the group won't change automatically. The autoscaling configuration is + # preserved. + # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The + # autoscaler can add instances but not remove any. + # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be + # autoscaled because it has more than one backend service attached to it. + # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the + # necessary resources, such as CPU or number of instances. + # - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there + # is a resource stockout in the chosen region. + # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not + # exist. + # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does + # not work with an HTTP/S load balancer that has been configured for maxRate. + # - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource + # stockout in the chosen zone. For regional autoscalers: in at least one of the + # zones you're using there is a resource stockout. New values might be added in + # the future. Some of the values might not be available in all API versions. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type @@ -4530,7 +4538,7 @@ module Google attr_accessor :kms_key_name # The service account being used for the encryption request for the given KMS - # key. If absent, default GCE compute robot account will be used + # key. If absent, the Compute Engine default service account is used. # Corresponds to the JSON property `kmsKeyServiceAccount` # @return [String] attr_accessor :kms_key_service_account @@ -4684,6 +4692,13 @@ module Google # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] attr_accessor :disk_encryption_key + # Specifies whether the disk restored from a source snapshot should erase + # Windows specific VSS signature. + # Corresponds to the JSON property `eraseWindowsVssSignature` + # @return [Boolean] + attr_accessor :erase_windows_vss_signature + alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature + # A list of features to enable on the guest operating system. Applicable only # for bootable images. Read Enabling guest operating system features to see a # list of available options. @@ -4895,6 +4910,7 @@ module Google @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) + @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @@ -10087,6 +10103,13 @@ module Google # @return [Google::Apis::ComputeBeta::DisplayDevice] attr_accessor :display_device + # Specifies whether the disks restored from source snapshots or source machine + # image should erase Windows specific VSS signature. + # Corresponds to the JSON property `eraseWindowsVssSignature` + # @return [Boolean] + attr_accessor :erase_windows_vss_signature + alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature + # A list of the type and count of accelerator cards attached to the instance. # Corresponds to the JSON property `guestAccelerators` # @return [Array] @@ -10221,6 +10244,16 @@ module Google # @return [Google::Apis::ComputeBeta::ShieldedVmIntegrityPolicy] attr_accessor :shielded_vm_integrity_policy + # Source machine image + # Corresponds to the JSON property `sourceMachineImage` + # @return [String] + attr_accessor :source_machine_image + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `sourceMachineImageEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :source_machine_image_encryption_key + # [Output Only] Whether a VM has been restricted for start because Compute # Engine has detected suspicious activity. # Corresponds to the JSON property `startRestricted` @@ -10265,6 +10298,7 @@ module Google @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @display_device = args[:display_device] if args.key?(:display_device) + @erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @hostname = args[:hostname] if args.key?(:hostname) @id = args[:id] if args.key?(:id) @@ -10284,6 +10318,8 @@ module Google @shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy) @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config) @shielded_vm_integrity_policy = args[:shielded_vm_integrity_policy] if args.key?(:shielded_vm_integrity_policy) + @source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image) + @source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key) @start_restricted = args[:start_restricted] if args.key?(:start_restricted) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) @@ -15174,6 +15210,241 @@ module Google end end + # Machine image resource. + class MachineImage + include Google::Apis::Core::Hashable + + # [Output Only] The creation timestamp for this machine image in RFC3339 text + # format. + # Corresponds to the JSON property `creationTimestamp` + # @return [String] + attr_accessor :creation_timestamp + + # 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 + + # [Input Only] Specifies to create an application consistent machine image by + # informing the OS to prepare for the snapshot process. Currently only supported + # on Windows instances using the Volume Shadow Copy Service (VSS). + # Corresponds to the JSON property `guestFlush` + # @return [Boolean] + attr_accessor :guest_flush + alias_method :guest_flush?, :guest_flush + + # [Output Only] A unique identifier for this machine image. The server defines + # this identifier. + # Corresponds to the JSON property `id` + # @return [Fixnum] + attr_accessor :id + + # [Output Only] The resource type, which is always compute#machineImage for + # machine image. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `machineImageEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :machine_image_encryption_key + + # 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- + # 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 + + # [Output Only] The URL for this machine image. The server defines this URL. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Input Only] The customer-supplied encryption key of the disks attached to the + # source instance. Required if the source disk is protected by a customer- + # supplied encryption key. + # Corresponds to the JSON property `sourceDiskEncryptionKeys` + # @return [Array] + attr_accessor :source_disk_encryption_keys + + # The source instance used to create the machine image. You can provide this as + # a partial or full URL to the resource. For example, the following are valid + # values: + # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ + # instance + # - projects/project/zones/zone/instances/instance + # Corresponds to the JSON property `sourceInstance` + # @return [String] + attr_accessor :source_instance + + # + # Corresponds to the JSON property `sourceInstanceProperties` + # @return [Google::Apis::ComputeBeta::SourceInstanceProperties] + attr_accessor :source_instance_properties + + # [Output Only] The status of the machine image. One of the following values: + # INVALID, CREATING, READY, DELETING, and UPLOADING. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # GCS bucket storage location of the machine image (regional or multi-regional). + # Corresponds to the JSON property `storageLocations` + # @return [Array] + attr_accessor :storage_locations + + # [Output Only] Total size of the storage used by the machine image. + # Corresponds to the JSON property `totalStorageBytes` + # @return [Fixnum] + attr_accessor :total_storage_bytes + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) + @description = args[:description] if args.key?(:description) + @guest_flush = args[:guest_flush] if args.key?(:guest_flush) + @id = args[:id] if args.key?(:id) + @kind = args[:kind] if args.key?(:kind) + @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key) + @name = args[:name] if args.key?(:name) + @self_link = args[:self_link] if args.key?(:self_link) + @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys) + @source_instance = args[:source_instance] if args.key?(:source_instance) + @source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties) + @status = args[:status] if args.key?(:status) + @storage_locations = args[:storage_locations] if args.key?(:storage_locations) + @total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes) + end + end + + # A list of machine images. + class MachineImageList + include Google::Apis::Core::Hashable + + # [Output Only] Unique identifier for the resource; defined by the server. + # Corresponds to the JSON property `id` + # @return [String] + attr_accessor :id + + # A list of MachineImage resources. + # Corresponds to the JSON property `items` + # @return [Array] + attr_accessor :items + + # [Output Only] The resource type, which is always compute# + # machineImagesListResponse for machine image lists. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] This token allows you to get the next page of results for list + # requests. If the number of results is larger than maxResults, use the + # nextPageToken as a value for the query parameter pageToken in the next list + # request. Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # [Output Only] Server-defined URL for this resource. + # Corresponds to the JSON property `selfLink` + # @return [String] + attr_accessor :self_link + + # [Output Only] Informational warning message. + # Corresponds to the JSON property `warning` + # @return [Google::Apis::ComputeBeta::MachineImageList::Warning] + attr_accessor :warning + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @id = args[:id] if args.key?(:id) + @items = args[:items] if args.key?(:items) + @kind = args[:kind] if args.key?(:kind) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @self_link = args[:self_link] if args.key?(:self_link) + @warning = args[:warning] if args.key?(:warning) + end + + # [Output Only] Informational warning message. + class Warning + include Google::Apis::Core::Hashable + + # [Output Only] A warning code, if applicable. For example, Compute Engine + # returns NO_RESULTS_ON_PAGE if there are no results in the response. + # Corresponds to the JSON property `code` + # @return [String] + attr_accessor :code + + # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` + # Corresponds to the JSON property `data` + # @return [Array] + attr_accessor :data + + # [Output Only] A human-readable description of the warning code. + # 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) + @data = args[:data] if args.key?(:data) + @message = args[:message] if args.key?(:message) + end + + # + class Datum + include Google::Apis::Core::Hashable + + # [Output Only] A key that provides more detail on the warning being returned. + # For example, for warnings where there are no results in a list request for a + # particular zone, this key might be scope and the key value might be the zone + # name. Other examples might be a key indicating a deprecated resource and a + # suggested replacement, or a warning about invalid network settings (for + # example, if an instance attempts to perform IP forwarding but is not enabled + # for IP forwarding). + # Corresponds to the JSON property `key` + # @return [String] + attr_accessor :key + + # [Output Only] A warning data value corresponding to the key. + # 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) + @key = args[:key] if args.key?(:key) + @value = args[:value] if args.key?(:value) + end + end + end + end + # Represents a Machine Type resource. # You can use specific machine types for your VM instances based on performance # and pricing requirements. For more information, read Machine Types. (== @@ -16819,6 +17090,11 @@ module Google # @return [String] attr_accessor :fingerprint + # [Output Only] An IPv6 internal network address for this network interface. + # Corresponds to the JSON property `ipv6Address` + # @return [String] + attr_accessor :ipv6_address + # [Output Only] Type of the resource. Always compute#networkInterface for # network interfaces. # Corresponds to the JSON property `kind` @@ -16874,6 +17150,7 @@ module Google @access_configs = args[:access_configs] if args.key?(:access_configs) @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) + @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @@ -24828,6 +25105,122 @@ module Google end end + # An instance-attached disk resource. + class SavedAttachedDisk + include Google::Apis::Core::Hashable + + # Specifies whether the disk will be auto-deleted when the instance is deleted ( + # but not when the disk is detached from the instance). + # Corresponds to the JSON property `autoDelete` + # @return [Boolean] + attr_accessor :auto_delete + alias_method :auto_delete?, :auto_delete + + # Indicates that this is a boot disk. The virtual machine will use the first + # partition of the disk for its root filesystem. + # Corresponds to the JSON property `boot` + # @return [Boolean] + attr_accessor :boot + alias_method :boot?, :boot + + # Specifies the name of the disk attached to the source instance. + # Corresponds to the JSON property `deviceName` + # @return [String] + attr_accessor :device_name + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `diskEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :disk_encryption_key + + # The size of the disk in base-2 GB. + # Corresponds to the JSON property `diskSizeGb` + # @return [Fixnum] + attr_accessor :disk_size_gb + + # A list of features to enable on the guest operating system. Applicable only + # for bootable images. Read Enabling guest operating system features to see a + # list of available options. + # Corresponds to the JSON property `guestOsFeatures` + # @return [Array] + attr_accessor :guest_os_features + + # Specifies zero-based index of the disk that is attached to the source instance. + # Corresponds to the JSON property `index` + # @return [Fixnum] + attr_accessor :index + + # Specifies the disk interface to use for attaching this disk, which is either + # SCSI or NVME. + # Corresponds to the JSON property `interface` + # @return [String] + attr_accessor :interface + + # [Output Only] Type of the resource. Always compute#attachedDisk for attached + # disks. + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # [Output Only] Any valid publicly visible licenses. + # Corresponds to the JSON property `licenses` + # @return [Array] + attr_accessor :licenses + + # The mode in which this disk is attached to the source instance, either + # READ_WRITE or READ_ONLY. + # Corresponds to the JSON property `mode` + # @return [String] + attr_accessor :mode + + # Specifies a URL of the disk attached to the source instance. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + # [Output Only] A size of the storage used by the disk's snapshot by this + # machine image. + # Corresponds to the JSON property `storageBytes` + # @return [Fixnum] + attr_accessor :storage_bytes + + # [Output Only] An indicator whether storageBytes is in a stable state or it is + # being adjusted as a result of shared storage reallocation. This status can + # either be UPDATING, meaning the size of the snapshot is being updated, or + # UP_TO_DATE, meaning the size of the snapshot is up-to-date. + # Corresponds to the JSON property `storageBytesStatus` + # @return [String] + attr_accessor :storage_bytes_status + + # Specifies the type of the attached disk, either SCRATCH or PERSISTENT. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @auto_delete = args[:auto_delete] if args.key?(:auto_delete) + @boot = args[:boot] if args.key?(:boot) + @device_name = args[:device_name] if args.key?(:device_name) + @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) + @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) + @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) + @index = args[:index] if args.key?(:index) + @interface = args[:interface] if args.key?(:interface) + @kind = args[:kind] if args.key?(:kind) + @licenses = args[:licenses] if args.key?(:licenses) + @mode = args[:mode] if args.key?(:mode) + @source = args[:source] if args.key?(:source) + @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes) + @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status) + @type = args[:type] if args.key?(:type) + end + end + # Sets the scheduling options for an Instance. NextID: 9 class Scheduling include Google::Apis::Core::Hashable @@ -25656,8 +26049,8 @@ module Google class Snapshot include Google::Apis::Core::Hashable - # [Output Only] Set to true if snapshots are automatically by applying resource - # policy on the target disk. + # [Output Only] Set to true if snapshots are automatically created by applying + # resource policy on the target disk. # Corresponds to the JSON property `autoCreated` # @return [Boolean] attr_accessor :auto_created @@ -25931,6 +26324,35 @@ module Google end end + # + class SourceDiskEncryptionKey + include Google::Apis::Core::Hashable + + # Represents a customer-supplied encryption key + # Corresponds to the JSON property `diskEncryptionKey` + # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey] + attr_accessor :disk_encryption_key + + # URL of the disk attached to the source instance. This can be a full or valid + # partial URL. For example, the following are valid values: + # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk + # - projects/project/zones/zone/disks/disk + # - zones/zone/disks/disk + # Corresponds to the JSON property `sourceDisk` + # @return [String] + attr_accessor :source_disk + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) + @source_disk = args[:source_disk] if args.key?(:source_disk) + end + end + # A specification of the parameters to use when creating the instance template # from a source instance. class SourceInstanceParams @@ -25954,6 +26376,115 @@ module Google end end + # + class SourceInstanceProperties + include Google::Apis::Core::Hashable + + # Enables instances created based on this machine image to send packets with + # source IP addresses other than their own and receive packets with destination + # IP addresses other than their own. If these instances will be used as an IP + # gateway or it will be set as the next-hop in a Route resource, specify true. + # If unsure, leave this set to false. See the Enable IP forwarding documentation + # for more information. + # Corresponds to the JSON property `canIpForward` + # @return [Boolean] + attr_accessor :can_ip_forward + alias_method :can_ip_forward?, :can_ip_forward + + # Whether the instance created from this machine image should be protected + # against deletion. + # Corresponds to the JSON property `deletionProtection` + # @return [Boolean] + attr_accessor :deletion_protection + alias_method :deletion_protection?, :deletion_protection + + # An optional text description for the instances that are created from this + # machine image. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # An array of disks that are associated with the instances that are created from + # this machine image. + # Corresponds to the JSON property `disks` + # @return [Array] + attr_accessor :disks + + # A list of guest accelerator cards' type and count to use for instances created + # from this machine image. + # Corresponds to the JSON property `guestAccelerators` + # @return [Array] + attr_accessor :guest_accelerators + + # Labels to apply to instances that are created from this machine image. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The machine type to use for instances that are created from this machine image. + # Corresponds to the JSON property `machineType` + # @return [String] + attr_accessor :machine_type + + # A metadata key/value entry. + # Corresponds to the JSON property `metadata` + # @return [Google::Apis::ComputeBeta::Metadata] + attr_accessor :metadata + + # Minimum cpu/platform to be used by instances created from this machine image. + # The instance may be scheduled on the specified or newer cpu/platform. + # Applicable values are the friendly names of CPU platforms, such as + # minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For + # more information, read Specifying a Minimum CPU Platform. + # Corresponds to the JSON property `minCpuPlatform` + # @return [String] + attr_accessor :min_cpu_platform + + # An array of network access configurations for this interface. + # Corresponds to the JSON property `networkInterfaces` + # @return [Array] + attr_accessor :network_interfaces + + # Sets the scheduling options for an Instance. NextID: 9 + # Corresponds to the JSON property `scheduling` + # @return [Google::Apis::ComputeBeta::Scheduling] + attr_accessor :scheduling + + # A list of service accounts with specified scopes. Access tokens for these + # service accounts are available to the instances that are created from this + # machine image. Use metadata queries to obtain the access tokens for these + # instances. + # Corresponds to the JSON property `serviceAccounts` + # @return [Array] + attr_accessor :service_accounts + + # A set of instance tags. + # Corresponds to the JSON property `tags` + # @return [Google::Apis::ComputeBeta::Tags] + attr_accessor :tags + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) + @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) + @description = args[:description] if args.key?(:description) + @disks = args[:disks] if args.key?(:disks) + @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) + @labels = args[:labels] if args.key?(:labels) + @machine_type = args[:machine_type] if args.key?(:machine_type) + @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) + @scheduling = args[:scheduling] if args.key?(:scheduling) + @service_accounts = args[:service_accounts] if args.key?(:service_accounts) + @tags = args[:tags] if args.key?(:tags) + end + end + # Represents an SSL Certificate resource. # This SSL certificate resource also contains a private key. You can use SSL # keys and certificates to secure connections to a load balancer. For more @@ -26862,6 +27393,12 @@ module Google # @return [String] attr_accessor :ip_cidr_range + # [Output Only] The range of internal IPv6 addresses that are owned by this + # subnetwork. + # Corresponds to the JSON property `ipv6CidrRange` + # @return [String] + attr_accessor :ipv6_cidr_range + # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork # resources. # Corresponds to the JSON property `kind` @@ -26899,6 +27436,23 @@ module Google attr_accessor :private_ip_google_access alias_method :private_ip_google_access?, :private_ip_google_access + # The private IPv6 google access type for the VMs in this subnet. This is an + # expanded field of enablePrivateV6Access. If both fields are set, + # privateIpv6GoogleAccess will take priority. + # This field can be both set at resource creation time and updated using patch. + # Corresponds to the JSON property `privateIpv6GoogleAccess` + # @return [String] + attr_accessor :private_ipv6_google_access + + # The service accounts can be used to selectively turn on Private IPv6 Google + # Access only on the VMs primary service account matching the value. This value + # only takes effect when PrivateIpv6GoogleAccess is + # ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or + # ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS. + # Corresponds to the JSON property `privateIpv6GoogleAccessServiceAccounts` + # @return [Array] + attr_accessor :private_ipv6_google_access_service_accounts + # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for @@ -26961,11 +27515,14 @@ module Google @gateway_address = args[:gateway_address] if args.key?(:gateway_address) @id = args[:id] if args.key?(:id) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) + @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range) @kind = args[:kind] if args.key?(:kind) @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access) + @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access) + @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts) @purpose = args[:purpose] if args.key?(:purpose) @region = args[:region] if args.key?(:region) @role = args[:role] if args.key?(:role) diff --git a/generated/google/apis/compute_beta/representations.rb b/generated/google/apis/compute_beta/representations.rb index d5a2f980f..daa69b29d 100644 --- a/generated/google/apis/compute_beta/representations.rb +++ b/generated/google/apis/compute_beta/representations.rb @@ -1900,6 +1900,30 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class MachineImage + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MachineImageList + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Warning + class Representation < Google::Apis::Core::JsonRepresentation; end + + class Datum + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + + include Google::Apis::Core::JsonObjectSupport + end + class MachineType class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3310,6 +3334,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class SavedAttachedDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Scheduling class Representation < Google::Apis::Core::JsonRepresentation; end @@ -3478,12 +3508,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class SourceDiskEncryptionKey + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SourceInstanceParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class SourceInstanceProperties + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SslCertificate class Representation < Google::Apis::Core::JsonRepresentation; end @@ -5617,6 +5659,7 @@ module Google property :description, as: 'description' property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + property :erase_windows_vss_signature, as: 'eraseWindowsVssSignature' collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeBeta::GuestOsFeature, decorator: Google::Apis::ComputeBeta::GuestOsFeature::Representation property :id, :numeric_string => true, as: 'id' @@ -6858,6 +6901,7 @@ module Google property :display_device, as: 'displayDevice', class: Google::Apis::ComputeBeta::DisplayDevice, decorator: Google::Apis::ComputeBeta::DisplayDevice::Representation + property :erase_windows_vss_signature, as: 'eraseWindowsVssSignature' collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeBeta::AcceleratorConfig, decorator: Google::Apis::ComputeBeta::AcceleratorConfig::Representation property :hostname, as: 'hostname' @@ -6887,6 +6931,9 @@ module Google property :shielded_vm_integrity_policy, as: 'shieldedVmIntegrityPolicy', class: Google::Apis::ComputeBeta::ShieldedVmIntegrityPolicy, decorator: Google::Apis::ComputeBeta::ShieldedVmIntegrityPolicy::Representation + property :source_machine_image, as: 'sourceMachineImage' + property :source_machine_image_encryption_key, as: 'sourceMachineImageEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + property :start_restricted, as: 'startRestricted' property :status, as: 'status' property :status_message, as: 'statusMessage' @@ -8126,6 +8173,61 @@ module Google end end + class MachineImage + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :creation_timestamp, as: 'creationTimestamp' + property :description, as: 'description' + property :guest_flush, as: 'guestFlush' + property :id, :numeric_string => true, as: 'id' + property :kind, as: 'kind' + property :machine_image_encryption_key, as: 'machineImageEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :name, as: 'name' + property :self_link, as: 'selfLink' + collection :source_disk_encryption_keys, as: 'sourceDiskEncryptionKeys', class: Google::Apis::ComputeBeta::SourceDiskEncryptionKey, decorator: Google::Apis::ComputeBeta::SourceDiskEncryptionKey::Representation + + property :source_instance, as: 'sourceInstance' + property :source_instance_properties, as: 'sourceInstanceProperties', class: Google::Apis::ComputeBeta::SourceInstanceProperties, decorator: Google::Apis::ComputeBeta::SourceInstanceProperties::Representation + + property :status, as: 'status' + collection :storage_locations, as: 'storageLocations' + property :total_storage_bytes, :numeric_string => true, as: 'totalStorageBytes' + end + end + + class MachineImageList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :id, as: 'id' + collection :items, as: 'items', class: Google::Apis::ComputeBeta::MachineImage, decorator: Google::Apis::ComputeBeta::MachineImage::Representation + + property :kind, as: 'kind' + property :next_page_token, as: 'nextPageToken' + property :self_link, as: 'selfLink' + property :warning, as: 'warning', class: Google::Apis::ComputeBeta::MachineImageList::Warning, decorator: Google::Apis::ComputeBeta::MachineImageList::Warning::Representation + + end + + class Warning + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :data, as: 'data', class: Google::Apis::ComputeBeta::MachineImageList::Warning::Datum, decorator: Google::Apis::ComputeBeta::MachineImageList::Warning::Datum::Representation + + property :message, as: 'message' + end + + class Datum + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :key, as: 'key' + property :value, as: 'value' + end + end + end + end + class MachineType # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -8561,6 +8663,7 @@ module Google collection :alias_ip_ranges, as: 'aliasIpRanges', class: Google::Apis::ComputeBeta::AliasIpRange, decorator: Google::Apis::ComputeBeta::AliasIpRange::Representation property :fingerprint, :base64 => true, as: 'fingerprint' + property :ipv6_address, as: 'ipv6Address' property :kind, as: 'kind' property :name, as: 'name' property :network, as: 'network' @@ -10628,6 +10731,29 @@ module Google end end + class SavedAttachedDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :auto_delete, as: 'autoDelete' + property :boot, as: 'boot' + property :device_name, as: 'deviceName' + property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' + collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeBeta::GuestOsFeature, decorator: Google::Apis::ComputeBeta::GuestOsFeature::Representation + + property :index, as: 'index' + property :interface, as: 'interface' + property :kind, as: 'kind' + collection :licenses, as: 'licenses' + property :mode, as: 'mode' + property :source, as: 'source' + property :storage_bytes, :numeric_string => true, as: 'storageBytes' + property :storage_bytes_status, as: 'storageBytesStatus' + property :type, as: 'type' + end + end + class Scheduling # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -10914,6 +11040,15 @@ module Google end end + class SourceDiskEncryptionKey + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeBeta::CustomerEncryptionKey, decorator: Google::Apis::ComputeBeta::CustomerEncryptionKey::Representation + + property :source_disk, as: 'sourceDisk' + end + end + class SourceInstanceParams # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -10922,6 +11057,32 @@ module Google end end + class SourceInstanceProperties + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :can_ip_forward, as: 'canIpForward' + property :deletion_protection, as: 'deletionProtection' + property :description, as: 'description' + collection :disks, as: 'disks', class: Google::Apis::ComputeBeta::SavedAttachedDisk, decorator: Google::Apis::ComputeBeta::SavedAttachedDisk::Representation + + collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeBeta::AcceleratorConfig, decorator: Google::Apis::ComputeBeta::AcceleratorConfig::Representation + + hash :labels, as: 'labels' + property :machine_type, as: 'machineType' + property :metadata, as: 'metadata', class: Google::Apis::ComputeBeta::Metadata, decorator: Google::Apis::ComputeBeta::Metadata::Representation + + property :min_cpu_platform, as: 'minCpuPlatform' + collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeBeta::NetworkInterface, decorator: Google::Apis::ComputeBeta::NetworkInterface::Representation + + property :scheduling, as: 'scheduling', class: Google::Apis::ComputeBeta::Scheduling, decorator: Google::Apis::ComputeBeta::Scheduling::Representation + + collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ComputeBeta::ServiceAccount, decorator: Google::Apis::ComputeBeta::ServiceAccount::Representation + + property :tags, as: 'tags', class: Google::Apis::ComputeBeta::Tags, decorator: Google::Apis::ComputeBeta::Tags::Representation + + end + end + class SslCertificate # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -11147,12 +11308,15 @@ module Google property :gateway_address, as: 'gatewayAddress' property :id, :numeric_string => true, as: 'id' property :ip_cidr_range, as: 'ipCidrRange' + property :ipv6_cidr_range, as: 'ipv6CidrRange' property :kind, as: 'kind' property :log_config, as: 'logConfig', class: Google::Apis::ComputeBeta::SubnetworkLogConfig, decorator: Google::Apis::ComputeBeta::SubnetworkLogConfig::Representation property :name, as: 'name' property :network, as: 'network' property :private_ip_google_access, as: 'privateIpGoogleAccess' + property :private_ipv6_google_access, as: 'privateIpv6GoogleAccess' + collection :private_ipv6_google_access_service_accounts, as: 'privateIpv6GoogleAccessServiceAccounts' property :purpose, as: 'purpose' property :region, as: 'region' property :role, as: 'role' diff --git a/generated/google/apis/compute_beta/service.rb b/generated/google/apis/compute_beta/service.rb index 8d38453f4..c83d3a26e 100644 --- a/generated/google/apis/compute_beta/service.rb +++ b/generated/google/apis/compute_beta/service.rb @@ -9364,6 +9364,14 @@ module Google # instanceTemplates/instanceTemplate # - projects/project/global/instanceTemplates/instanceTemplate # - global/instanceTemplates/instanceTemplate + # @param [String] source_machine_image + # Specifies instance machine to create the instance. + # This field is optional. It can be a full or partial URL. For example, the + # following are all valid URLs to an instance template: + # - https://www.googleapis.com/compute/v1/projects/project/global/global/ + # machineImages/machineImage + # - projects/project/global/global/machineImages/machineImage + # - global/machineImages/machineImage # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -9383,7 +9391,7 @@ module Google # @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 insert_instance(project, zone, instance_object = nil, request_id: nil, source_instance_template: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + def insert_instance(project, zone, instance_object = nil, request_id: nil, source_instance_template: nil, source_machine_image: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, '{project}/zones/{zone}/instances', options) command.request_representation = Google::Apis::ComputeBeta::Instance::Representation command.request_object = instance_object @@ -9393,6 +9401,7 @@ module Google command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceInstanceTemplate'] = source_instance_template unless source_instance_template.nil? + command.query['sourceMachineImage'] = source_machine_image unless source_machine_image.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? @@ -12232,6 +12241,339 @@ module Google execute_or_queue_command(command, &block) end + # Deletes the specified machine image. Deleting a machine image is permanent and + # cannot be undone. (== suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] machine_image + # The name of the machine image to delete. + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::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 delete_machine_image(project, machine_image, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:delete, '{project}/global/machineImages/{machineImage}', options) + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.params['machineImage'] = machine_image unless machine_image.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns the specified machine image. Gets a list of available machine images + # by making a list() request. (== suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] machine_image + # The name of the machine image. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::MachineImage] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::MachineImage] + # + # @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_machine_image(project, machine_image, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/machineImages/{machineImage}', options) + command.response_representation = Google::Apis::ComputeBeta::MachineImage::Representation + command.response_class = Google::Apis::ComputeBeta::MachineImage + command.params['project'] = project unless project.nil? + command.params['machineImage'] = machine_image unless machine_image.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. May be empty if no such policy + # or resource exists. (== suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Fixnum] options_requested_policy_version + # Requested IAM Policy version. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Policy] + # + # @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_machine_image_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/machineImages/{resource}/getIamPolicy', options) + command.response_representation = Google::Apis::ComputeBeta::Policy::Representation + command.response_class = Google::Apis::ComputeBeta::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Creates a machine image in the specified project using the data that is + # included in the request. If you are creating a new machine image to update an + # existing instance, your new machine image should use the same network or, if + # applicable, the same subnetwork as the original instance. (== suppress_warning + # http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [Google::Apis::ComputeBeta::MachineImage] machine_image_object + # @param [String] request_id + # An optional request ID to identify requests. Specify a unique request ID so + # that if you must retry your request, the server will know to ignore the + # request if it has already been completed. + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, the + # server can check if original operation with the same request ID was received, + # and if so, will ignore the second request. This prevents clients from + # accidentally creating duplicate commitments. + # The request ID must be a valid UUID with the exception that zero UUID is not + # supported (00000000-0000-0000-0000-000000000000). + # @param [String] source_instance + # Required. Source instance that is used to create the machine image from. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::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 insert_machine_image(project, machine_image_object = nil, request_id: nil, source_instance: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/machineImages', options) + command.request_representation = Google::Apis::ComputeBeta::MachineImage::Representation + command.request_object = machine_image_object + command.response_representation = Google::Apis::ComputeBeta::Operation::Representation + command.response_class = Google::Apis::ComputeBeta::Operation + command.params['project'] = project unless project.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['sourceInstance'] = source_instance unless source_instance.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Retrieves a list of machine images that are contained within the specified + # project. (== suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] filter + # A filter expression that filters resources listed in the response. The + # expression must specify the field name, a comparison operator, and the value + # that you want to use for filtering. The value must be a string, a number, or a + # boolean. The comparison operator must be either =, !=, >, or <. + # For example, if you are filtering Compute Engine instances, you can exclude + # instances named example-instance by specifying name != example-instance. + # You can also filter nested fields. For example, you could specify scheduling. + # automaticRestart = false to include instances only if they are not scheduled + # for automatic restarts. You can use filtering on nested fields to filter based + # on resource labels. + # To filter on multiple expressions, provide each separate expression within + # parentheses. For example, (scheduling.automaticRestart = true) (cpuPlatform = " + # Intel Skylake"). By default, each expression is an AND expression. However, + # you can include AND and OR expressions explicitly. For example, (cpuPlatform = + # "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. + # automaticRestart = true). + # @param [Fixnum] max_results + # The maximum number of results per page that should be returned. If the number + # of available results is larger than maxResults, Compute Engine returns a + # nextPageToken that can be used to get the next page of results in subsequent + # list requests. Acceptable values are 0 to 500, inclusive. (Default: 500) + # @param [String] order_by + # Sorts list results by a certain order. By default, results are returned in + # alphanumerical order based on the resource name. + # You can also sort results in descending order based on the creation timestamp + # using orderBy="creationTimestamp desc". This sorts results based on the + # creationTimestamp field in reverse chronological order (newest result first). + # Use this to sort resources like operations so that the newest operation is + # returned first. + # Currently, only sorting by name or creationTimestamp desc is supported. + # @param [String] page_token + # Specifies a page token to use. Set pageToken to the nextPageToken returned by + # a previous list request to get the next page of results. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::MachineImageList] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::MachineImageList] + # + # @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_machine_images(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:get, '{project}/global/machineImages', options) + command.response_representation = Google::Apis::ComputeBeta::MachineImageList::Representation + command.response_class = Google::Apis::ComputeBeta::MachineImageList + command.params['project'] = project unless project.nil? + command.query['filter'] = filter unless filter.nil? + command.query['maxResults'] = max_results unless max_results.nil? + command.query['orderBy'] = order_by unless order_by.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? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. (== suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeBeta::GlobalSetPolicyRequest] global_set_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::Policy] + # + # @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 set_machine_image_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/machineImages/{resource}/setIamPolicy', options) + command.request_representation = Google::Apis::ComputeBeta::GlobalSetPolicyRequest::Representation + command.request_object = global_set_policy_request_object + command.response_representation = Google::Apis::ComputeBeta::Policy::Representation + command.response_class = Google::Apis::ComputeBeta::Policy + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. (== + # suppress_warning http-rest-shadowed ==) + # @param [String] project + # Project ID for this request. + # @param [String] resource + # Name or id of the resource for this request. + # @param [Google::Apis::ComputeBeta::TestPermissionsRequest] test_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # An opaque string that represents a user for quota purposes. Must not exceed 40 + # characters. + # @param [String] user_ip + # Deprecated. Please use quotaUser instead. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::ComputeBeta::TestPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ComputeBeta::TestPermissionsResponse] + # + # @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 test_machine_image_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + command = make_simple_command(:post, '{project}/global/machineImages/{resource}/testIamPermissions', options) + command.request_representation = Google::Apis::ComputeBeta::TestPermissionsRequest::Representation + command.request_object = test_permissions_request_object + command.response_representation = Google::Apis::ComputeBeta::TestPermissionsResponse::Representation + command.response_class = Google::Apis::ComputeBeta::TestPermissionsResponse + command.params['project'] = project unless project.nil? + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + command.query['userIp'] = user_ip unless user_ip.nil? + execute_or_queue_command(command, &block) + end + # Retrieves an aggregated list of machine types. (== suppress_warning http-rest- # shadowed ==) # @param [String] project diff --git a/generated/google/apis/compute_v1.rb b/generated/google/apis/compute_v1.rb index f7fc95f6a..987cf46c3 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 = '20191014' + REVISION = '20191025' # 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 5b3e9cf1b..5a8cb261a 100644 --- a/generated/google/apis/compute_v1/classes.rb +++ b/generated/google/apis/compute_v1/classes.rb @@ -1548,12 +1548,13 @@ module Google attr_accessor :self_link # [Output Only] The status of the autoscaler configuration. Current set of - # possible values: PENDING: Autoscaler backend hasn't read new/updated - # configuration DELETING: Configuration is being deleted ACTIVE: Configuration - # is acknowledged to be effective. Some warnings might or might not be present - # in the status_details field. ERROR: Configuration has errors. Actionable for - # users. Details are present in the status_details field. New values might be - # added in the future. + # possible values: + # - PENDING: Autoscaler backend hasn't read new/updated configuration. + # - DELETING: Configuration is being deleted. + # - ACTIVE: Configuration is acknowledged to be effective. Some warnings might + # be present in the statusDetails field. + # - ERROR: Configuration has errors. Actionable for users. Details are present + # in the statusDetails field. New values might be added in the future. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status @@ -1842,38 +1843,45 @@ module Google # @return [String] attr_accessor :message - # The type of error, warning or notice returned. Current set of possible values: - # ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are - # unhealthy (not in RUNNING state). BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): - # There is no backend service attached to the instance group. - # CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends size bigger than - # maxNumReplicas. CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom - # metric samples are not exported often enough to be a credible base for - # autoscaling. CUSTOM_METRIC_INVALID (ERROR): The custom metric that was - # specified does not exist or does not have the necessary labels. MIN_EQUALS_MAX - # (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the - # autoscaler cannot add or remove instances from the instance group. - # MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive + # The type of error, warning, or notice returned. Current set of possible values: + # + # - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are + # unhealthy (not in RUNNING state). + # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached + # to the instance group. + # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater + # than maxNumReplicas. + # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples + # are not exported often enough to be a credible base for autoscaling. + # - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not + # exist or does not have the necessary labels. + # - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. + # This means the autoscaler cannot add or remove instances from the instance + # group. + # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive # any data from the custom metric configured for autoscaling. - # MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to - # scale based on a load balancing signal but the instance group has not received - # any requests from the load balancer. MODE_OFF (WARNING): Autoscaling is turned - # off. The number of instances in the group won't change automatically. The - # autoscaling configuration is preserved. MODE_ONLY_UP (WARNING): Autoscaling is - # in the "Autoscale only up" mode. Instances in the group will be only added. - # MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled - # because it has more than one backend service attached to it. - # NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): Exceeded quota for necessary resources, - # such as CPU, number of instances and so on. REGION_RESOURCE_STOCKOUT (ERROR): - # Showed only for regional autoscalers: there is a resource stockout in the - # chosen region. SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled - # does not exist. UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): - # Autoscaling does not work with an HTTP/S load balancer that has been - # configured for maxRate. ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: - # there is a resource stockout in the chosen zone. For regional autoscalers: in - # at least one of the zones you're using there is a resource stockout. New - # values might be added in the future. Some of the values might not be available - # in all API versions. + # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured + # to scale based on a load balancing signal but the instance group has not + # received any requests from the load balancer. + # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in + # the group won't change automatically. The autoscaling configuration is + # preserved. + # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The + # autoscaler can add instances but not remove any. + # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be + # autoscaled because it has more than one backend service attached to it. + # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the + # necessary resources, such as CPU or number of instances. + # - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there + # is a resource stockout in the chosen region. + # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not + # exist. + # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does + # not work with an HTTP/S load balancer that has been configured for maxRate. + # - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource + # stockout in the chosen zone. For regional autoscalers: in at least one of the + # zones you're using there is a resource stockout. New values might be added in + # the future. Some of the values might not be available in all API versions. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type @@ -9123,6 +9131,12 @@ module Google # @return [String] attr_accessor :status + # Cloud Storage bucket storage location of the image (regional or multi-regional) + # . + # Corresponds to the JSON property `storageLocations` + # @return [Array] + attr_accessor :storage_locations + def initialize(**args) update!(**args) end @@ -9157,6 +9171,7 @@ module Google @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id) @source_type = args[:source_type] if args.key?(:source_type) @status = args[:status] if args.key?(:status) + @storage_locations = args[:storage_locations] if args.key?(:storage_locations) end # The parameters of the raw disk image. @@ -23429,8 +23444,8 @@ module Google class Snapshot include Google::Apis::Core::Hashable - # [Output Only] Set to true if snapshots are automatically by applying resource - # policy on the target disk. + # [Output Only] Set to true if snapshots are automatically created by applying + # resource policy on the target disk. # Corresponds to the JSON property `autoCreated` # @return [Boolean] attr_accessor :auto_created diff --git a/generated/google/apis/compute_v1/representations.rb b/generated/google/apis/compute_v1/representations.rb index 86765c62b..722fda25d 100644 --- a/generated/google/apis/compute_v1/representations.rb +++ b/generated/google/apis/compute_v1/representations.rb @@ -6345,6 +6345,7 @@ module Google property :source_snapshot_id, as: 'sourceSnapshotId' property :source_type, as: 'sourceType' property :status, as: 'status' + collection :storage_locations, as: 'storageLocations' end class RawDisk diff --git a/generated/google/apis/content_v2.rb b/generated/google/apis/content_v2.rb index 3a5f346c8..1d0de8be4 100644 --- a/generated/google/apis/content_v2.rb +++ b/generated/google/apis/content_v2.rb @@ -26,7 +26,7 @@ module Google # @see https://developers.google.com/shopping-content module ContentV2 VERSION = 'V2' - REVISION = '20191107' + REVISION = '20191126' # Manage your product listings and accounts for Google Shopping AUTH_CONTENT = 'https://www.googleapis.com/auth/content' diff --git a/generated/google/apis/content_v2/classes.rb b/generated/google/apis/content_v2/classes.rb index c9b483cee..401c1e50c 100644 --- a/generated/google/apis/content_v2/classes.rb +++ b/generated/google/apis/content_v2/classes.rb @@ -4323,8 +4323,9 @@ module Google # @return [String] attr_accessor :full_name - # Email address for receiving merchant issued value-added tax or invoice - # documentation of this order. + # Email address for the merchant to send value-added tax or invoice + # documentation of the order. This documentation is made available to the + # customer. # Corresponds to the JSON property `invoiceReceivingEmail` # @return [String] attr_accessor :invoice_receiving_email @@ -5253,45 +5254,47 @@ module Google include Google::Apis::Core::Hashable # The carrier handling the shipment. - # Acceptable values for US are: - # - "gsx" - # - "ups" - # - "usps" - # - "fedex" - # - "dhl" - # - "ecourier" - # - "cxt" - # - "google" - # - "ontrac" - # - "emsy" - # - "ont" - # - "deliv" - # - "dynamex" - # - "lasership" - # - "mpx" - # - "uds" - # - "efw" - # - "yunexpress" - # - "china post" - # - "china ems" - # - "singapore post" - # - "pos malaysia" - # - "postnl" - # - "ptt" - # - "eub" - # - "chukou1" - # Acceptable values for FR are: - # - "colissimo" - # - "chronopost" - # - "gls" - # - "dpd" - # - "bpost" - # - "colis prive" - # - "boxtal" - # - "geodis" - # - "tnt" - # - "la poste" - # - "ups" + # For supported carriers, Google includes the carrier name and tracking URL in + # emails to customers. For select supported carriers, Google also automatically + # updates the shipment status based on the provided shipment ID. Note: You can + # also use unsupported carriers, but emails to customers will not include the + # carrier name or tracking URL, and there will be no automatic order status + # updates. + # Supported carriers for US are: + # - "ups" (United Parcel Service) automatic status updates + # - "usps" (United States Postal Service) automatic status updates + # - "fedex" (FedEx) automatic status updates + # - "dhl" (DHL eCommerce) automatic status updates (US only) + # - "ontrac" (OnTrac) automatic status updates + # - "dhl express" (DHL Express) + # - "deliv" (Deliv) + # - "dynamex" (TForce) + # - "lasership" (LaserShip) + # - "mpx" (Military Parcel Xpress) + # - "uds" (United Delivery Service) + # - "efw" (Estes Forwarding Worldwide) + # - "jd logistics" (JD Logistics) + # - "yunexpress" (YunExpress) + # - "china post" (China Post) + # - "china ems" (China Post Express Mail Service) + # - "singapore post" (Singapore Post) + # - "pos malaysia" (Pos Malaysia) + # - "postnl" (PostNL) + # - "ptt" (PTT Turkish Post) + # - "eub" (ePacket) + # - "chukou1" (Chukou1 Logistics) + # Supported carriers for FR are: + # - "la poste" (La Poste) automatic status updates + # - "colissimo" (Colissimo by La Poste) automatic status updates + # - "ups" (United Parcel Service) automatic status updates + # - "chronopost" (Chronopost by La Poste) + # - "gls" (General Logistics Systems France) + # - "dpd" (DPD Group by GeoPost) + # - "bpost" (Belgian Post Group) + # - "colis prive" (Colis Privé) + # - "boxtal" (Boxtal) + # - "geodis" (GEODIS) + # - "tnt" (TNT) # Corresponds to the JSON property `carrier` # @return [String] attr_accessor :carrier @@ -8532,7 +8535,8 @@ module Google # A list of custom (merchant-provided) attributes. It can also be used for # submitting any attribute of the feed specification in its generic form (e.g., ` # "name": "size type", "value": "regular" `). This is useful for submitting - # attributes not explicitly exposed by the API. + # attributes not explicitly exposed by the API, such as additional attributes + # used for Shopping Actions. # Corresponds to the JSON property `customAttributes` # @return [Array] attr_accessor :custom_attributes diff --git a/generated/google/apis/content_v2_1.rb b/generated/google/apis/content_v2_1.rb index 43f8bd766..6529a06d6 100644 --- a/generated/google/apis/content_v2_1.rb +++ b/generated/google/apis/content_v2_1.rb @@ -26,7 +26,7 @@ module Google # @see https://developers.google.com/shopping-content module ContentV2_1 VERSION = 'V2_1' - REVISION = '20191107' + REVISION = '20191126' # Manage your product listings and accounts for Google Shopping AUTH_CONTENT = 'https://www.googleapis.com/auth/content' diff --git a/generated/google/apis/content_v2_1/classes.rb b/generated/google/apis/content_v2_1/classes.rb index 0cfbe603e..a21904d11 100644 --- a/generated/google/apis/content_v2_1/classes.rb +++ b/generated/google/apis/content_v2_1/classes.rb @@ -3683,8 +3683,9 @@ module Google # @return [String] attr_accessor :full_name - # Email address for receiving merchant issued value-added tax or invoice - # documentation of this order. + # Email address for the merchant to send value-added tax or invoice + # documentation of the order. This documentation is made available to the + # customer. # Corresponds to the JSON property `invoiceReceivingEmail` # @return [String] attr_accessor :invoice_receiving_email @@ -4641,45 +4642,47 @@ module Google include Google::Apis::Core::Hashable # The carrier handling the shipment. - # Acceptable values for US are: - # - "gsx" - # - "ups" - # - "usps" - # - "fedex" - # - "dhl" - # - "ecourier" - # - "cxt" - # - "google" - # - "ontrac" - # - "emsy" - # - "ont" - # - "deliv" - # - "dynamex" - # - "lasership" - # - "mpx" - # - "uds" - # - "efw" - # - "yunexpress" - # - "china post" - # - "china ems" - # - "singapore post" - # - "pos malaysia" - # - "postnl" - # - "ptt" - # - "eub" - # - "chukou1" - # Acceptable values for FR are: - # - "colissimo" - # - "chronopost" - # - "gls" - # - "dpd" - # - "bpost" - # - "colis prive" - # - "boxtal" - # - "geodis" - # - "tnt" - # - "la poste" - # - "ups" + # For supported carriers, Google includes the carrier name and tracking URL in + # emails to customers. For select supported carriers, Google also automatically + # updates the shipment status based on the provided shipment ID. Note: You can + # also use unsupported carriers, but emails to customers will not include the + # carrier name or tracking URL, and there will be no automatic order status + # updates. + # Supported carriers for US are: + # - "ups" (United Parcel Service) automatic status updates + # - "usps" (United States Postal Service) automatic status updates + # - "fedex" (FedEx) automatic status updates + # - "dhl" (DHL eCommerce) automatic status updates (US only) + # - "ontrac" (OnTrac) automatic status updates + # - "dhl express" (DHL Express) + # - "deliv" (Deliv) + # - "dynamex" (TForce) + # - "lasership" (LaserShip) + # - "mpx" (Military Parcel Xpress) + # - "uds" (United Delivery Service) + # - "efw" (Estes Forwarding Worldwide) + # - "jd logistics" (JD Logistics) + # - "yunexpress" (YunExpress) + # - "china post" (China Post) + # - "china ems" (China Post Express Mail Service) + # - "singapore post" (Singapore Post) + # - "pos malaysia" (Pos Malaysia) + # - "postnl" (PostNL) + # - "ptt" (PTT Turkish Post) + # - "eub" (ePacket) + # - "chukou1" (Chukou1 Logistics) + # Supported carriers for FR are: + # - "la poste" (La Poste) automatic status updates + # - "colissimo" (Colissimo by La Poste) automatic status updates + # - "ups" (United Parcel Service) automatic status updates + # - "chronopost" (Chronopost by La Poste) + # - "gls" (General Logistics Systems France) + # - "dpd" (DPD Group by GeoPost) + # - "bpost" (Belgian Post Group) + # - "colis prive" (Colis Privé) + # - "boxtal" (Boxtal) + # - "geodis" (GEODIS) + # - "tnt" (TNT) # Corresponds to the JSON property `carrier` # @return [String] attr_accessor :carrier @@ -6998,7 +7001,8 @@ module Google # A list of custom (merchant-provided) attributes. It can also be used for # submitting any attribute of the feed specification in its generic form (e.g., ` # "name": "size type", "value": "regular" `). This is useful for submitting - # attributes not explicitly exposed by the API. + # attributes not explicitly exposed by the API, such as additional attributes + # used for Shopping Actions. # Corresponds to the JSON property `customAttributes` # @return [Array] attr_accessor :custom_attributes diff --git a/generated/google/apis/datacatalog_v1beta1.rb b/generated/google/apis/datacatalog_v1beta1.rb index 423bb1283..4622699b4 100644 --- a/generated/google/apis/datacatalog_v1beta1.rb +++ b/generated/google/apis/datacatalog_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/data-catalog/docs/ module DatacatalogV1beta1 VERSION = 'V1beta1' - REVISION = '20191118' + REVISION = '20191205' # 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/datacatalog_v1beta1/classes.rb b/generated/google/apis/datacatalog_v1beta1/classes.rb index 9e272a84d..ae0c1a54c 100644 --- a/generated/google/apis/datacatalog_v1beta1/classes.rb +++ b/generated/google/apis/datacatalog_v1beta1/classes.rb @@ -46,6 +46,23 @@ module Google # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example, `alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` @@ -1429,16 +1446,18 @@ module Google end end - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -1456,13 +1475,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -1477,14 +1498,16 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). class Policy include Google::Apis::Core::Hashable - # 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. + # Associates a list of `members` to a `role`. Optionally, may specify a + # `condition` that determines how and when the `bindings` are applied. Each + # of the `bindings` must contain at least one member. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings @@ -1496,26 +1519,31 @@ module Google # conditions: An `etag` is returned in the response to `getIamPolicy`, and # 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. Due to blind-set semantics of an etag-less policy, - # 'setIamPolicy' will not fail even if the incoming policy version does not - # meet the requirements for modifying the stored policy. + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. - # Valid values are 0, 1, and 3. Requests specifying an invalid value will be - # rejected. - # Operations affecting conditional bindings must specify version 3. This can - # be either setting a conditional policy, modifying a conditional binding, - # or removing a binding (conditional or unconditional) 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`, version compliance - # checks against the stored policy is skipped. + # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + # are rejected. + # Any operation that affects conditional role bindings must specify version + # `3`. This requirement applies to the following operations: + # * Getting a policy that includes a conditional role binding + # * Adding a conditional role binding to a policy + # * Changing a conditional role binding in a policy + # * Removing any role binding, with or without a condition, from a policy + # that includes conditions + # **Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows + # you to overwrite a version `3` policy with a version `1` policy, and all of + # the conditions in the version `3` policy are lost. + # If a policy does not include any conditions, operations on that policy may + # specify any valid version or leave the field unset. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version @@ -1536,16 +1564,18 @@ module Google class SetIamPolicyRequest include Google::Apis::Core::Hashable - # Defines an Identity and Access Management (IAM) policy. It is used to - # specify access control policies for Cloud Platform resources. + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. # 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** + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # Optionally, a `binding` can specify a `condition`, which is a logical + # expression that allows access to a resource only if the expression evaluates + # to `true`. A condition can add constraints based on attributes of the + # request, the resource, or both. + # **JSON example:** # ` # "bindings": [ # ` @@ -1563,13 +1593,15 @@ module Google # "condition": ` # "title": "expirable access", # "description": "Does not grant access after Sep 2020", - # "expression": "request.time < - # timestamp('2020-10-01T00:00:00.000Z')", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", # ` # ` - # ] + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 # ` - # **YAML Example** + # **YAML example:** # bindings: # - members: # - user:mike@example.com @@ -1584,8 +1616,10 @@ module Google # title: expirable access # description: Does not grant access after Sep 2020 # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 # For a description of IAM and its features, see the - # [IAM developer's guide](https://cloud.google.com/iam/docs). + # [IAM documentation](https://cloud.google.com/iam/docs/). # Corresponds to the JSON property `policy` # @return [Google::Apis::DatacatalogV1beta1::Policy] attr_accessor :policy diff --git a/generated/google/apis/dfareporting_v3_4.rb b/generated/google/apis/dfareporting_v3_4.rb index fdb955539..c007d595d 100644 --- a/generated/google/apis/dfareporting_v3_4.rb +++ b/generated/google/apis/dfareporting_v3_4.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/doubleclick-advertisers/ module DfareportingV3_4 VERSION = 'V3_4' - REVISION = '20191112' + REVISION = '20191127' # Manage DoubleClick Digital Marketing conversions AUTH_DDMCONVERSIONS = 'https://www.googleapis.com/auth/ddmconversions' diff --git a/generated/google/apis/dfareporting_v3_4/classes.rb b/generated/google/apis/dfareporting_v3_4/classes.rb index 2c59e8813..6a5a53aae 100644 --- a/generated/google/apis/dfareporting_v3_4/classes.rb +++ b/generated/google/apis/dfareporting_v3_4/classes.rb @@ -1326,33 +1326,6 @@ module Google end end - # Annotate a click event. - class AnnotateClickEvent - include Google::Apis::Core::Hashable - - # The Google click ID. Use this field to annotate the click associated with the - # gclid. - # Corresponds to the JSON property `gclid` - # @return [String] - attr_accessor :gclid - - # Identifies what kind of resource this is. Value: the fixed string " - # dfareporting#annotateClickEvent". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @gclid = args[:gclid] if args.key?(:gclid) - @kind = args[:kind] if args.key?(:kind) - end - end - # Audience Segment. class AudienceSegment include Google::Apis::Core::Hashable @@ -4659,12 +4632,12 @@ module Google # Annotate a click event. # Corresponds to the JSON property `annotateClickEvent` - # @return [Google::Apis::DfareportingV3_4::AnnotateClickEvent] + # @return [Google::Apis::DfareportingV3_4::CustomEventClickAnnotation] attr_accessor :annotate_click_event # Custom variables associated with the event. # Corresponds to the JSON property `customVariables` - # @return [Array] + # @return [Array] attr_accessor :custom_variables # The type of event. If INSERT, the fields in insertEvent need to be populated. @@ -4680,9 +4653,9 @@ module Google # @return [Fixnum] attr_accessor :floodlight_configuration_id - # Insert custom event. + # Custom event to be inserted. # Corresponds to the JSON property `insertEvent` - # @return [Google::Apis::DfareportingV3_4::InsertEvent] + # @return [Google::Apis::DfareportingV3_4::CustomEventInsert] attr_accessor :insert_event # Identifies what kind of resource this is. Value: the fixed string " @@ -4719,6 +4692,33 @@ module Google end end + # Annotate a click event. + class CustomEventClickAnnotation + include Google::Apis::Core::Hashable + + # The Google click ID. Use this field to annotate the click associated with the + # gclid. + # Corresponds to the JSON property `gclid` + # @return [String] + attr_accessor :gclid + + # Identifies what kind of resource this is. Value: the fixed string " + # dfareporting#customEventClickAnnotation". + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @gclid = args[:gclid] if args.key?(:gclid) + @kind = args[:kind] if args.key?(:kind) + end + end + # The error code and description for a custom event that failed to insert. class CustomEventError include Google::Apis::Core::Hashable @@ -4751,6 +4751,60 @@ module Google end end + # Custom event to be inserted. + class CustomEventInsert + include Google::Apis::Core::Hashable + + # Campaign Manager IDs related to the custom event. + # Corresponds to the JSON property `cmDimensions` + # @return [Google::Apis::DfareportingV3_4::CampaignManagerIds] + attr_accessor :cm_dimensions + + # DV360 IDs related to the custom event. + # Corresponds to the JSON property `dv3Dimensions` + # @return [Google::Apis::DfareportingV3_4::Dv3Ids] + attr_accessor :dv3_dimensions + + # The type of event to insert. + # Corresponds to the JSON property `insertEventType` + # @return [String] + attr_accessor :insert_event_type + + # Identifies what kind of resource this is. Value: the fixed string " + # dfareporting#customEventInsert". + # Corresponds to the JSON property `kind` + # @return [String] + attr_accessor :kind + + # The match ID field. A match ID is your own first-party identifier that has + # been synced with Google using the match ID feature in Floodlight. This field + # is mutually exclusive with mobileDeviceId, and at least one of the two fields + # is required. + # Corresponds to the JSON property `matchId` + # @return [String] + attr_accessor :match_id + + # The mobile device ID. This field is mutually exclusive with matchId, and at + # least one of the two fields is required. + # Corresponds to the JSON property `mobileDeviceId` + # @return [String] + attr_accessor :mobile_device_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cm_dimensions = args[:cm_dimensions] if args.key?(:cm_dimensions) + @dv3_dimensions = args[:dv3_dimensions] if args.key?(:dv3_dimensions) + @insert_event_type = args[:insert_event_type] if args.key?(:insert_event_type) + @kind = args[:kind] if args.key?(:kind) + @match_id = args[:match_id] if args.key?(:match_id) + @mobile_device_id = args[:mobile_device_id] if args.key?(:mobile_device_id) + end + end + # The original custom event that was inserted and whether there were any errors. class CustomEventStatus include Google::Apis::Core::Hashable @@ -4905,8 +4959,8 @@ module Google end end - # A custom variable. - class CustomVariables + # Custom variable. + class CustomVariable include Google::Apis::Core::Hashable # The index of the custom variable. @@ -4915,7 +4969,7 @@ module Google attr_accessor :index # Identifies what kind of resource this is. Value: the fixed string " - # dfareporting#customVariables". + # dfareporting#customVariable". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind @@ -6974,60 +7028,6 @@ module Google end end - # Insert custom event. - class InsertEvent - include Google::Apis::Core::Hashable - - # Campaign Manager IDs related to the custom event. - # Corresponds to the JSON property `cmDimensions` - # @return [Google::Apis::DfareportingV3_4::CampaignManagerIds] - attr_accessor :cm_dimensions - - # DV360 IDs related to the custom event. - # Corresponds to the JSON property `dv3Dimensions` - # @return [Google::Apis::DfareportingV3_4::Dv3Ids] - attr_accessor :dv3_dimensions - - # The type of insert event. - # Corresponds to the JSON property `insertEventType` - # @return [String] - attr_accessor :insert_event_type - - # Identifies what kind of resource this is. Value: the fixed string " - # dfareporting#insertEvent". - # Corresponds to the JSON property `kind` - # @return [String] - attr_accessor :kind - - # The match ID field. A match ID is your own first-party identifier that has - # been synced with Google using the match ID feature in Floodlight. This field - # is mutually exclusive with mobileDeviceId, and at least one of the two fields - # is required. - # Corresponds to the JSON property `matchId` - # @return [String] - attr_accessor :match_id - - # The mobile device ID. This field is mutually exclusive with matchId, and at - # least one of the two fields is required. - # Corresponds to the JSON property `mobileDeviceId` - # @return [String] - attr_accessor :mobile_device_id - - def initialize(**args) - update!(**args) - end - - # Update properties of this object - def update!(**args) - @cm_dimensions = args[:cm_dimensions] if args.key?(:cm_dimensions) - @dv3_dimensions = args[:dv3_dimensions] if args.key?(:dv3_dimensions) - @insert_event_type = args[:insert_event_type] if args.key?(:insert_event_type) - @kind = args[:kind] if args.key?(:kind) - @match_id = args[:match_id] if args.key?(:match_id) - @mobile_device_id = args[:mobile_device_id] if args.key?(:mobile_device_id) - end - end - # Represents a buy from the Planning inventory store. class InventoryItem include Google::Apis::Core::Hashable diff --git a/generated/google/apis/dfareporting_v3_4/representations.rb b/generated/google/apis/dfareporting_v3_4/representations.rb index 14f720109..bab2507e1 100644 --- a/generated/google/apis/dfareporting_v3_4/representations.rb +++ b/generated/google/apis/dfareporting_v3_4/representations.rb @@ -136,12 +136,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class AnnotateClickEvent - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class AudienceSegment class Representation < Google::Apis::Core::JsonRepresentation; end @@ -460,12 +454,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class CustomEventClickAnnotation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class CustomEventError class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class CustomEventInsert + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class CustomEventStatus class Representation < Google::Apis::Core::JsonRepresentation; end @@ -496,7 +502,7 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class CustomVariables + class CustomVariable class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport @@ -742,12 +748,6 @@ module Google include Google::Apis::Core::JsonObjectSupport end - class InsertEvent - class Representation < Google::Apis::Core::JsonRepresentation; end - - include Google::Apis::Core::JsonObjectSupport - end - class InventoryItem class Representation < Google::Apis::Core::JsonRepresentation; end @@ -1734,14 +1734,6 @@ module Google end end - class AnnotateClickEvent - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :gclid, as: 'gclid' - property :kind, as: 'kind' - end - end - class AudienceSegment # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -2507,13 +2499,13 @@ module Google class CustomEvent # @private class Representation < Google::Apis::Core::JsonRepresentation - property :annotate_click_event, as: 'annotateClickEvent', class: Google::Apis::DfareportingV3_4::AnnotateClickEvent, decorator: Google::Apis::DfareportingV3_4::AnnotateClickEvent::Representation + property :annotate_click_event, as: 'annotateClickEvent', class: Google::Apis::DfareportingV3_4::CustomEventClickAnnotation, decorator: Google::Apis::DfareportingV3_4::CustomEventClickAnnotation::Representation - collection :custom_variables, as: 'customVariables', class: Google::Apis::DfareportingV3_4::CustomVariables, decorator: Google::Apis::DfareportingV3_4::CustomVariables::Representation + collection :custom_variables, as: 'customVariables', class: Google::Apis::DfareportingV3_4::CustomVariable, decorator: Google::Apis::DfareportingV3_4::CustomVariable::Representation property :event_type, as: 'eventType' property :floodlight_configuration_id, :numeric_string => true, as: 'floodlightConfigurationId' - property :insert_event, as: 'insertEvent', class: Google::Apis::DfareportingV3_4::InsertEvent, decorator: Google::Apis::DfareportingV3_4::InsertEvent::Representation + property :insert_event, as: 'insertEvent', class: Google::Apis::DfareportingV3_4::CustomEventInsert, decorator: Google::Apis::DfareportingV3_4::CustomEventInsert::Representation property :kind, as: 'kind' property :ordinal, as: 'ordinal' @@ -2521,6 +2513,14 @@ module Google end end + class CustomEventClickAnnotation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :gclid, as: 'gclid' + property :kind, as: 'kind' + end + end + class CustomEventError # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -2530,6 +2530,20 @@ module Google end end + class CustomEventInsert + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cm_dimensions, as: 'cmDimensions', class: Google::Apis::DfareportingV3_4::CampaignManagerIds, decorator: Google::Apis::DfareportingV3_4::CampaignManagerIds::Representation + + property :dv3_dimensions, as: 'dv3Dimensions', class: Google::Apis::DfareportingV3_4::Dv3Ids, decorator: Google::Apis::DfareportingV3_4::Dv3Ids::Representation + + property :insert_event_type, as: 'insertEventType' + property :kind, as: 'kind' + property :match_id, as: 'matchId' + property :mobile_device_id, as: 'mobileDeviceId' + end + end + class CustomEventStatus # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -2578,7 +2592,7 @@ module Google end end - class CustomVariables + class CustomVariable # @private class Representation < Google::Apis::Core::JsonRepresentation property :index, :numeric_string => true, as: 'index' @@ -3097,20 +3111,6 @@ module Google end end - class InsertEvent - # @private - class Representation < Google::Apis::Core::JsonRepresentation - property :cm_dimensions, as: 'cmDimensions', class: Google::Apis::DfareportingV3_4::CampaignManagerIds, decorator: Google::Apis::DfareportingV3_4::CampaignManagerIds::Representation - - property :dv3_dimensions, as: 'dv3Dimensions', class: Google::Apis::DfareportingV3_4::Dv3Ids, decorator: Google::Apis::DfareportingV3_4::Dv3Ids::Representation - - property :insert_event_type, as: 'insertEventType' - property :kind, as: 'kind' - property :match_id, as: 'matchId' - property :mobile_device_id, as: 'mobileDeviceId' - end - end - class InventoryItem # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/dialogflow_v2.rb b/generated/google/apis/dialogflow_v2.rb index e19cad69f..df27a4e42 100644 --- a/generated/google/apis/dialogflow_v2.rb +++ b/generated/google/apis/dialogflow_v2.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/dialogflow/ module DialogflowV2 VERSION = 'V2' - REVISION = '20191118' + REVISION = '20191203' # 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/dialogflow_v2/classes.rb b/generated/google/apis/dialogflow_v2/classes.rb index c6e4625a7..c693680f5 100644 --- a/generated/google/apis/dialogflow_v2/classes.rb +++ b/generated/google/apis/dialogflow_v2/classes.rb @@ -983,7 +983,7 @@ module Google attr_accessor :messages # Optional. Indicates whether Machine Learning is disabled for the intent. - # Note: If `ml_diabled` setting is set to true, then this intent is not + # Note: If `ml_disabled` setting is set to true, then this intent is not # taken into account during inference in `ML ONLY` match mode. Also, # auto-markup in the UI is turned off. # Corresponds to the JSON property `mlDisabled` diff --git a/generated/google/apis/dialogflow_v2beta1.rb b/generated/google/apis/dialogflow_v2beta1.rb index 84a05730f..4a6b3221e 100644 --- a/generated/google/apis/dialogflow_v2beta1.rb +++ b/generated/google/apis/dialogflow_v2beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/dialogflow/ module DialogflowV2beta1 VERSION = 'V2beta1' - REVISION = '20191118' + REVISION = '20191203' # 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/dialogflow_v2beta1/classes.rb b/generated/google/apis/dialogflow_v2beta1/classes.rb index f19d5970c..bfe3d2800 100644 --- a/generated/google/apis/dialogflow_v2beta1/classes.rb +++ b/generated/google/apis/dialogflow_v2beta1/classes.rb @@ -403,7 +403,7 @@ module Google attr_accessor :messages # Optional. Indicates whether Machine Learning is disabled for the intent. - # Note: If `ml_diabled` setting is set to true, then this intent is not + # Note: If `ml_disabled` setting is set to true, then this intent is not # taken into account during inference in `ML ONLY` match mode. Also, # auto-markup in the UI is turned off. # Corresponds to the JSON property `mlDisabled` diff --git a/generated/google/apis/gmail_v1.rb b/generated/google/apis/gmail_v1.rb index 2dae970c9..2afa01945 100644 --- a/generated/google/apis/gmail_v1.rb +++ b/generated/google/apis/gmail_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/gmail/api/ module GmailV1 VERSION = 'V1' - REVISION = '20190602' + REVISION = '20191113' # Read, compose, send, and permanently delete all your email from Gmail AUTH_SCOPE = 'https://mail.google.com/' diff --git a/generated/google/apis/gmail_v1/classes.rb b/generated/google/apis/gmail_v1/classes.rb index af86120e5..82fbda4ae 100644 --- a/generated/google/apis/gmail_v1/classes.rb +++ b/generated/google/apis/gmail_v1/classes.rb @@ -695,7 +695,9 @@ module Google class ListDraftsResponse include Google::Apis::Core::Hashable - # List of drafts. + # List of drafts. Note that the Message property in each Draft resource only + # contains an id and a threadId. The messages.get method can fetch additional + # message details. # Corresponds to the JSON property `drafts` # @return [Array] attr_accessor :drafts @@ -796,7 +798,9 @@ module Google class ListLabelsResponse include Google::Apis::Core::Hashable - # List of labels. + # List of labels. Note that each label resource only contains an id, name, + # messageListVisibility, labelListVisibility, and type. The labels.get method + # can fetch additional label details. # Corresponds to the JSON property `labels` # @return [Array] attr_accessor :labels diff --git a/generated/google/apis/serviceconsumermanagement_v1.rb b/generated/google/apis/serviceconsumermanagement_v1.rb index 6e3e7cb74..fbad03b77 100644 --- a/generated/google/apis/serviceconsumermanagement_v1.rb +++ b/generated/google/apis/serviceconsumermanagement_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/service-consumer-management/docs/overview module ServiceconsumermanagementV1 VERSION = 'V1' - REVISION = '20191203' + REVISION = '20191206' # 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/serviceconsumermanagement_v1/classes.rb b/generated/google/apis/serviceconsumermanagement_v1/classes.rb index 4aaef5558..58e041eae 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/classes.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/classes.rb @@ -444,7 +444,21 @@ module Google # @return [Float] attr_accessor :deadline - # The JWT audience is used when generating a JWT id token for the backend. + # When disable_auth is false, a JWT ID token will be generated with the + # value from BackendRule.address as jwt_audience, overrode to the HTTP + # "Authorization" request header and sent to the backend. + # When disable_auth is true, a JWT ID token won't be generated and the + # original "Authorization" HTTP header will be preserved. If the header is + # used to carry the original token and is expected by the backend, this + # field must be set to true to preserve the header. + # Corresponds to the JSON property `disableAuth` + # @return [Boolean] + attr_accessor :disable_auth + alias_method :disable_auth?, :disable_auth + + # The JWT audience is used when generating a JWT ID token for the backend. + # This ID token will be added in the HTTP "authorization" header, and sent + # to the backend. # Corresponds to the JSON property `jwtAudience` # @return [String] attr_accessor :jwt_audience @@ -480,6 +494,7 @@ module Google def update!(**args) @address = args[:address] if args.key?(:address) @deadline = args[:deadline] if args.key?(:deadline) + @disable_auth = args[:disable_auth] if args.key?(:disable_auth) @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience) @min_deadline = args[:min_deadline] if args.key?(:min_deadline) @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline) diff --git a/generated/google/apis/serviceconsumermanagement_v1/representations.rb b/generated/google/apis/serviceconsumermanagement_v1/representations.rb index 9b4bfca38..8f847762d 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/representations.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/representations.rb @@ -630,6 +630,7 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :address, as: 'address' property :deadline, as: 'deadline' + property :disable_auth, as: 'disableAuth' property :jwt_audience, as: 'jwtAudience' property :min_deadline, as: 'minDeadline' property :operation_deadline, as: 'operationDeadline' diff --git a/generated/google/apis/servicenetworking_v1.rb b/generated/google/apis/servicenetworking_v1.rb index fa4af3579..4f6299c53 100644 --- a/generated/google/apis/servicenetworking_v1.rb +++ b/generated/google/apis/servicenetworking_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1 VERSION = 'V1' - REVISION = '20191203' + REVISION = '20191206' # 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/servicenetworking_v1/classes.rb b/generated/google/apis/servicenetworking_v1/classes.rb index 38100a5a1..239890e40 100644 --- a/generated/google/apis/servicenetworking_v1/classes.rb +++ b/generated/google/apis/servicenetworking_v1/classes.rb @@ -431,7 +431,21 @@ module Google # @return [Float] attr_accessor :deadline - # The JWT audience is used when generating a JWT id token for the backend. + # When disable_auth is false, a JWT ID token will be generated with the + # value from BackendRule.address as jwt_audience, overrode to the HTTP + # "Authorization" request header and sent to the backend. + # When disable_auth is true, a JWT ID token won't be generated and the + # original "Authorization" HTTP header will be preserved. If the header is + # used to carry the original token and is expected by the backend, this + # field must be set to true to preserve the header. + # Corresponds to the JSON property `disableAuth` + # @return [Boolean] + attr_accessor :disable_auth + alias_method :disable_auth?, :disable_auth + + # The JWT audience is used when generating a JWT ID token for the backend. + # This ID token will be added in the HTTP "authorization" header, and sent + # to the backend. # Corresponds to the JSON property `jwtAudience` # @return [String] attr_accessor :jwt_audience @@ -467,6 +481,7 @@ module Google def update!(**args) @address = args[:address] if args.key?(:address) @deadline = args[:deadline] if args.key?(:deadline) + @disable_auth = args[:disable_auth] if args.key?(:disable_auth) @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience) @min_deadline = args[:min_deadline] if args.key?(:min_deadline) @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline) @@ -835,6 +850,28 @@ module Google end end + # Request to disable VPC service controls. + class DisableVpcServiceControlsRequest + include Google::Apis::Core::Hashable + + # Required. The network that the consumer is using to connect with services. + # Must be in the form of projects/`project`/global/networks/`network` + # `project` is a project number, as in '12345' + # `network` is network name. + # Corresponds to the JSON property `consumerNetwork` + # @return [String] + attr_accessor :consumer_network + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @consumer_network = args[:consumer_network] if args.key?(:consumer_network) + end + end + # `Documentation` provides the information for describing a service. # Example: #
documentation:
diff --git a/generated/google/apis/servicenetworking_v1/representations.rb b/generated/google/apis/servicenetworking_v1/representations.rb
index c852efe87..9d45b922d 100644
--- a/generated/google/apis/servicenetworking_v1/representations.rb
+++ b/generated/google/apis/servicenetworking_v1/representations.rb
@@ -136,6 +136,12 @@ module Google
         include Google::Apis::Core::JsonObjectSupport
       end
       
+      class DisableVpcServiceControlsRequest
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
       class Documentation
         class Representation < Google::Apis::Core::JsonRepresentation; end
       
@@ -503,6 +509,7 @@ module Google
         class Representation < Google::Apis::Core::JsonRepresentation
           property :address, as: 'address'
           property :deadline, as: 'deadline'
+          property :disable_auth, as: 'disableAuth'
           property :jwt_audience, as: 'jwtAudience'
           property :min_deadline, as: 'minDeadline'
           property :operation_deadline, as: 'operationDeadline'
@@ -601,6 +608,13 @@ module Google
         end
       end
       
+      class DisableVpcServiceControlsRequest
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          property :consumer_network, as: 'consumerNetwork'
+        end
+      end
+      
       class Documentation
         # @private
         class Representation < Google::Apis::Core::JsonRepresentation
diff --git a/generated/google/apis/servicenetworking_v1/service.rb b/generated/google/apis/servicenetworking_v1/service.rb
index 8908812cf..73d8e92e3 100644
--- a/generated/google/apis/servicenetworking_v1/service.rb
+++ b/generated/google/apis/servicenetworking_v1/service.rb
@@ -250,6 +250,41 @@ module Google
           execute_or_queue_command(command, &block)
         end
         
+        # Disables VPC service controls for a connection.
+        # @param [String] parent
+        #   The service that is managing peering connectivity for a service producer's
+        #   organization. For Google services that support this functionality, this
+        #   value is `services/servicenetworking.googleapis.com`.
+        # @param [Google::Apis::ServicenetworkingV1::DisableVpcServiceControlsRequest] disable_vpc_service_controls_request_object
+        # @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::ServicenetworkingV1::Operation] parsed result object
+        # @yieldparam err [StandardError] error object if request failed
+        #
+        # @return [Google::Apis::ServicenetworkingV1::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 disable_vpc_service_controls(parent, disable_vpc_service_controls_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
+          command = make_simple_command(:patch, 'v1/{+parent}:disableVpcServiceControls', options)
+          command.request_representation = Google::Apis::ServicenetworkingV1::DisableVpcServiceControlsRequest::Representation
+          command.request_object = disable_vpc_service_controls_request_object
+          command.response_representation = Google::Apis::ServicenetworkingV1::Operation::Representation
+          command.response_class = Google::Apis::ServicenetworkingV1::Operation
+          command.params['parent'] = parent unless parent.nil?
+          command.query['fields'] = fields unless fields.nil?
+          command.query['quotaUser'] = quota_user unless quota_user.nil?
+          execute_or_queue_command(command, &block)
+        end
+        
         # Enables VPC service controls for a connection.
         # @param [String] parent
         #   The service that is managing peering connectivity for a service producer's
diff --git a/generated/google/apis/servicenetworking_v1beta.rb b/generated/google/apis/servicenetworking_v1beta.rb
index 7dc7fdd34..01eb2eb84 100644
--- a/generated/google/apis/servicenetworking_v1beta.rb
+++ b/generated/google/apis/servicenetworking_v1beta.rb
@@ -26,7 +26,7 @@ module Google
     # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started
     module ServicenetworkingV1beta
       VERSION = 'V1beta'
-      REVISION = '20191203'
+      REVISION = '20191206'
 
       # 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/servicenetworking_v1beta/classes.rb b/generated/google/apis/servicenetworking_v1beta/classes.rb
index 7e5a22d88..cd849754b 100644
--- a/generated/google/apis/servicenetworking_v1beta/classes.rb
+++ b/generated/google/apis/servicenetworking_v1beta/classes.rb
@@ -431,7 +431,21 @@ module Google
         # @return [Float]
         attr_accessor :deadline
       
-        # The JWT audience is used when generating a JWT id token for the backend.
+        # When disable_auth is false,  a JWT ID token will be generated with the
+        # value from BackendRule.address as jwt_audience, overrode to the HTTP
+        # "Authorization" request header and sent to the backend.
+        # When disable_auth is true, a JWT ID token won't be generated and the
+        # original "Authorization" HTTP header will be preserved. If the header is
+        # used to carry the original token and is expected by the backend, this
+        # field must be set to true to preserve the header.
+        # Corresponds to the JSON property `disableAuth`
+        # @return [Boolean]
+        attr_accessor :disable_auth
+        alias_method :disable_auth?, :disable_auth
+      
+        # The JWT audience is used when generating a JWT ID token for the backend.
+        # This ID token will be added in the HTTP "authorization" header, and sent
+        # to the backend.
         # Corresponds to the JSON property `jwtAudience`
         # @return [String]
         attr_accessor :jwt_audience
@@ -467,6 +481,7 @@ module Google
         def update!(**args)
           @address = args[:address] if args.key?(:address)
           @deadline = args[:deadline] if args.key?(:deadline)
+          @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
           @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
           @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
           @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
diff --git a/generated/google/apis/servicenetworking_v1beta/representations.rb b/generated/google/apis/servicenetworking_v1beta/representations.rb
index 8f7c65f8c..504af8836 100644
--- a/generated/google/apis/servicenetworking_v1beta/representations.rb
+++ b/generated/google/apis/servicenetworking_v1beta/representations.rb
@@ -455,6 +455,7 @@ module Google
         class Representation < Google::Apis::Core::JsonRepresentation
           property :address, as: 'address'
           property :deadline, as: 'deadline'
+          property :disable_auth, as: 'disableAuth'
           property :jwt_audience, as: 'jwtAudience'
           property :min_deadline, as: 'minDeadline'
           property :operation_deadline, as: 'operationDeadline'
diff --git a/generated/google/apis/serviceusage_v1.rb b/generated/google/apis/serviceusage_v1.rb
index 9992c7c2a..75bf705a3 100644
--- a/generated/google/apis/serviceusage_v1.rb
+++ b/generated/google/apis/serviceusage_v1.rb
@@ -27,7 +27,7 @@ module Google
     # @see https://cloud.google.com/service-usage/
     module ServiceusageV1
       VERSION = 'V1'
-      REVISION = '20191203'
+      REVISION = '20191206'
 
       # 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/serviceusage_v1/classes.rb b/generated/google/apis/serviceusage_v1/classes.rb
index ad952175f..869aca119 100644
--- a/generated/google/apis/serviceusage_v1/classes.rb
+++ b/generated/google/apis/serviceusage_v1/classes.rb
@@ -350,7 +350,21 @@ module Google
         # @return [Float]
         attr_accessor :deadline
       
-        # The JWT audience is used when generating a JWT id token for the backend.
+        # When disable_auth is false,  a JWT ID token will be generated with the
+        # value from BackendRule.address as jwt_audience, overrode to the HTTP
+        # "Authorization" request header and sent to the backend.
+        # When disable_auth is true, a JWT ID token won't be generated and the
+        # original "Authorization" HTTP header will be preserved. If the header is
+        # used to carry the original token and is expected by the backend, this
+        # field must be set to true to preserve the header.
+        # Corresponds to the JSON property `disableAuth`
+        # @return [Boolean]
+        attr_accessor :disable_auth
+        alias_method :disable_auth?, :disable_auth
+      
+        # The JWT audience is used when generating a JWT ID token for the backend.
+        # This ID token will be added in the HTTP "authorization" header, and sent
+        # to the backend.
         # Corresponds to the JSON property `jwtAudience`
         # @return [String]
         attr_accessor :jwt_audience
@@ -386,6 +400,7 @@ module Google
         def update!(**args)
           @address = args[:address] if args.key?(:address)
           @deadline = args[:deadline] if args.key?(:deadline)
+          @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
           @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
           @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
           @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
diff --git a/generated/google/apis/serviceusage_v1/representations.rb b/generated/google/apis/serviceusage_v1/representations.rb
index 2d5c4473b..be1ce2e11 100644
--- a/generated/google/apis/serviceusage_v1/representations.rb
+++ b/generated/google/apis/serviceusage_v1/representations.rb
@@ -531,6 +531,7 @@ module Google
         class Representation < Google::Apis::Core::JsonRepresentation
           property :address, as: 'address'
           property :deadline, as: 'deadline'
+          property :disable_auth, as: 'disableAuth'
           property :jwt_audience, as: 'jwtAudience'
           property :min_deadline, as: 'minDeadline'
           property :operation_deadline, as: 'operationDeadline'
diff --git a/generated/google/apis/serviceusage_v1beta1.rb b/generated/google/apis/serviceusage_v1beta1.rb
index c3f5bd305..80f15f095 100644
--- a/generated/google/apis/serviceusage_v1beta1.rb
+++ b/generated/google/apis/serviceusage_v1beta1.rb
@@ -27,7 +27,7 @@ module Google
     # @see https://cloud.google.com/service-usage/
     module ServiceusageV1beta1
       VERSION = 'V1beta1'
-      REVISION = '20191203'
+      REVISION = '20191206'
 
       # 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/serviceusage_v1beta1/classes.rb b/generated/google/apis/serviceusage_v1beta1/classes.rb
index f79bb8825..b4533b0ef 100644
--- a/generated/google/apis/serviceusage_v1beta1/classes.rb
+++ b/generated/google/apis/serviceusage_v1beta1/classes.rb
@@ -350,7 +350,21 @@ module Google
         # @return [Float]
         attr_accessor :deadline
       
-        # The JWT audience is used when generating a JWT id token for the backend.
+        # When disable_auth is false,  a JWT ID token will be generated with the
+        # value from BackendRule.address as jwt_audience, overrode to the HTTP
+        # "Authorization" request header and sent to the backend.
+        # When disable_auth is true, a JWT ID token won't be generated and the
+        # original "Authorization" HTTP header will be preserved. If the header is
+        # used to carry the original token and is expected by the backend, this
+        # field must be set to true to preserve the header.
+        # Corresponds to the JSON property `disableAuth`
+        # @return [Boolean]
+        attr_accessor :disable_auth
+        alias_method :disable_auth?, :disable_auth
+      
+        # The JWT audience is used when generating a JWT ID token for the backend.
+        # This ID token will be added in the HTTP "authorization" header, and sent
+        # to the backend.
         # Corresponds to the JSON property `jwtAudience`
         # @return [String]
         attr_accessor :jwt_audience
@@ -386,6 +400,7 @@ module Google
         def update!(**args)
           @address = args[:address] if args.key?(:address)
           @deadline = args[:deadline] if args.key?(:deadline)
+          @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
           @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
           @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
           @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
diff --git a/generated/google/apis/serviceusage_v1beta1/representations.rb b/generated/google/apis/serviceusage_v1beta1/representations.rb
index 999694b93..52c4ded31 100644
--- a/generated/google/apis/serviceusage_v1beta1/representations.rb
+++ b/generated/google/apis/serviceusage_v1beta1/representations.rb
@@ -537,6 +537,7 @@ module Google
         class Representation < Google::Apis::Core::JsonRepresentation
           property :address, as: 'address'
           property :deadline, as: 'deadline'
+          property :disable_auth, as: 'disableAuth'
           property :jwt_audience, as: 'jwtAudience'
           property :min_deadline, as: 'minDeadline'
           property :operation_deadline, as: 'operationDeadline'
diff --git a/generated/google/apis/testing_v1.rb b/generated/google/apis/testing_v1.rb
index a9e71a875..668b4d2b4 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 = '20191021'
+      REVISION = '20191203'
 
       # 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 527068bfe..84887f6f6 100644
--- a/generated/google/apis/testing_v1/classes.rb
+++ b/generated/google/apis/testing_v1/classes.rb
@@ -1511,7 +1511,7 @@ module Google
         include Google::Apis::Core::Hashable
       
         # Required. Group of packages, classes, and/or test methods to be run for
-        # each shard. The number of shard_test_targets must be > 1, and <= 50.
+        # each shard. The number of shard_test_targets must be >= 1 and <= 50.
         # Corresponds to the JSON property `testTargetsForShard`
         # @return [Array]
         attr_accessor :test_targets_for_shard
@@ -2458,7 +2458,7 @@ module Google
       class UniformSharding
         include Google::Apis::Core::Hashable
       
-        # Required. Total number of shards. The number must be > 1, and <= 50.
+        # Required. Total number of shards. The number must be >= 1 and <= 50.
         # Corresponds to the JSON property `numShards`
         # @return [Fixnum]
         attr_accessor :num_shards
diff --git a/generated/google/apis/toolresults_v1beta3.rb b/generated/google/apis/toolresults_v1beta3.rb
index d90c2ca84..18a13d22c 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 = '20190924'
+      REVISION = '20191203'
 
       # 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 9d2feeda2..98fb88f8c 100644
--- a/generated/google/apis/toolresults_v1beta3/classes.rb
+++ b/generated/google/apis/toolresults_v1beta3/classes.rb
@@ -535,6 +535,229 @@ module Google
         end
       end
       
+      # An Environment represents the set of test runs (Steps) from the parent
+      # Execution that are configured with the same set of dimensions (Model, Version,
+      # Locale, and Orientation). Multiple such runs occur particularly because of
+      # features like sharding (splitting up a test suite to run in parallel across
+      # devices) and reruns (running a test multiple times to check for different
+      # outcomes).
+      class Environment
+        include Google::Apis::Core::Hashable
+      
+        # A Timestamp represents a point in time independent of any time zone or local
+        # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
+        # resolution. The count is relative to an epoch at UTC midnight on January 1,
+        # 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar
+        # backwards to year one.
+        # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+        # second table is needed for interpretation, using a [24-hour linear smear](
+        # https://developers.google.com/time/smear).
+        # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+        # restricting to that range, we ensure that we can convert to and from [RFC 3339]
+        # (https://www.ietf.org/rfc/rfc3339.txt) date strings.
+        # # Examples
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
+        # tv_usec * 1000);
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
+        # dwHighDateTime) << 32) | ft.dwLowDateTime;
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
+        # 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
+        # timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+        # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        # long millis = System.currentTimeMillis();
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
+        # setNanos((int) ((millis % 1000) * 1000000)).build();
+        # Example 5: Compute Timestamp from current time in Python.
+        # timestamp = Timestamp() timestamp.GetCurrentTime()
+        # # JSON Mapping
+        # In JSON format, the Timestamp type is encoded as a string in the [RFC 3339](
+        # https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is "`year`-`
+        # month`-`day`T`hour`:`min`:`sec`[.`frac_sec`]Z" where `year` is always
+        # expressed using four digits while `month`, `day`, `hour`, `min`, and `sec` are
+        # zero-padded to two digits each. The fractional seconds, which can go up to 9
+        # digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
+        # indicates the timezone ("UTC"); the timezone is required. A proto3 JSON
+        # serializer should always use UTC (as indicated by "Z") when printing the
+        # Timestamp type and a proto3 JSON parser should be able to accept both UTC and
+        # other timezones (as indicated by an offset).
+        # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
+        # January 15, 2017.
+        # In JavaScript, one can convert a Date object to this format using the standard
+        # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/
+        # Reference/Global_Objects/Date/toISOString) method. In Python, a standard `
+        # datetime.datetime` object can be converted to this format using [`strftime`](
+        # https://docs.python.org/2/library/time.html#time.strftime) with the time
+        # format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
+        # Time's [`ISODateTimeFormat.dateTime()`]( http://www.joda.org/joda-time/apidocs/
+        # org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D ) to obtain a
+        # formatter capable of generating timestamps in this format.
+        # Corresponds to the JSON property `completionTime`
+        # @return [Google::Apis::ToolresultsV1beta3::Timestamp]
+        attr_accessor :completion_time
+      
+        # A Timestamp represents a point in time independent of any time zone or local
+        # calendar, encoded as a count of seconds and fractions of seconds at nanosecond
+        # resolution. The count is relative to an epoch at UTC midnight on January 1,
+        # 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar
+        # backwards to year one.
+        # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+        # second table is needed for interpretation, using a [24-hour linear smear](
+        # https://developers.google.com/time/smear).
+        # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+        # restricting to that range, we ensure that we can convert to and from [RFC 3339]
+        # (https://www.ietf.org/rfc/rfc3339.txt) date strings.
+        # # Examples
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.
+        # tv_usec * 1000);
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.
+        # dwHighDateTime) << 32) | ft.dwLowDateTime;
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is
+        # 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp
+        # timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+        # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        # long millis = System.currentTimeMillis();
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .
+        # setNanos((int) ((millis % 1000) * 1000000)).build();
+        # Example 5: Compute Timestamp from current time in Python.
+        # timestamp = Timestamp() timestamp.GetCurrentTime()
+        # # JSON Mapping
+        # In JSON format, the Timestamp type is encoded as a string in the [RFC 3339](
+        # https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is "`year`-`
+        # month`-`day`T`hour`:`min`:`sec`[.`frac_sec`]Z" where `year` is always
+        # expressed using four digits while `month`, `day`, `hour`, `min`, and `sec` are
+        # zero-padded to two digits each. The fractional seconds, which can go up to 9
+        # digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix
+        # indicates the timezone ("UTC"); the timezone is required. A proto3 JSON
+        # serializer should always use UTC (as indicated by "Z") when printing the
+        # Timestamp type and a proto3 JSON parser should be able to accept both UTC and
+        # other timezones (as indicated by an offset).
+        # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on
+        # January 15, 2017.
+        # In JavaScript, one can convert a Date object to this format using the standard
+        # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/
+        # Reference/Global_Objects/Date/toISOString) method. In Python, a standard `
+        # datetime.datetime` object can be converted to this format using [`strftime`](
+        # https://docs.python.org/2/library/time.html#time.strftime) with the time
+        # format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda
+        # Time's [`ISODateTimeFormat.dateTime()`]( http://www.joda.org/joda-time/apidocs/
+        # org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D ) to obtain a
+        # formatter capable of generating timestamps in this format.
+        # Corresponds to the JSON property `creationTime`
+        # @return [Google::Apis::ToolresultsV1beta3::Timestamp]
+        attr_accessor :creation_time
+      
+        # Dimension values describing the environment. Dimension values always consist
+        # of "Model", "Version", "Locale", and "Orientation".
+        # - In response: always set - In create request: always set - In update request:
+        # never set
+        # Corresponds to the JSON property `dimensionValue`
+        # @return [Array]
+        attr_accessor :dimension_value
+      
+        # A short human-readable name to display in the UI. Maximum of 100 characters.
+        # For example: Nexus 5, API 27.
+        # Corresponds to the JSON property `displayName`
+        # @return [String]
+        attr_accessor :display_name
+      
+        # Output only. An Environment id.
+        # Corresponds to the JSON property `environmentId`
+        # @return [String]
+        attr_accessor :environment_id
+      
+        # Merged test result for environment.
+        # If the environment has only one step (no reruns or shards), then the merged
+        # result is the same as the step result. If the environment has multiple shards
+        # and/or reruns, then the results of shards and reruns that belong to the same
+        # environment are merged into one environment result.
+        # Corresponds to the JSON property `environmentResult`
+        # @return [Google::Apis::ToolresultsV1beta3::MergedResult]
+        attr_accessor :environment_result
+      
+        # Output only. An Execution id.
+        # Corresponds to the JSON property `executionId`
+        # @return [String]
+        attr_accessor :execution_id
+      
+        # Output only. A History id.
+        # Corresponds to the JSON property `historyId`
+        # @return [String]
+        attr_accessor :history_id
+      
+        # Output only. A Project id.
+        # Corresponds to the JSON property `projectId`
+        # @return [String]
+        attr_accessor :project_id
+      
+        # The storage for test results.
+        # Corresponds to the JSON property `resultsStorage`
+        # @return [Google::Apis::ToolresultsV1beta3::ResultsStorage]
+        attr_accessor :results_storage
+      
+        # Output only. Summaries of shards.
+        # Only one shard will present unless sharding feature is enabled in
+        # TestExecutionService.
+        # Corresponds to the JSON property `shardSummaries`
+        # @return [Array]
+        attr_accessor :shard_summaries
+      
+        def initialize(**args)
+           update!(**args)
+        end
+      
+        # Update properties of this object
+        def update!(**args)
+          @completion_time = args[:completion_time] if args.key?(:completion_time)
+          @creation_time = args[:creation_time] if args.key?(:creation_time)
+          @dimension_value = args[:dimension_value] if args.key?(:dimension_value)
+          @display_name = args[:display_name] if args.key?(:display_name)
+          @environment_id = args[:environment_id] if args.key?(:environment_id)
+          @environment_result = args[:environment_result] if args.key?(:environment_result)
+          @execution_id = args[:execution_id] if args.key?(:execution_id)
+          @history_id = args[:history_id] if args.key?(:history_id)
+          @project_id = args[:project_id] if args.key?(:project_id)
+          @results_storage = args[:results_storage] if args.key?(:results_storage)
+          @shard_summaries = args[:shard_summaries] if args.key?(:shard_summaries)
+        end
+      end
+      
+      # 
+      class EnvironmentDimensionValueEntry
+        include Google::Apis::Core::Hashable
+      
+        # 
+        # Corresponds to the JSON property `key`
+        # @return [String]
+        attr_accessor :key
+      
+        # 
+        # 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)
+          @key = args[:key] if args.key?(:key)
+          @value = args[:value] if args.key?(:value)
+        end
+      end
+      
       # An Execution represents a collection of Steps. For instance, it could
       # represent: - a mobile test executed across a range of device configurations -
       # a jenkins job with a build step followed by a test step
@@ -1090,6 +1313,54 @@ module Google
         end
       end
       
+      # Response message for EnvironmentService.ListEnvironments.
+      class ListEnvironmentsResponse
+        include Google::Apis::Core::Hashable
+      
+        # Environments.
+        # Always set.
+        # Corresponds to the JSON property `environments`
+        # @return [Array]
+        attr_accessor :environments
+      
+        # A Execution id
+        # Always set.
+        # Corresponds to the JSON property `executionId`
+        # @return [String]
+        attr_accessor :execution_id
+      
+        # A History id.
+        # Always set.
+        # Corresponds to the JSON property `historyId`
+        # @return [String]
+        attr_accessor :history_id
+      
+        # A continuation token to resume the query at the next item.
+        # Will only be set if there are more Environments to fetch.
+        # Corresponds to the JSON property `nextPageToken`
+        # @return [String]
+        attr_accessor :next_page_token
+      
+        # A Project id.
+        # Always set.
+        # Corresponds to the JSON property `projectId`
+        # @return [String]
+        attr_accessor :project_id
+      
+        def initialize(**args)
+           update!(**args)
+        end
+      
+        # Update properties of this object
+        def update!(**args)
+          @environments = args[:environments] if args.key?(:environments)
+          @execution_id = args[:execution_id] if args.key?(:execution_id)
+          @history_id = args[:history_id] if args.key?(:history_id)
+          @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
+          @project_id = args[:project_id] if args.key?(:project_id)
+        end
+      end
+      
       # 
       class ListExecutionsResponse
         include Google::Apis::Core::Hashable
@@ -1322,6 +1593,50 @@ module Google
         end
       end
       
+      # Merged test result for environment.
+      # If the environment has only one step (no reruns or shards), then the merged
+      # result is the same as the step result. If the environment has multiple shards
+      # and/or reruns, then the results of shards and reruns that belong to the same
+      # environment are merged into one environment result.
+      class MergedResult
+        include Google::Apis::Core::Hashable
+      
+        # Interprets a result so that humans and machines can act on it.
+        # Corresponds to the JSON property `outcome`
+        # @return [Google::Apis::ToolresultsV1beta3::Outcome]
+        attr_accessor :outcome
+      
+        # State of the resource
+        # Corresponds to the JSON property `state`
+        # @return [String]
+        attr_accessor :state
+      
+        # The combined and rolled-up result of each test suite that was run as part of
+        # this environment.
+        # Combining: When the test cases from a suite are run in different steps (
+        # sharding), the results are added back together in one overview. (e.g., if
+        # shard1 has 2 failures and shard2 has 1 failure than the overview failure_count
+        # = 3).
+        # Rollup: When test cases from the same suite are run multiple times (flaky),
+        # the results are combined (e.g., if testcase1.run1 fails, testcase1.run2 passes,
+        # and both testcase2.run1 and testcase2.run2 fail then the overview flaky_count
+        # = 1 and failure_count = 1).
+        # Corresponds to the JSON property `testSuiteOverviews`
+        # @return [Array]
+        attr_accessor :test_suite_overviews
+      
+        def initialize(**args)
+           update!(**args)
+        end
+      
+        # Update properties of this object
+        def update!(**args)
+          @outcome = args[:outcome] if args.key?(:outcome)
+          @state = args[:state] if args.key?(:state)
+          @test_suite_overviews = args[:test_suite_overviews] if args.key?(:test_suite_overviews)
+        end
+      end
+      
       # Details when multiple steps are run with the same configuration as a group.
       class MultiStep
         include Google::Apis::Core::Hashable
@@ -1374,7 +1689,7 @@ module Google
         # @return [Google::Apis::ToolresultsV1beta3::SkippedDetail]
         attr_accessor :skipped_detail
       
-        # Details for an outcome with a SUCCESS outcome summary.
+        # Details for an outcome with a SUCCESS outcome summary. LINT.IfChange
         # Corresponds to the JSON property `successDetail`
         # @return [Google::Apis::ToolresultsV1beta3::SuccessDetail]
         attr_accessor :success_detail
@@ -1690,6 +2005,31 @@ module Google
         end
       end
       
+      # The storage for test results.
+      class ResultsStorage
+        include Google::Apis::Core::Hashable
+      
+        # A reference to a file.
+        # Corresponds to the JSON property `resultsStoragePath`
+        # @return [Google::Apis::ToolresultsV1beta3::FileReference]
+        attr_accessor :results_storage_path
+      
+        # A reference to a file.
+        # Corresponds to the JSON property `xunitXmlFile`
+        # @return [Google::Apis::ToolresultsV1beta3::FileReference]
+        attr_accessor :xunit_xml_file
+      
+        def initialize(**args)
+           update!(**args)
+        end
+      
+        # Update properties of this object
+        def update!(**args)
+          @results_storage_path = args[:results_storage_path] if args.key?(:results_storage_path)
+          @xunit_xml_file = args[:xunit_xml_file] if args.key?(:xunit_xml_file)
+        end
+      end
+      
       # 
       class Screen
         include Google::Apis::Core::Hashable
@@ -1767,6 +2107,29 @@ module Google
         end
       end
       
+      # Result summary for a shard in an environment.
+      class ShardSummary
+        include Google::Apis::Core::Hashable
+      
+        # Merged test result for environment.
+        # If the environment has only one step (no reruns or shards), then the merged
+        # result is the same as the step result. If the environment has multiple shards
+        # and/or reruns, then the results of shards and reruns that belong to the same
+        # environment are merged into one environment result.
+        # Corresponds to the JSON property `shardResult`
+        # @return [Google::Apis::ToolresultsV1beta3::MergedResult]
+        attr_accessor :shard_result
+      
+        def initialize(**args)
+           update!(**args)
+        end
+      
+        # Update properties of this object
+        def update!(**args)
+          @shard_result = args[:shard_result] if args.key?(:shard_result)
+        end
+      end
+      
       # Details for an outcome with a SKIPPED outcome summary.
       class SkippedDetail
         include Google::Apis::Core::Hashable
@@ -2262,7 +2625,7 @@ module Google
         end
       end
       
-      # Details for an outcome with a SUCCESS outcome summary.
+      # Details for an outcome with a SUCCESS outcome summary. LINT.IfChange
       class SuccessDetail
         include Google::Apis::Core::Hashable
       
@@ -2710,6 +3073,14 @@ module Google
         # @return [Fixnum]
         attr_accessor :failure_count
       
+        # Number of flaky test cases, set by the service by rolling up flaky test
+        # attempts.
+        # Present only for rollup test suite overview at environment level. A step
+        # cannot have flaky test cases.
+        # Corresponds to the JSON property `flakyCount`
+        # @return [Fixnum]
+        attr_accessor :flaky_count
+      
         # The name of the test suite.
         # - In create/response: always set - In update request: never
         # Corresponds to the JSON property `name`
@@ -2743,6 +3114,7 @@ module Google
           @elapsed_time = args[:elapsed_time] if args.key?(:elapsed_time)
           @error_count = args[:error_count] if args.key?(:error_count)
           @failure_count = args[:failure_count] if args.key?(:failure_count)
+          @flaky_count = args[:flaky_count] if args.key?(:flaky_count)
           @name = args[:name] if args.key?(:name)
           @skipped_count = args[:skipped_count] if args.key?(:skipped_count)
           @total_count = args[:total_count] if args.key?(:total_count)
diff --git a/generated/google/apis/toolresults_v1beta3/representations.rb b/generated/google/apis/toolresults_v1beta3/representations.rb
index 92e7c5613..3bd886a49 100644
--- a/generated/google/apis/toolresults_v1beta3/representations.rb
+++ b/generated/google/apis/toolresults_v1beta3/representations.rb
@@ -88,6 +88,18 @@ module Google
         include Google::Apis::Core::JsonObjectSupport
       end
       
+      class Environment
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
+      class EnvironmentDimensionValueEntry
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
       class Execution
         class Representation < Google::Apis::Core::JsonRepresentation; end
       
@@ -142,6 +154,12 @@ module Google
         include Google::Apis::Core::JsonObjectSupport
       end
       
+      class ListEnvironmentsResponse
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
       class ListExecutionsResponse
         class Representation < Google::Apis::Core::JsonRepresentation; end
       
@@ -196,6 +214,12 @@ module Google
         include Google::Apis::Core::JsonObjectSupport
       end
       
+      class MergedResult
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
       class MultiStep
         class Representation < Google::Apis::Core::JsonRepresentation; end
       
@@ -250,6 +274,12 @@ module Google
         include Google::Apis::Core::JsonObjectSupport
       end
       
+      class ResultsStorage
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
       class Screen
         class Representation < Google::Apis::Core::JsonRepresentation; end
       
@@ -262,6 +292,12 @@ module Google
         include Google::Apis::Core::JsonObjectSupport
       end
       
+      class ShardSummary
+        class Representation < Google::Apis::Core::JsonRepresentation; end
+      
+        include Google::Apis::Core::JsonObjectSupport
+      end
+      
       class SkippedDetail
         class Representation < Google::Apis::Core::JsonRepresentation; end
       
@@ -487,6 +523,37 @@ module Google
         end
       end
       
+      class Environment
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          property :completion_time, as: 'completionTime', class: Google::Apis::ToolresultsV1beta3::Timestamp, decorator: Google::Apis::ToolresultsV1beta3::Timestamp::Representation
+      
+          property :creation_time, as: 'creationTime', class: Google::Apis::ToolresultsV1beta3::Timestamp, decorator: Google::Apis::ToolresultsV1beta3::Timestamp::Representation
+      
+          collection :dimension_value, as: 'dimensionValue', class: Google::Apis::ToolresultsV1beta3::EnvironmentDimensionValueEntry, decorator: Google::Apis::ToolresultsV1beta3::EnvironmentDimensionValueEntry::Representation
+      
+          property :display_name, as: 'displayName'
+          property :environment_id, as: 'environmentId'
+          property :environment_result, as: 'environmentResult', class: Google::Apis::ToolresultsV1beta3::MergedResult, decorator: Google::Apis::ToolresultsV1beta3::MergedResult::Representation
+      
+          property :execution_id, as: 'executionId'
+          property :history_id, as: 'historyId'
+          property :project_id, as: 'projectId'
+          property :results_storage, as: 'resultsStorage', class: Google::Apis::ToolresultsV1beta3::ResultsStorage, decorator: Google::Apis::ToolresultsV1beta3::ResultsStorage::Representation
+      
+          collection :shard_summaries, as: 'shardSummaries', class: Google::Apis::ToolresultsV1beta3::ShardSummary, decorator: Google::Apis::ToolresultsV1beta3::ShardSummary::Representation
+      
+        end
+      end
+      
+      class EnvironmentDimensionValueEntry
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          property :key, as: 'key'
+          property :value, as: 'value'
+        end
+      end
+      
       class Execution
         # @private
         class Representation < Google::Apis::Core::JsonRepresentation
@@ -591,6 +658,18 @@ module Google
         end
       end
       
+      class ListEnvironmentsResponse
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          collection :environments, as: 'environments', class: Google::Apis::ToolresultsV1beta3::Environment, decorator: Google::Apis::ToolresultsV1beta3::Environment::Representation
+      
+          property :execution_id, as: 'executionId'
+          property :history_id, as: 'historyId'
+          property :next_page_token, as: 'nextPageToken'
+          property :project_id, as: 'projectId'
+        end
+      end
+      
       class ListExecutionsResponse
         # @private
         class Representation < Google::Apis::Core::JsonRepresentation
@@ -669,6 +748,17 @@ module Google
         end
       end
       
+      class MergedResult
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          property :outcome, as: 'outcome', class: Google::Apis::ToolresultsV1beta3::Outcome, decorator: Google::Apis::ToolresultsV1beta3::Outcome::Representation
+      
+          property :state, as: 'state'
+          collection :test_suite_overviews, as: 'testSuiteOverviews', class: Google::Apis::ToolresultsV1beta3::TestSuiteOverview, decorator: Google::Apis::ToolresultsV1beta3::TestSuiteOverview::Representation
+      
+        end
+      end
+      
       class MultiStep
         # @private
         class Representation < Google::Apis::Core::JsonRepresentation
@@ -768,6 +858,16 @@ module Google
         end
       end
       
+      class ResultsStorage
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          property :results_storage_path, as: 'resultsStoragePath', class: Google::Apis::ToolresultsV1beta3::FileReference, decorator: Google::Apis::ToolresultsV1beta3::FileReference::Representation
+      
+          property :xunit_xml_file, as: 'xunitXmlFile', class: Google::Apis::ToolresultsV1beta3::FileReference, decorator: Google::Apis::ToolresultsV1beta3::FileReference::Representation
+      
+        end
+      end
+      
       class Screen
         # @private
         class Representation < Google::Apis::Core::JsonRepresentation
@@ -790,6 +890,14 @@ module Google
         end
       end
       
+      class ShardSummary
+        # @private
+        class Representation < Google::Apis::Core::JsonRepresentation
+          property :shard_result, as: 'shardResult', class: Google::Apis::ToolresultsV1beta3::MergedResult, decorator: Google::Apis::ToolresultsV1beta3::MergedResult::Representation
+      
+        end
+      end
+      
       class SkippedDetail
         # @private
         class Representation < Google::Apis::Core::JsonRepresentation
@@ -943,6 +1051,7 @@ module Google
       
           property :error_count, as: 'errorCount'
           property :failure_count, as: 'failureCount'
+          property :flaky_count, as: 'flakyCount'
           property :name, as: 'name'
           property :skipped_count, as: 'skippedCount'
           property :total_count, as: 'totalCount'
diff --git a/generated/google/apis/toolresults_v1beta3/service.rb b/generated/google/apis/toolresults_v1beta3/service.rb
index 05d7f0960..88550aa70 100644
--- a/generated/google/apis/toolresults_v1beta3/service.rb
+++ b/generated/google/apis/toolresults_v1beta3/service.rb
@@ -581,6 +581,104 @@ module Google
           execute_or_queue_command(command, &block)
         end
         
+        # Gets an Environment.
+        # May return any of the following canonical error codes:
+        # - PERMISSION_DENIED - if the user is not authorized to read project -
+        # INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the
+        # Environment does not exist
+        # @param [String] project_id
+        #   Required. A Project id.
+        # @param [String] history_id
+        #   Required. A History id.
+        # @param [String] execution_id
+        #   Required. An Execution id.
+        # @param [String] environment_id
+        #   Required. An Environment id.
+        # @param [String] fields
+        #   Selector specifying which fields to include in a partial response.
+        # @param [String] quota_user
+        #   An opaque string that represents a user for quota purposes. Must not exceed 40
+        #   characters.
+        # @param [String] user_ip
+        #   Deprecated. Please use quotaUser instead.
+        # @param [Google::Apis::RequestOptions] options
+        #   Request-specific options
+        #
+        # @yield [result, err] Result & error if block supplied
+        # @yieldparam result [Google::Apis::ToolresultsV1beta3::Environment] parsed result object
+        # @yieldparam err [StandardError] error object if request failed
+        #
+        # @return [Google::Apis::ToolresultsV1beta3::Environment]
+        #
+        # @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_history_execution_environment(project_id, history_id, execution_id, environment_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+          command = make_simple_command(:get, '{projectId}/histories/{historyId}/executions/{executionId}/environments/{environmentId}', options)
+          command.response_representation = Google::Apis::ToolresultsV1beta3::Environment::Representation
+          command.response_class = Google::Apis::ToolresultsV1beta3::Environment
+          command.params['projectId'] = project_id unless project_id.nil?
+          command.params['historyId'] = history_id unless history_id.nil?
+          command.params['executionId'] = execution_id unless execution_id.nil?
+          command.params['environmentId'] = environment_id unless environment_id.nil?
+          command.query['fields'] = fields unless fields.nil?
+          command.query['quotaUser'] = quota_user unless quota_user.nil?
+          command.query['userIp'] = user_ip unless user_ip.nil?
+          execute_or_queue_command(command, &block)
+        end
+        
+        # Lists Environments for a given Execution.
+        # The Environments are sorted by display name.
+        # May return any of the following canonical error codes:
+        # - PERMISSION_DENIED - if the user is not authorized to read project -
+        # INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing
+        # Execution does not exist
+        # @param [String] project_id
+        #   Required. A Project id.
+        # @param [String] history_id
+        #   Required. A History id.
+        # @param [String] execution_id
+        #   Required. An Execution id.
+        # @param [Fixnum] page_size
+        #   The maximum number of Environments to fetch.
+        #   Default value: 25. The server will use this default if the field is not set or
+        #   has a value of 0.
+        # @param [String] page_token
+        #   A continuation token to resume the query at the next item.
+        # @param [String] fields
+        #   Selector specifying which fields to include in a partial response.
+        # @param [String] quota_user
+        #   An opaque string that represents a user for quota purposes. Must not exceed 40
+        #   characters.
+        # @param [String] user_ip
+        #   Deprecated. Please use quotaUser instead.
+        # @param [Google::Apis::RequestOptions] options
+        #   Request-specific options
+        #
+        # @yield [result, err] Result & error if block supplied
+        # @yieldparam result [Google::Apis::ToolresultsV1beta3::ListEnvironmentsResponse] parsed result object
+        # @yieldparam err [StandardError] error object if request failed
+        #
+        # @return [Google::Apis::ToolresultsV1beta3::ListEnvironmentsResponse]
+        #
+        # @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_history_execution_environments(project_id, history_id, execution_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
+          command = make_simple_command(:get, '{projectId}/histories/{historyId}/executions/{executionId}/environments', options)
+          command.response_representation = Google::Apis::ToolresultsV1beta3::ListEnvironmentsResponse::Representation
+          command.response_class = Google::Apis::ToolresultsV1beta3::ListEnvironmentsResponse
+          command.params['projectId'] = project_id unless project_id.nil?
+          command.params['historyId'] = history_id unless history_id.nil?
+          command.params['executionId'] = execution_id unless execution_id.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?
+          command.query['userIp'] = user_ip unless user_ip.nil?
+          execute_or_queue_command(command, &block)
+        end
+        
         # Creates a Step.
         # The returned Step will have the id set.
         # May return any of the following canonical error codes:
diff --git a/generated/google/apis/youtube_partner_v1.rb b/generated/google/apis/youtube_partner_v1.rb
index 5a9b96796..709812118 100644
--- a/generated/google/apis/youtube_partner_v1.rb
+++ b/generated/google/apis/youtube_partner_v1.rb
@@ -25,7 +25,7 @@ module Google
     # @see https://developers.google.com/youtube/partner/
     module YoutubePartnerV1
       VERSION = 'V1'
-      REVISION = '20191116'
+      REVISION = '20191203'
 
       # View and manage your assets and associated content on YouTube
       AUTH_YOUTUBEPARTNER = 'https://www.googleapis.com/auth/youtubepartner'