google-api-client 0.33.0 → 0.33.1

Sign up to get free protection for your applications and to get access to all the features.
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`