google-api-client 0.33.0 → 0.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +19 -0
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +12 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +105 -0
  7. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  13. data/generated/google/apis/androidpublisher_v3/classes.rb +6 -0
  14. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  15. data/generated/google/apis/bigquery_v2.rb +1 -1
  16. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  17. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  18. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  19. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +1 -1
  20. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  21. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  22. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  23. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  24. data/generated/google/apis/cloudasset_v1.rb +1 -1
  25. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  26. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  27. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  28. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  29. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  30. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  31. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  32. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  33. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +11 -8
  34. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  35. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  36. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  37. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  38. data/generated/google/apis/cloudshell_v1.rb +1 -1
  39. data/generated/google/apis/cloudshell_v1/classes.rb +15 -0
  40. data/generated/google/apis/cloudshell_v1/representations.rb +2 -0
  41. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  42. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +15 -0
  43. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +2 -0
  44. data/generated/google/apis/compute_alpha.rb +1 -1
  45. data/generated/google/apis/compute_alpha/classes.rb +481 -126
  46. data/generated/google/apis/compute_alpha/representations.rb +107 -2
  47. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  48. data/generated/google/apis/compute_beta.rb +1 -1
  49. data/generated/google/apis/compute_beta/classes.rb +986 -241
  50. data/generated/google/apis/compute_beta/representations.rb +284 -0
  51. data/generated/google/apis/compute_beta/service.rb +1242 -532
  52. data/generated/google/apis/compute_v1.rb +1 -1
  53. data/generated/google/apis/compute_v1/classes.rb +252 -99
  54. data/generated/google/apis/compute_v1/representations.rb +24 -0
  55. data/generated/google/apis/compute_v1/service.rb +749 -472
  56. data/generated/google/apis/docs_v1.rb +1 -1
  57. data/generated/google/apis/docs_v1/classes.rb +63 -0
  58. data/generated/google/apis/docs_v1/representations.rb +17 -0
  59. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  60. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  61. data/generated/google/apis/healthcare_v1beta1/classes.rb +203 -8
  62. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  63. data/generated/google/apis/healthcare_v1beta1/service.rb +100 -3
  64. data/generated/google/apis/iam_v1.rb +1 -1
  65. data/generated/google/apis/iam_v1/classes.rb +1 -1
  66. data/generated/google/apis/iap_v1.rb +1 -1
  67. data/generated/google/apis/iap_v1/classes.rb +185 -0
  68. data/generated/google/apis/iap_v1/representations.rb +102 -0
  69. data/generated/google/apis/iap_v1/service.rb +72 -0
  70. data/generated/google/apis/{speech_v2beta.rb → lifesciences_v2beta.rb} +9 -8
  71. data/generated/google/apis/lifesciences_v2beta/classes.rb +1328 -0
  72. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  73. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  74. data/generated/google/apis/monitoring_v1.rb +36 -0
  75. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  76. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  77. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  78. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  79. data/generated/google/apis/run_v1.rb +1 -1
  80. data/generated/google/apis/run_v1/classes.rb +0 -7
  81. data/generated/google/apis/run_v1/service.rb +156 -94
  82. data/generated/google/apis/sql_v1beta4.rb +37 -0
  83. data/generated/google/apis/sql_v1beta4/classes.rb +2689 -0
  84. data/generated/google/apis/sql_v1beta4/representations.rb +1099 -0
  85. data/generated/google/apis/sql_v1beta4/service.rb +1660 -0
  86. data/generated/google/apis/testing_v1.rb +1 -1
  87. data/generated/google/apis/testing_v1/classes.rb +1 -1
  88. data/generated/google/apis/vision_v1.rb +1 -1
  89. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  90. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  91. data/lib/google/apis/version.rb +1 -1
  92. metadata +14 -6
  93. data/generated/google/apis/speech_v2beta/classes.rb +0 -355
  94. data/generated/google/apis/speech_v2beta/representations.rb +0 -152
  95. data/generated/google/apis/speech_v2beta/service.rb +0 -138
@@ -96,10 +96,12 @@ module Google
96
96
  property :name, as: 'name'
97
97
  collection :public_keys, as: 'publicKeys', class: Google::Apis::CloudshellV1::PublicKey, decorator: Google::Apis::CloudshellV1::PublicKey::Representation
98
98
 
99
+ property :size, as: 'size'
99
100
  property :ssh_host, as: 'sshHost'
100
101
  property :ssh_port, as: 'sshPort'
101
102
  property :ssh_username, as: 'sshUsername'
102
103
  property :state, as: 'state'
104
+ property :vm_size_expire_time, as: 'vmSizeExpireTime'
103
105
  property :web_host, as: 'webHost'
104
106
  end
105
107
  end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/shell/docs/
27
27
  module CloudshellV1alpha1
28
28
  VERSION = 'V1alpha1'
29
- REVISION = '20190724'
29
+ REVISION = '20191016'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -128,6 +128,13 @@ module Google
128
128
  # @return [Array<Google::Apis::CloudshellV1alpha1::PublicKey>]
129
129
  attr_accessor :public_keys
130
130
 
131
+ # Indicates the size of the backing VM running the environment. If set to
132
+ # something other than DEFAULT, it will be reverted to the default VM size
133
+ # after vm_size_expire_time.
134
+ # Corresponds to the JSON property `size`
135
+ # @return [String]
136
+ attr_accessor :size
137
+
131
138
  # Output only. Host to which clients can connect to initiate SSH sessions
132
139
  # with the environment.
133
140
  # Corresponds to the JSON property `sshHost`
@@ -151,6 +158,12 @@ module Google
151
158
  # @return [String]
152
159
  attr_accessor :state
153
160
 
161
+ # Output only. The time when the Environment will expire back to the default
162
+ # VM size.
163
+ # Corresponds to the JSON property `vmSizeExpireTime`
164
+ # @return [String]
165
+ attr_accessor :vm_size_expire_time
166
+
154
167
  # Output only. Host to which clients can connect to initiate HTTPS or WSS
155
168
  # connections with the environment.
156
169
  # Corresponds to the JSON property `webHost`
@@ -167,10 +180,12 @@ module Google
167
180
  @id = args[:id] if args.key?(:id)
168
181
  @name = args[:name] if args.key?(:name)
169
182
  @public_keys = args[:public_keys] if args.key?(:public_keys)
183
+ @size = args[:size] if args.key?(:size)
170
184
  @ssh_host = args[:ssh_host] if args.key?(:ssh_host)
171
185
  @ssh_port = args[:ssh_port] if args.key?(:ssh_port)
172
186
  @ssh_username = args[:ssh_username] if args.key?(:ssh_username)
173
187
  @state = args[:state] if args.key?(:state)
188
+ @vm_size_expire_time = args[:vm_size_expire_time] if args.key?(:vm_size_expire_time)
174
189
  @web_host = args[:web_host] if args.key?(:web_host)
175
190
  end
176
191
  end
@@ -113,10 +113,12 @@ module Google
113
113
  property :name, as: 'name'
114
114
  collection :public_keys, as: 'publicKeys', class: Google::Apis::CloudshellV1alpha1::PublicKey, decorator: Google::Apis::CloudshellV1alpha1::PublicKey::Representation
115
115
 
116
+ property :size, as: 'size'
116
117
  property :ssh_host, as: 'sshHost'
117
118
  property :ssh_port, as: 'sshPort'
118
119
  property :ssh_username, as: 'sshUsername'
119
120
  property :state, as: 'state'
121
+ property :vm_size_expire_time, as: 'vmSizeExpireTime'
120
122
  property :web_host, as: 'webHost'
121
123
  end
122
124
  end
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeAlpha
27
27
  VERSION = 'Alpha'
28
- REVISION = '20190905'
28
+ REVISION = '20190929'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -2836,16 +2836,10 @@ module Google
2836
2836
  end
2837
2837
 
2838
2838
  # Represents a Backend Service resource.
2839
- # Backend services must have an associated health check. Backend services also
2840
- # store information about session affinity. For more information, read Backend
2841
- # Services.
2842
- # A backendServices resource represents a global backend service. Global backend
2843
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2844
- # Director.
2845
- # A regionBackendServices resource represents a regional backend service.
2846
- # Regional backend services are used for internal TCP/UDP load balancing. For
2847
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2848
- # backendService ==) (== resource_for beta.backendService ==)
2839
+ # A backend service contains configuration values for Google Cloud Platform load
2840
+ # balancing services.
2841
+ # For more information, read Backend Services.
2842
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2849
2843
  class BackendService
2850
2844
  include Google::Apis::Core::Hashable
2851
2845
 
@@ -2949,9 +2943,12 @@ module Google
2949
2943
  # @return [String]
2950
2944
  attr_accessor :kind
2951
2945
 
2952
- # Indicates whether the backend service will be used with internal or external
2953
- # load balancing. A backend service created for one type of load balancing
2954
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2946
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2947
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2948
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2949
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2950
+ # for one type of load balancing cannot be used with another. For more
2951
+ # information, refer to Choosing a load balancer.
2955
2952
  # Corresponds to the JSON property `loadBalancingScheme`
2956
2953
  # @return [String]
2957
2954
  attr_accessor :load_balancing_scheme
@@ -3030,9 +3027,10 @@ module Google
3030
3027
  attr_accessor :port_name
3031
3028
 
3032
3029
  # The protocol this BackendService uses to communicate with backends.
3033
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
3034
- # load balancer or Traffic Director configuration. Refer to the documentation
3035
- # for the load balancer or for Traffic director for more information.
3030
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
3031
+ # chosen load balancer or Traffic Director configuration. Refer to the
3032
+ # documentation for the load balancer or for Traffic Director for more
3033
+ # information.
3036
3034
  # Corresponds to the JSON property `protocol`
3037
3035
  # @return [String]
3038
3036
  attr_accessor :protocol
@@ -4103,11 +4101,10 @@ module Google
4103
4101
  include Google::Apis::Core::Hashable
4104
4102
 
4105
4103
  # The type of call credentials to use for GRPC requests to the SDS server. This
4106
- # field can be set to one of the following: ACCESS_TOKEN: An access token is
4107
- # used as call credentials for the SDS server. GCE_VM: The local GCE VM service
4108
- # account credentials are used to access the SDS server. JWT_SERVICE_TOKEN: The
4109
- # user provisioned service account credentials are used to access the SDS server.
4110
- # FROM_PLUGIN: Custom authenticator credentials are used to access the SDS
4104
+ # field can be set to one of the following:
4105
+ # - GCE_VM: The local GCE VM service account credentials are used to access the
4106
+ # SDS server.
4107
+ # - FROM_PLUGIN: Custom authenticator credentials are used to access the SDS
4111
4108
  # server.
4112
4109
  # Corresponds to the JSON property `callCredentialType`
4113
4110
  # @return [String]
@@ -4270,6 +4267,15 @@ module Google
4270
4267
  class Commitment
4271
4268
  include Google::Apis::Core::Hashable
4272
4269
 
4270
+ # The category of the commitment. Category MACHINE specifies commitments
4271
+ # composed of machine resources such as VCPU or MEMORY, listed in resources.
4272
+ # Category LICENSE specifies commitments composed of software licenses, listed
4273
+ # in licenseResources. Note that only MACHINE commitments should have a Type
4274
+ # specified.
4275
+ # Corresponds to the JSON property `category`
4276
+ # @return [String]
4277
+ attr_accessor :category
4278
+
4273
4279
  # [Output Only] Creation timestamp in RFC3339 text format.
4274
4280
  # Corresponds to the JSON property `creationTimestamp`
4275
4281
  # @return [String]
@@ -4297,6 +4303,11 @@ module Google
4297
4303
  # @return [String]
4298
4304
  attr_accessor :kind
4299
4305
 
4306
+ # A list of commitment amounts for particular licenses.
4307
+ # Corresponds to the JSON property `licenseResources`
4308
+ # @return [Array<Google::Apis::ComputeAlpha::LicenseResourceCommitment>]
4309
+ attr_accessor :license_resources
4310
+
4300
4311
  # Name of the resource. Provided by the client when the resource is created. The
4301
4312
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
4302
4313
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -4370,11 +4381,13 @@ module Google
4370
4381
 
4371
4382
  # Update properties of this object
4372
4383
  def update!(**args)
4384
+ @category = args[:category] if args.key?(:category)
4373
4385
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4374
4386
  @description = args[:description] if args.key?(:description)
4375
4387
  @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
4376
4388
  @id = args[:id] if args.key?(:id)
4377
4389
  @kind = args[:kind] if args.key?(:kind)
4390
+ @license_resources = args[:license_resources] if args.key?(:license_resources)
4378
4391
  @name = args[:name] if args.key?(:name)
4379
4392
  @plan = args[:plan] if args.key?(:plan)
4380
4393
  @region = args[:region] if args.key?(:region)
@@ -4760,6 +4773,26 @@ module Google
4760
4773
  end
4761
4774
  end
4762
4775
 
4776
+ # A set of Confidential Instance options.
4777
+ class ConfidentialInstanceConfig
4778
+ include Google::Apis::Core::Hashable
4779
+
4780
+ # Defines whether the instance should have confidential compute enabled.
4781
+ # Corresponds to the JSON property `enableConfidentialCompute`
4782
+ # @return [Boolean]
4783
+ attr_accessor :enable_confidential_compute
4784
+ alias_method :enable_confidential_compute?, :enable_confidential_compute
4785
+
4786
+ def initialize(**args)
4787
+ update!(**args)
4788
+ end
4789
+
4790
+ # Update properties of this object
4791
+ def update!(**args)
4792
+ @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
4793
+ end
4794
+ end
4795
+
4763
4796
  # Message containing connection draining configuration.
4764
4797
  class ConnectionDraining
4765
4798
  include Google::Apis::Core::Hashable
@@ -4934,7 +4967,8 @@ module Google
4934
4967
  # @return [String]
4935
4968
  attr_accessor :kms_key_name
4936
4969
 
4937
- #
4970
+ # The service account being used for the encryption request for the given KMS
4971
+ # key. If absent, default GCE compute robot account will be used
4938
4972
  # Corresponds to the JSON property `kmsKeyServiceAccount`
4939
4973
  # @return [String]
4940
4974
  attr_accessor :kms_key_service_account
@@ -7302,27 +7336,12 @@ module Google
7302
7336
  end
7303
7337
 
7304
7338
  # Represents a Forwarding Rule resource.
7305
- # A forwardingRules resource represents a regional forwarding rule.
7306
- # Regional external forwarding rules can reference any of the following
7307
- # resources:
7308
- #
7309
- # - A target instance
7310
- # - A Cloud VPN Classic gateway (targetVpnGateway),
7311
- # - A target pool for a Network Load Balancer
7312
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
7313
- # Tier
7314
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
7315
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
7316
- # Regional internal forwarding rules can reference the backend service of an
7317
- # internal TCP/UDP load balancer.
7318
- # For regional internal forwarding rules, the following applies:
7319
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
7320
- # forwarding rule references a regional internal backend service.
7321
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
7322
- # the forwarding rule must reference a regional target HTTP(S) proxy.
7323
- # For more information, read Using Forwarding rules.
7324
- # A globalForwardingRules resource represents a global forwarding rule.
7325
- # Global forwarding rules are only used by load balancers that use Premium Tier.
7339
+ # A forwarding rule and its corresponding IP address represent the frontend
7340
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
7341
+ # also reference target instances and Cloud VPN Classic gateways (
7342
+ # targetVpnGateway).
7343
+ # For more information, read Forwarding rule concepts and Using protocol
7344
+ # forwarding.
7326
7345
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
7327
7346
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
7328
7347
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -7350,8 +7369,14 @@ module Google
7350
7369
 
7351
7370
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
7352
7371
  # AH, SCTP or ICMP.
7353
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
7354
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
7372
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
7373
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
7374
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
7375
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
7376
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
7377
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
7378
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
7379
+ # valid.
7355
7380
  # Corresponds to the JSON property `IPProtocol`
7356
7381
  # @return [String]
7357
7382
  attr_accessor :ip_protocol
@@ -7455,12 +7480,14 @@ module Google
7455
7480
  # @return [Hash<String,String>]
7456
7481
  attr_accessor :labels
7457
7482
 
7458
- # This signifies what the ForwardingRule will be used for and can only take the
7459
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
7460
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
7461
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
7462
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
7463
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
7483
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
7484
+ # gateways - Protocol forwarding to VMs from an external IP address - The
7485
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
7486
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
7487
+ # - Internal TCP/UDP load balancers
7488
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
7489
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
7490
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
7464
7491
  # Corresponds to the JSON property `loadBalancingScheme`
7465
7492
  # @return [String]
7466
7493
  attr_accessor :load_balancing_scheme
@@ -8081,19 +8108,28 @@ module Google
8081
8108
 
8082
8109
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
8083
8110
  # access control policies for Cloud Platform resources.
8084
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
8085
- # members` to a `role`, where the members can be user accounts, Google groups,
8086
- # Google domains, and service accounts. A `role` is a named list of permissions
8087
- # defined by IAM.
8111
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
8112
+ # members` to a single `role`. Members can be user accounts, service accounts,
8113
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
8114
+ # permissions (defined by IAM or configured by users). A `binding` can
8115
+ # optionally specify a `condition`, which is a logic expression that further
8116
+ # constrains the role binding based on attributes about the request and/or
8117
+ # target resource.
8088
8118
  # **JSON Example**
8089
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
8090
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
8091
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
8092
- # sean@example.com"] ` ] `
8119
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
8120
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
8121
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
8122
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
8123
+ # "condition": ` "title": "expirable access", "description": "Does not grant
8124
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
8125
+ # 00:00.000Z')", ` ` ] `
8093
8126
  # **YAML Example**
8094
8127
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
8095
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
8096
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
8128
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
8129
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
8130
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
8131
+ # access description: Does not grant access after Sep 2020 expression: request.
8132
+ # time < timestamp('2020-10-01T00:00:00.000Z')
8097
8133
  # For a description of IAM and its features, see the [IAM developer's guide](
8098
8134
  # https://cloud.google.com/iam/docs).
8099
8135
  # Corresponds to the JSON property `policy`
@@ -10166,6 +10202,12 @@ module Google
10166
10202
  class HttpRouteRule
10167
10203
  include Google::Apis::Core::Hashable
10168
10204
 
10205
+ # The short description conveying the intent of this routeRule.
10206
+ # The description can have a maximum length of 1024 characters.
10207
+ # Corresponds to the JSON property `description`
10208
+ # @return [String]
10209
+ attr_accessor :description
10210
+
10169
10211
  # The request and response header transformations that take effect before the
10170
10212
  # request is passed along to the selected backendService.
10171
10213
  # Corresponds to the JSON property `headerAction`
@@ -10177,6 +10219,22 @@ module Google
10177
10219
  # @return [Array<Google::Apis::ComputeAlpha::HttpRouteRuleMatch>]
10178
10220
  attr_accessor :match_rules
10179
10221
 
10222
+ # For routeRules within a given pathMatcher, priority determines the order in
10223
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
10224
+ # order of priority, from the lowest to highest number. The priority of a rule
10225
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
10226
+ # the request is applied.
10227
+ # You cannot configure two or more routeRules with the same priority. Priority
10228
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
10229
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
10230
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
10231
+ # 12, 16 is a valid series of priority numbers to which you could add rules
10232
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
10233
+ # on existing rules.
10234
+ # Corresponds to the JSON property `priority`
10235
+ # @return [Fixnum]
10236
+ attr_accessor :priority
10237
+
10180
10238
  # In response to a matching matchRule, the load balancer performs advanced
10181
10239
  # routing actions like URL rewrites, header transformations, etc. prior to
10182
10240
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -10210,8 +10268,10 @@ module Google
10210
10268
 
10211
10269
  # Update properties of this object
10212
10270
  def update!(**args)
10271
+ @description = args[:description] if args.key?(:description)
10213
10272
  @header_action = args[:header_action] if args.key?(:header_action)
10214
10273
  @match_rules = args[:match_rules] if args.key?(:match_rules)
10274
+ @priority = args[:priority] if args.key?(:priority)
10215
10275
  @route_action = args[:route_action] if args.key?(:route_action)
10216
10276
  @service = args[:service] if args.key?(:service)
10217
10277
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -10986,6 +11046,11 @@ module Google
10986
11046
  attr_accessor :can_ip_forward
10987
11047
  alias_method :can_ip_forward?, :can_ip_forward
10988
11048
 
11049
+ # A set of Confidential Instance options.
11050
+ # Corresponds to the JSON property `confidentialInstanceConfig`
11051
+ # @return [Google::Apis::ComputeAlpha::ConfidentialInstanceConfig]
11052
+ attr_accessor :confidential_instance_config
11053
+
10989
11054
  # [Output Only] The CPU platform used by this instance.
10990
11055
  # Corresponds to the JSON property `cpuPlatform`
10991
11056
  # @return [String]
@@ -11233,6 +11298,7 @@ module Google
11233
11298
  # Update properties of this object
11234
11299
  def update!(**args)
11235
11300
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
11301
+ @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
11236
11302
  @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
11237
11303
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
11238
11304
  @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
@@ -12686,12 +12752,6 @@ module Google
12686
12752
  class InstanceGroupManagersDeletePerInstanceConfigsReq
12687
12753
  include Google::Apis::Core::Hashable
12688
12754
 
12689
- # The list of instances for which we want to delete per-instance configs on this
12690
- # managed instance group.
12691
- # Corresponds to the JSON property `instances`
12692
- # @return [Array<String>]
12693
- attr_accessor :instances
12694
-
12695
12755
  # The list of instance names for which we want to delete per-instance configs on
12696
12756
  # this managed instance group.
12697
12757
  # Corresponds to the JSON property `names`
@@ -12704,7 +12764,6 @@ module Google
12704
12764
 
12705
12765
  # Update properties of this object
12706
12766
  def update!(**args)
12707
- @instances = args[:instances] if args.key?(:instances)
12708
12767
  @names = args[:names] if args.key?(:names)
12709
12768
  end
12710
12769
  end
@@ -13815,6 +13874,11 @@ module Google
13815
13874
  attr_accessor :can_ip_forward
13816
13875
  alias_method :can_ip_forward?, :can_ip_forward
13817
13876
 
13877
+ # A set of Confidential Instance options.
13878
+ # Corresponds to the JSON property `confidentialInstanceConfig`
13879
+ # @return [Google::Apis::ComputeAlpha::ConfidentialInstanceConfig]
13880
+ attr_accessor :confidential_instance_config
13881
+
13818
13882
  # An optional text description for the instances that are created from this
13819
13883
  # instance template.
13820
13884
  # Corresponds to the JSON property `description`
@@ -13911,6 +13975,7 @@ module Google
13911
13975
  # Update properties of this object
13912
13976
  def update!(**args)
13913
13977
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
13978
+ @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
13914
13979
  @description = args[:description] if args.key?(:description)
13915
13980
  @disks = args[:disks] if args.key?(:disks)
13916
13981
  @display_device = args[:display_device] if args.key?(:display_device)
@@ -16777,6 +16842,38 @@ module Google
16777
16842
  end
16778
16843
  end
16779
16844
 
16845
+ # Commitment for a particular license resource (a License Commitment is composed
16846
+ # of one or more of these).
16847
+ class LicenseResourceCommitment
16848
+ include Google::Apis::Core::Hashable
16849
+
16850
+ # The number of licenses purchased.
16851
+ # Corresponds to the JSON property `amount`
16852
+ # @return [Fixnum]
16853
+ attr_accessor :amount
16854
+
16855
+ # Specifies the core range of the instance for which this license applies.
16856
+ # Corresponds to the JSON property `coresPerLicense`
16857
+ # @return [String]
16858
+ attr_accessor :cores_per_license
16859
+
16860
+ # Any applicable license URI.
16861
+ # Corresponds to the JSON property `license`
16862
+ # @return [String]
16863
+ attr_accessor :license
16864
+
16865
+ def initialize(**args)
16866
+ update!(**args)
16867
+ end
16868
+
16869
+ # Update properties of this object
16870
+ def update!(**args)
16871
+ @amount = args[:amount] if args.key?(:amount)
16872
+ @cores_per_license = args[:cores_per_license] if args.key?(:cores_per_license)
16873
+ @license = args[:license] if args.key?(:license)
16874
+ end
16875
+ end
16876
+
16780
16877
  #
16781
16878
  class LicenseResourceRequirements
16782
16879
  include Google::Apis::Core::Hashable
@@ -17038,6 +17135,11 @@ module Google
17038
17135
  class LogConfigCounterOptions
17039
17136
  include Google::Apis::Core::Hashable
17040
17137
 
17138
+ # Custom fields.
17139
+ # Corresponds to the JSON property `customFields`
17140
+ # @return [Array<Google::Apis::ComputeAlpha::LogConfigCounterOptionsCustomField>]
17141
+ attr_accessor :custom_fields
17142
+
17041
17143
  # The field value to attribute.
17042
17144
  # Corresponds to the JSON property `field`
17043
17145
  # @return [String]
@@ -17054,11 +17156,40 @@ module Google
17054
17156
 
17055
17157
  # Update properties of this object
17056
17158
  def update!(**args)
17159
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
17057
17160
  @field = args[:field] if args.key?(:field)
17058
17161
  @metric = args[:metric] if args.key?(:metric)
17059
17162
  end
17060
17163
  end
17061
17164
 
17165
+ # Custom fields. These can be used to create a counter with arbitrary field/
17166
+ # value pairs. See: go/rpcsp-custom-fields.
17167
+ class LogConfigCounterOptionsCustomField
17168
+ include Google::Apis::Core::Hashable
17169
+
17170
+ # Name is the field name.
17171
+ # Corresponds to the JSON property `name`
17172
+ # @return [String]
17173
+ attr_accessor :name
17174
+
17175
+ # Value is the field value. It is important that in contrast to the
17176
+ # CounterOptions.field, the value here is a constant that is not derived from
17177
+ # the IAMContext.
17178
+ # Corresponds to the JSON property `value`
17179
+ # @return [String]
17180
+ attr_accessor :value
17181
+
17182
+ def initialize(**args)
17183
+ update!(**args)
17184
+ end
17185
+
17186
+ # Update properties of this object
17187
+ def update!(**args)
17188
+ @name = args[:name] if args.key?(:name)
17189
+ @value = args[:value] if args.key?(:value)
17190
+ end
17191
+ end
17192
+
17062
17193
  # Write a Data Access (Gin) log
17063
17194
  class LogConfigDataAccessOptions
17064
17195
  include Google::Apis::Core::Hashable
@@ -18414,6 +18545,33 @@ module Google
18414
18545
  # @return [Hash<String,String>]
18415
18546
  attr_accessor :annotations
18416
18547
 
18548
+ # Configuration for an App Engine network endpoint group (NEG). The service is
18549
+ # optional, may be provided explicitly or in the URL mask. The version is
18550
+ # optional and can only be provided explicitly or in the URL mask when service
18551
+ # is present.
18552
+ # Note: App Engine service must be in the same project and located in the same
18553
+ # region as the Serverless NEG.
18554
+ # Corresponds to the JSON property `appEngine`
18555
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupAppEngine]
18556
+ attr_accessor :app_engine
18557
+
18558
+ # Configuration for a Cloud Function network endpoint group (NEG). The function
18559
+ # must be provided explicitly or in the URL mask.
18560
+ # Note: Cloud Function must be in the same project and located in the same
18561
+ # region as the Serverless NEG.
18562
+ # Corresponds to the JSON property `cloudFunction`
18563
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupCloudFunction]
18564
+ attr_accessor :cloud_function
18565
+
18566
+ # Configuration for a Cloud Run network endpoint group (NEG). The service must
18567
+ # be provided explicitly or in the URL mask. The tag is optional, may be
18568
+ # provided explicitly or in the URL mask.
18569
+ # Note: Cloud Run service must be in the same project and located in the same
18570
+ # region as the Serverless NEG.
18571
+ # Corresponds to the JSON property `cloudRun`
18572
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupCloudRun]
18573
+ attr_accessor :cloud_run
18574
+
18417
18575
  # [Output Only] Creation timestamp in RFC3339 text format.
18418
18576
  # Corresponds to the JSON property `creationTimestamp`
18419
18577
  # @return [String]
@@ -18470,6 +18628,12 @@ module Google
18470
18628
  # @return [String]
18471
18629
  attr_accessor :network_endpoint_type
18472
18630
 
18631
+ # [Output Only] The URL of the region where the network endpoint group is
18632
+ # located.
18633
+ # Corresponds to the JSON property `region`
18634
+ # @return [String]
18635
+ attr_accessor :region
18636
+
18473
18637
  # [Output Only] Server-defined URL for the resource.
18474
18638
  # Corresponds to the JSON property `selfLink`
18475
18639
  # @return [String]
@@ -18509,6 +18673,9 @@ module Google
18509
18673
  # Update properties of this object
18510
18674
  def update!(**args)
18511
18675
  @annotations = args[:annotations] if args.key?(:annotations)
18676
+ @app_engine = args[:app_engine] if args.key?(:app_engine)
18677
+ @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
18678
+ @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
18512
18679
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18513
18680
  @default_port = args[:default_port] if args.key?(:default_port)
18514
18681
  @description = args[:description] if args.key?(:description)
@@ -18518,6 +18685,7 @@ module Google
18518
18685
  @name = args[:name] if args.key?(:name)
18519
18686
  @network = args[:network] if args.key?(:network)
18520
18687
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
18688
+ @region = args[:region] if args.key?(:region)
18521
18689
  @self_link = args[:self_link] if args.key?(:self_link)
18522
18690
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
18523
18691
  @size = args[:size] if args.key?(:size)
@@ -18646,6 +18814,134 @@ module Google
18646
18814
  end
18647
18815
  end
18648
18816
 
18817
+ # Configuration for an App Engine network endpoint group (NEG). The service is
18818
+ # optional, may be provided explicitly or in the URL mask. The version is
18819
+ # optional and can only be provided explicitly or in the URL mask when service
18820
+ # is present.
18821
+ # Note: App Engine service must be in the same project and located in the same
18822
+ # region as the Serverless NEG.
18823
+ class NetworkEndpointGroupAppEngine
18824
+ include Google::Apis::Core::Hashable
18825
+
18826
+ # Optional serving service.
18827
+ # The service name must be 1-63 characters long, and comply with RFC1035.
18828
+ # Example value: "default", "my-service".
18829
+ # Corresponds to the JSON property `service`
18830
+ # @return [String]
18831
+ attr_accessor :service
18832
+
18833
+ # A template to parse service and version fields from a request URL. URL mask
18834
+ # allows for routing to multiple App Engine services without having to create
18835
+ # multiple Network Endpoint Groups and backend services.
18836
+ # For example, the request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-
18837
+ # appname.appspot.com/v2" can be backed by the same Serverless NEG with URL mask
18838
+ # "-dot-appname.appspot.com/". The URL mask will parse them to ` service = "foo1"
18839
+ # , version = "v1" ` and ` service = "foo1", version = "v2" ` respectively.
18840
+ # Corresponds to the JSON property `urlMask`
18841
+ # @return [String]
18842
+ attr_accessor :url_mask
18843
+
18844
+ # Optional serving version.
18845
+ # The version must be 1-63 characters long, and comply with RFC1035.
18846
+ # Example value: "v1", "v2".
18847
+ # Corresponds to the JSON property `version`
18848
+ # @return [String]
18849
+ attr_accessor :version
18850
+
18851
+ def initialize(**args)
18852
+ update!(**args)
18853
+ end
18854
+
18855
+ # Update properties of this object
18856
+ def update!(**args)
18857
+ @service = args[:service] if args.key?(:service)
18858
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
18859
+ @version = args[:version] if args.key?(:version)
18860
+ end
18861
+ end
18862
+
18863
+ # Configuration for a Cloud Function network endpoint group (NEG). The function
18864
+ # must be provided explicitly or in the URL mask.
18865
+ # Note: Cloud Function must be in the same project and located in the same
18866
+ # region as the Serverless NEG.
18867
+ class NetworkEndpointGroupCloudFunction
18868
+ include Google::Apis::Core::Hashable
18869
+
18870
+ # A user-defined name of the Cloud Function.
18871
+ # The service name must be 1-63 characters long, and comply with RFC1035.
18872
+ # Example value: "func1".
18873
+ # Corresponds to the JSON property `function`
18874
+ # @return [String]
18875
+ attr_accessor :function
18876
+
18877
+ # A template to parse function field from a request URL. URL mask allows for
18878
+ # routing to multiple Cloud Functions without having to create multiple Network
18879
+ # Endpoint Groups and backend services.
18880
+ # For example, request URLs "mydomain.com/function1" and "mydomain.com/function2"
18881
+ # can be backed by the same Serverless NEG with URL mask "/". The URL mask will
18882
+ # parse them to ` function = "function1" ` and ` function = "function2" `
18883
+ # respectively.
18884
+ # Corresponds to the JSON property `urlMask`
18885
+ # @return [String]
18886
+ attr_accessor :url_mask
18887
+
18888
+ def initialize(**args)
18889
+ update!(**args)
18890
+ end
18891
+
18892
+ # Update properties of this object
18893
+ def update!(**args)
18894
+ @function = args[:function] if args.key?(:function)
18895
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
18896
+ end
18897
+ end
18898
+
18899
+ # Configuration for a Cloud Run network endpoint group (NEG). The service must
18900
+ # be provided explicitly or in the URL mask. The tag is optional, may be
18901
+ # provided explicitly or in the URL mask.
18902
+ # Note: Cloud Run service must be in the same project and located in the same
18903
+ # region as the Serverless NEG.
18904
+ class NetworkEndpointGroupCloudRun
18905
+ include Google::Apis::Core::Hashable
18906
+
18907
+ # Cloud Run service is the main resource of Cloud Run.
18908
+ # The tag must be 1-63 characters long, and comply with RFC1035.
18909
+ # Example value: "run-service".
18910
+ # Corresponds to the JSON property `service`
18911
+ # @return [String]
18912
+ attr_accessor :service
18913
+
18914
+ # Optional Cloud Run tag represents the "named-revision" to provide additional
18915
+ # fine-grained traffic routing information.
18916
+ # The tag must be 1-63 characters long, and comply with RFC1035.
18917
+ # Example value: "revision-0010".
18918
+ # Corresponds to the JSON property `tag`
18919
+ # @return [String]
18920
+ attr_accessor :tag
18921
+
18922
+ # A template to parse service and tag fields from a request URL. URL mask allows
18923
+ # for routing to multiple Run services without having to create multiple network
18924
+ # endpoint groups and backend services.
18925
+ # For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2"
18926
+ # can be backed by the same Serverless Network Endpoint Group (NEG) with URL
18927
+ # mask ".domain.com/". The URL mask will parse them to ` service="bar1", tag="
18928
+ # foo1" ` and ` service="bar2", tag="foo2" ` respectively.
18929
+ # Corresponds to the JSON property `urlMask`
18930
+ # @return [String]
18931
+ attr_accessor :url_mask
18932
+
18933
+ def initialize(**args)
18934
+ update!(**args)
18935
+ end
18936
+
18937
+ # Update properties of this object
18938
+ def update!(**args)
18939
+ @service = args[:service] if args.key?(:service)
18940
+ @tag = args[:tag] if args.key?(:tag)
18941
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
18942
+ end
18943
+ end
18944
+
18649
18945
  # Load balancing specific fields for network endpoint group.
18650
18946
  class NetworkEndpointGroupLbNetworkEndpointGroup
18651
18947
  include Google::Apis::Core::Hashable
@@ -20032,6 +20328,11 @@ module Google
20032
20328
  # @return [Google::Apis::ComputeAlpha::ServerBinding]
20033
20329
  attr_accessor :server_binding
20034
20330
 
20331
+ # Server ID associated with this node.
20332
+ # Corresponds to the JSON property `serverId`
20333
+ # @return [String]
20334
+ attr_accessor :server_id
20335
+
20035
20336
  #
20036
20337
  # Corresponds to the JSON property `status`
20037
20338
  # @return [String]
@@ -20048,6 +20349,7 @@ module Google
20048
20349
  @name = args[:name] if args.key?(:name)
20049
20350
  @node_type = args[:node_type] if args.key?(:node_type)
20050
20351
  @server_binding = args[:server_binding] if args.key?(:server_binding)
20352
+ @server_id = args[:server_id] if args.key?(:server_id)
20051
20353
  @status = args[:status] if args.key?(:status)
20052
20354
  end
20053
20355
  end
@@ -22382,9 +22684,9 @@ module Google
22382
22684
  # @return [String]
22383
22685
  attr_accessor :kind
22384
22686
 
22385
- # PacketMirroring mirroredResourceInfos. Each mirroredResourceInfo specifies a
22386
- # set of mirrored VM instances and/or a set of subnetworks for which traffic
22387
- # from/to all VM instances will be mirrored.
22687
+ # PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of
22688
+ # mirrored VM instances, subnetworks and/or tags for which traffic from/to all
22689
+ # VM instances will be mirrored.
22388
22690
  # Corresponds to the JSON property `mirroredResources`
22389
22691
  # @return [Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfo]
22390
22692
  attr_accessor :mirrored_resources
@@ -22807,8 +23109,7 @@ module Google
22807
23109
  attr_accessor :instances
22808
23110
 
22809
23111
  # A set of subnetworks for which traffic from/to all VM instances will be
22810
- # mirrored. They must live in zones contained in the same region as this
22811
- # packetMirroring.
23112
+ # mirrored. They must live in the same region as this packetMirroring.
22812
23113
  # You may specify a maximum of 5 subnetworks.
22813
23114
  # Corresponds to the JSON property `subnetworks`
22814
23115
  # @return [Array<Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfoSubnetInfo>]
@@ -23327,19 +23628,28 @@ module Google
23327
23628
 
23328
23629
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
23329
23630
  # access control policies for Cloud Platform resources.
23330
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
23331
- # members` to a `role`, where the members can be user accounts, Google groups,
23332
- # Google domains, and service accounts. A `role` is a named list of permissions
23333
- # defined by IAM.
23631
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
23632
+ # members` to a single `role`. Members can be user accounts, service accounts,
23633
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
23634
+ # permissions (defined by IAM or configured by users). A `binding` can
23635
+ # optionally specify a `condition`, which is a logic expression that further
23636
+ # constrains the role binding based on attributes about the request and/or
23637
+ # target resource.
23334
23638
  # **JSON Example**
23335
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
23336
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
23337
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
23338
- # sean@example.com"] ` ] `
23639
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
23640
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
23641
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
23642
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
23643
+ # "condition": ` "title": "expirable access", "description": "Does not grant
23644
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
23645
+ # 00:00.000Z')", ` ` ] `
23339
23646
  # **YAML Example**
23340
23647
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
23341
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
23342
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
23648
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
23649
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
23650
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
23651
+ # access description: Does not grant access after Sep 2020 expression: request.
23652
+ # time < timestamp('2020-10-01T00:00:00.000Z')
23343
23653
  # For a description of IAM and its features, see the [IAM developer's guide](
23344
23654
  # https://cloud.google.com/iam/docs).
23345
23655
  class Policy
@@ -23350,8 +23660,9 @@ module Google
23350
23660
  # @return [Array<Google::Apis::ComputeAlpha::AuditConfig>]
23351
23661
  attr_accessor :audit_configs
23352
23662
 
23353
- # Associates a list of `members` to a `role`. `bindings` with no members will
23354
- # result in an error.
23663
+ # Associates a list of `members` to a `role`. Optionally may specify a `
23664
+ # condition` that determines when binding is in effect. `bindings` with no
23665
+ # members will result in an error.
23355
23666
  # Corresponds to the JSON property `bindings`
23356
23667
  # @return [Array<Google::Apis::ComputeAlpha::Binding>]
23357
23668
  attr_accessor :bindings
@@ -23364,7 +23675,9 @@ module Google
23364
23675
  # that etag in the request to `setIamPolicy` to ensure that their change will be
23365
23676
  # applied to the same version of the policy.
23366
23677
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
23367
- # policy is overwritten.
23678
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
23679
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
23680
+ # not meet the version requirements.
23368
23681
  # Corresponds to the JSON property `etag`
23369
23682
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
23370
23683
  # @return [String]
@@ -23390,9 +23703,13 @@ module Google
23390
23703
  # Specifies the format of the policy.
23391
23704
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
23392
23705
  # rejected.
23393
- # Policies with any conditional bindings must specify version 3. Policies
23394
- # without any conditional bindings may specify any valid value or leave the
23395
- # field unset.
23706
+ # Operations affecting conditional bindings must specify version 3. This can be
23707
+ # either setting a conditional policy, modifying a conditional binding, or
23708
+ # removing a conditional binding from the stored conditional policy. Operations
23709
+ # on non-conditional policies may specify any valid value or leave the field
23710
+ # unset.
23711
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
23712
+ # checks on the incoming and/or stored policy is skipped.
23396
23713
  # Corresponds to the JSON property `version`
23397
23714
  # @return [Fixnum]
23398
23715
  attr_accessor :version
@@ -25196,12 +25513,6 @@ module Google
25196
25513
  class RegionInstanceGroupManagerDeleteInstanceConfigReq
25197
25514
  include Google::Apis::Core::Hashable
25198
25515
 
25199
- # The list of instances for which we want to delete per-instance configs on this
25200
- # managed instance group.
25201
- # Corresponds to the JSON property `instances`
25202
- # @return [Array<String>]
25203
- attr_accessor :instances
25204
-
25205
25516
  # The list of instance names for which we want to delete per-instance configs on
25206
25517
  # this managed instance group.
25207
25518
  # Corresponds to the JSON property `names`
@@ -25214,7 +25525,6 @@ module Google
25214
25525
 
25215
25526
  # Update properties of this object
25216
25527
  def update!(**args)
25217
- @instances = args[:instances] if args.key?(:instances)
25218
25528
  @names = args[:names] if args.key?(:names)
25219
25529
  end
25220
25530
  end
@@ -26079,19 +26389,28 @@ module Google
26079
26389
 
26080
26390
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
26081
26391
  # access control policies for Cloud Platform resources.
26082
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
26083
- # members` to a `role`, where the members can be user accounts, Google groups,
26084
- # Google domains, and service accounts. A `role` is a named list of permissions
26085
- # defined by IAM.
26392
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
26393
+ # members` to a single `role`. Members can be user accounts, service accounts,
26394
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
26395
+ # permissions (defined by IAM or configured by users). A `binding` can
26396
+ # optionally specify a `condition`, which is a logic expression that further
26397
+ # constrains the role binding based on attributes about the request and/or
26398
+ # target resource.
26086
26399
  # **JSON Example**
26087
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
26088
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
26089
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
26090
- # sean@example.com"] ` ] `
26400
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
26401
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
26402
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
26403
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
26404
+ # "condition": ` "title": "expirable access", "description": "Does not grant
26405
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
26406
+ # 00:00.000Z')", ` ` ] `
26091
26407
  # **YAML Example**
26092
26408
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
26093
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
26094
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
26409
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
26410
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
26411
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
26412
+ # access description: Does not grant access after Sep 2020 expression: request.
26413
+ # time < timestamp('2020-10-01T00:00:00.000Z')
26095
26414
  # For a description of IAM and its features, see the [IAM developer's guide](
26096
26415
  # https://cloud.google.com/iam/docs).
26097
26416
  # Corresponds to the JSON property `policy`
@@ -27067,6 +27386,19 @@ module Google
27067
27386
  class ResourcePolicyGroupPlacementPolicy
27068
27387
  include Google::Apis::Core::Hashable
27069
27388
 
27389
+ # The number of availability domains instances will be spread across. If two
27390
+ # instances are in different availability domain, they will not be put in the
27391
+ # same low latency network
27392
+ # Corresponds to the JSON property `availabilityDomainCount`
27393
+ # @return [Fixnum]
27394
+ attr_accessor :availability_domain_count
27395
+
27396
+ # Distribution specifies how the instances are placed at host level. If set to
27397
+ # SPREAD, no two instances will be put on the same host
27398
+ # Corresponds to the JSON property `distribution`
27399
+ # @return [String]
27400
+ attr_accessor :distribution
27401
+
27070
27402
  # Specifies network locality
27071
27403
  # Corresponds to the JSON property `locality`
27072
27404
  # @return [String]
@@ -27088,6 +27420,8 @@ module Google
27088
27420
 
27089
27421
  # Update properties of this object
27090
27422
  def update!(**args)
27423
+ @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
27424
+ @distribution = args[:distribution] if args.key?(:distribution)
27091
27425
  @locality = args[:locality] if args.key?(:locality)
27092
27426
  @style = args[:style] if args.key?(:style)
27093
27427
  @vm_count = args[:vm_count] if args.key?(:vm_count)
@@ -27571,8 +27905,7 @@ module Google
27571
27905
  # or full URL. For example, the following are all valid URLs:
27572
27906
  # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
27573
27907
  # forwardingRules/forwardingRule
27574
- # - regions/region/forwardingRules/forwardingRule Note that this can only be
27575
- # used when the destination_range is a public (non-RFC 1918) IP CIDR range.
27908
+ # - regions/region/forwardingRules/forwardingRule
27576
27909
  # Corresponds to the JSON property `nextHopIlb`
27577
27910
  # @return [String]
27578
27911
  attr_accessor :next_hop_ilb
@@ -33256,12 +33589,14 @@ module Google
33256
33589
  alias_method :proxy_bind?, :proxy_bind
33257
33590
 
33258
33591
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
33259
- # determines whether the load balancer will attempt to negotiate QUIC with
33260
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
33261
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
33262
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
33263
- # overrides, which is equivalent to DISABLE. Not specifying this field is
33264
- # equivalent to specifying NONE.
33592
+ # setting determines whether the load balancer attempts to negotiate QUIC with
33593
+ # clients. You can specify NONE, ENABLE, or DISABLE.
33594
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
33595
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
33596
+ # possible.
33597
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
33598
+ # - If the quic-override flag is not specified, NONE is implied.
33599
+ # -
33265
33600
  # Corresponds to the JSON property `quicOverride`
33266
33601
  # @return [String]
33267
33602
  attr_accessor :quic_override
@@ -33290,8 +33625,8 @@ module Google
33290
33625
  attr_accessor :ssl_certificates
33291
33626
 
33292
33627
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
33293
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
33294
- # policy configured.
33628
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
33629
+ # configured.
33295
33630
  # Corresponds to the JSON property `sslPolicy`
33296
33631
  # @return [String]
33297
33632
  attr_accessor :ssl_policy
@@ -37559,6 +37894,17 @@ module Google
37559
37894
  # - NEGOTIATION_FAILURE: Handshake failed.
37560
37895
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
37561
37896
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
37897
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
37898
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
37899
+ # blacklisted.
37900
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
37901
+ # resources.
37902
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
37903
+ # Classic VPN tunnels or the project is in frozen state.
37904
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
37905
+ # behind NAT.
37906
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
37907
+ # VPN tunnel.
37562
37908
  # Corresponds to the JSON property `status`
37563
37909
  # @return [String]
37564
37910
  attr_accessor :status
@@ -38428,19 +38774,28 @@ module Google
38428
38774
 
38429
38775
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
38430
38776
  # access control policies for Cloud Platform resources.
38431
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
38432
- # members` to a `role`, where the members can be user accounts, Google groups,
38433
- # Google domains, and service accounts. A `role` is a named list of permissions
38434
- # defined by IAM.
38777
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
38778
+ # members` to a single `role`. Members can be user accounts, service accounts,
38779
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
38780
+ # permissions (defined by IAM or configured by users). A `binding` can
38781
+ # optionally specify a `condition`, which is a logic expression that further
38782
+ # constrains the role binding based on attributes about the request and/or
38783
+ # target resource.
38435
38784
  # **JSON Example**
38436
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
38437
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
38438
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
38439
- # sean@example.com"] ` ] `
38785
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
38786
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
38787
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
38788
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
38789
+ # "condition": ` "title": "expirable access", "description": "Does not grant
38790
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
38791
+ # 00:00.000Z')", ` ` ] `
38440
38792
  # **YAML Example**
38441
38793
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
38442
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
38443
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
38794
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
38795
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
38796
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
38797
+ # access description: Does not grant access after Sep 2020 expression: request.
38798
+ # time < timestamp('2020-10-01T00:00:00.000Z')
38444
38799
  # For a description of IAM and its features, see the [IAM developer's guide](
38445
38800
  # https://cloud.google.com/iam/docs).
38446
38801
  # Corresponds to the JSON property `policy`