google-cloud-gke_multi_cloud-v1 0.6.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +72 -99
  3. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/client.rb +157 -12
  4. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/operations.rb +28 -6
  5. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest/client.rb +1354 -0
  6. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest/operations.rb +895 -0
  7. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest/service_stub.rb +595 -0
  8. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters/rest.rb +55 -0
  9. data/lib/google/cloud/gke_multi_cloud/v1/attached_clusters.rb +6 -0
  10. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/client.rb +492 -10
  11. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/operations.rb +28 -6
  12. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest/client.rb +2122 -0
  13. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest/operations.rb +895 -0
  14. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest/service_stub.rb +1010 -0
  15. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters/rest.rb +54 -0
  16. data/lib/google/cloud/gke_multi_cloud/v1/aws_clusters.rb +6 -0
  17. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/client.rb +356 -10
  18. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/operations.rb +28 -6
  19. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest/client.rb +2430 -0
  20. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest/operations.rb +895 -0
  21. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest/service_stub.rb +1187 -0
  22. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters/rest.rb +54 -0
  23. data/lib/google/cloud/gke_multi_cloud/v1/azure_clusters.rb +6 -0
  24. data/lib/google/cloud/gke_multi_cloud/v1/rest.rb +39 -0
  25. data/lib/google/cloud/gke_multi_cloud/v1/version.rb +1 -1
  26. data/lib/google/cloud/gke_multi_cloud/v1.rb +5 -0
  27. data/lib/google/cloud/gkemulticloud/v1/attached_resources_pb.rb +4 -1
  28. data/lib/google/cloud/gkemulticloud/v1/attached_service_pb.rb +6 -2
  29. data/lib/google/cloud/gkemulticloud/v1/attached_service_services_pb.rb +2 -0
  30. data/lib/google/cloud/gkemulticloud/v1/aws_resources_pb.rb +10 -1
  31. data/lib/google/cloud/gkemulticloud/v1/aws_service_pb.rb +8 -1
  32. data/lib/google/cloud/gkemulticloud/v1/aws_service_services_pb.rb +18 -0
  33. data/lib/google/cloud/gkemulticloud/v1/azure_resources_pb.rb +7 -1
  34. data/lib/google/cloud/gkemulticloud/v1/azure_service_pb.rb +7 -1
  35. data/lib/google/cloud/gkemulticloud/v1/azure_service_services_pb.rb +11 -0
  36. data/lib/google/cloud/gkemulticloud/v1/common_resources_pb.rb +4 -1
  37. data/proto_docs/google/api/client.rb +14 -0
  38. data/proto_docs/google/cloud/gkemulticloud/v1/attached_resources.rb +48 -2
  39. data/proto_docs/google/cloud/gkemulticloud/v1/attached_service.rb +55 -2
  40. data/proto_docs/google/cloud/gkemulticloud/v1/aws_resources.rb +181 -6
  41. data/proto_docs/google/cloud/gkemulticloud/v1/aws_service.rb +117 -0
  42. data/proto_docs/google/cloud/gkemulticloud/v1/azure_resources.rb +103 -6
  43. data/proto_docs/google/cloud/gkemulticloud/v1/azure_service.rb +80 -4
  44. data/proto_docs/google/cloud/gkemulticloud/v1/common_resources.rb +56 -0
  45. data/proto_docs/google/type/date.rb +53 -0
  46. metadata +19 -5
@@ -31,6 +31,9 @@ module Google
31
31
  # to create and manage Anthos clusters that run on AWS infrastructure.
32
32
  #
33
33
  class Client
34
+ # @private
35
+ DEFAULT_ENDPOINT_TEMPLATE = "gkemulticloud.$UNIVERSE_DOMAIN$"
36
+
34
37
  include Paths
35
38
 
36
39
  # @private
@@ -81,6 +84,11 @@ module Google
81
84
 
82
85
  default_config.rpcs.delete_aws_cluster.timeout = 60.0
83
86
 
87
+ default_config.rpcs.generate_aws_cluster_agent_token.timeout = 60.0
88
+ default_config.rpcs.generate_aws_cluster_agent_token.retry_policy = {
89
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
90
+ }
91
+
84
92
  default_config.rpcs.generate_aws_access_token.timeout = 60.0
85
93
  default_config.rpcs.generate_aws_access_token.retry_policy = {
86
94
  initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
@@ -90,6 +98,8 @@ module Google
90
98
 
91
99
  default_config.rpcs.update_aws_node_pool.timeout = 60.0
92
100
 
101
+ default_config.rpcs.rollback_aws_node_pool_update.timeout = 60.0
102
+
93
103
  default_config.rpcs.get_aws_node_pool.timeout = 60.0
94
104
  default_config.rpcs.get_aws_node_pool.retry_policy = {
95
105
  initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
@@ -102,6 +112,16 @@ module Google
102
112
 
103
113
  default_config.rpcs.delete_aws_node_pool.timeout = 60.0
104
114
 
115
+ default_config.rpcs.get_aws_open_id_config.timeout = 60.0
116
+ default_config.rpcs.get_aws_open_id_config.retry_policy = {
117
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
118
+ }
119
+
120
+ default_config.rpcs.get_aws_json_web_keys.timeout = 60.0
121
+ default_config.rpcs.get_aws_json_web_keys.retry_policy = {
122
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
123
+ }
124
+
105
125
  default_config.rpcs.get_aws_server_config.timeout = 60.0
106
126
  default_config.rpcs.get_aws_server_config.retry_policy = {
107
127
  initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
@@ -133,6 +153,15 @@ module Google
133
153
  @config
134
154
  end
135
155
 
156
+ ##
157
+ # The effective universe domain
158
+ #
159
+ # @return [String]
160
+ #
161
+ def universe_domain
162
+ @aws_clusters_stub.universe_domain
163
+ end
164
+
136
165
  ##
137
166
  # Create a new AwsClusters client object.
138
167
  #
@@ -166,8 +195,9 @@ module Google
166
195
  credentials = @config.credentials
167
196
  # Use self-signed JWT if the endpoint is unchanged from default,
168
197
  # but only if the default endpoint does not have a region prefix.
169
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
170
- !@config.endpoint.split(".").first.include?("-")
198
+ enable_self_signed_jwt = @config.endpoint.nil? ||
199
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
200
+ !@config.endpoint.split(".").first.include?("-"))
171
201
  credentials ||= Credentials.default scope: @config.scope,
172
202
  enable_self_signed_jwt: enable_self_signed_jwt
173
203
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -180,12 +210,15 @@ module Google
180
210
  config.credentials = credentials
181
211
  config.quota_project = @quota_project_id
182
212
  config.endpoint = @config.endpoint
213
+ config.universe_domain = @config.universe_domain
183
214
  end
184
215
 
185
216
  @aws_clusters_stub = ::Gapic::ServiceStub.new(
186
217
  ::Google::Cloud::GkeMultiCloud::V1::AwsClusters::Stub,
187
- credentials: credentials,
188
- endpoint: @config.endpoint,
218
+ credentials: credentials,
219
+ endpoint: @config.endpoint,
220
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
221
+ universe_domain: @config.universe_domain,
189
222
  channel_args: @config.channel_args,
190
223
  interceptors: @config.interceptors,
191
224
  channel_pool_config: @config.channel_pool
@@ -353,6 +386,8 @@ module Google
353
386
  # * `annotations`.
354
387
  # * `control_plane.version`.
355
388
  # * `authorization.admin_users`.
389
+ # * `authorization.admin_groups`.
390
+ # * `binary_authorization.evaluation_mode`.
356
391
  # * `control_plane.aws_services_authentication.role_arn`.
357
392
  # * `control_plane.aws_services_authentication.role_session_name`.
358
393
  # * `control_plane.config_encryption.kms_key_arn`.
@@ -364,6 +399,7 @@ module Google
364
399
  # * `control_plane.root_volume.size_gib`.
365
400
  # * `control_plane.root_volume.volume_type`.
366
401
  # * `control_plane.root_volume.iops`.
402
+ # * `control_plane.root_volume.throughput`.
367
403
  # * `control_plane.root_volume.kms_key_arn`.
368
404
  # * `control_plane.ssh_config`.
369
405
  # * `control_plane.ssh_config.ec2_key_pair`.
@@ -372,6 +408,7 @@ module Google
372
408
  # * `logging_config.component_config.enable_components`.
373
409
  # * `control_plane.tags`.
374
410
  # * `monitoring_config.managed_prometheus_config.enabled`.
411
+ # * `networking.per_node_pool_sg_rules_disabled`.
375
412
  #
376
413
  # @yield [response, operation] Access the result along with the RPC operation
377
414
  # @yieldparam response [::Gapic::Operation]
@@ -669,7 +706,7 @@ module Google
669
706
  # @param options [::Gapic::CallOptions, ::Hash]
670
707
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
671
708
  #
672
- # @overload delete_aws_cluster(name: nil, validate_only: nil, allow_missing: nil, etag: nil)
709
+ # @overload delete_aws_cluster(name: nil, validate_only: nil, allow_missing: nil, ignore_errors: nil, etag: nil)
673
710
  # Pass arguments to `delete_aws_cluster` via keyword arguments. Note that at
674
711
  # least one keyword argument is required. To specify no parameters, or to keep all
675
712
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -692,6 +729,11 @@ module Google
692
729
  # and a completed {::Google::Longrunning::Operation Operation} will be returned.
693
730
  #
694
731
  # Useful for idempotent deletion.
732
+ # @param ignore_errors [::Boolean]
733
+ # Optional. If set to true, the deletion of
734
+ # {::Google::Cloud::GkeMultiCloud::V1::AwsCluster AwsCluster} resource will
735
+ # succeed even if errors occur during deleting in cluster resources. Using
736
+ # this parameter may result in orphaned resources in the cluster.
695
737
  # @param etag [::String]
696
738
  # The current etag of the
697
739
  # {::Google::Cloud::GkeMultiCloud::V1::AwsCluster AwsCluster}.
@@ -773,6 +815,109 @@ module Google
773
815
  raise ::Google::Cloud::Error.from_error(e)
774
816
  end
775
817
 
818
+ ##
819
+ # Generates an access token for a cluster agent.
820
+ #
821
+ # @overload generate_aws_cluster_agent_token(request, options = nil)
822
+ # Pass arguments to `generate_aws_cluster_agent_token` via a request object, either of type
823
+ # {::Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenRequest} or an equivalent Hash.
824
+ #
825
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenRequest, ::Hash]
826
+ # A request object representing the call parameters. Required. To specify no
827
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
828
+ # @param options [::Gapic::CallOptions, ::Hash]
829
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
830
+ #
831
+ # @overload generate_aws_cluster_agent_token(aws_cluster: nil, subject_token: nil, subject_token_type: nil, version: nil, node_pool_id: nil, grant_type: nil, audience: nil, scope: nil, requested_token_type: nil, options: nil)
832
+ # Pass arguments to `generate_aws_cluster_agent_token` via keyword arguments. Note that at
833
+ # least one keyword argument is required. To specify no parameters, or to keep all
834
+ # the default parameter values, pass an empty Hash as a request object (see above).
835
+ #
836
+ # @param aws_cluster [::String]
837
+ # Required.
838
+ # @param subject_token [::String]
839
+ # Required.
840
+ # @param subject_token_type [::String]
841
+ # Required.
842
+ # @param version [::String]
843
+ # Required.
844
+ # @param node_pool_id [::String]
845
+ # Optional.
846
+ # @param grant_type [::String]
847
+ # Optional.
848
+ # @param audience [::String]
849
+ # Optional.
850
+ # @param scope [::String]
851
+ # Optional.
852
+ # @param requested_token_type [::String]
853
+ # Optional.
854
+ # @param options [::String]
855
+ # Optional.
856
+ #
857
+ # @yield [response, operation] Access the result along with the RPC operation
858
+ # @yieldparam response [::Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenResponse]
859
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
860
+ #
861
+ # @return [::Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenResponse]
862
+ #
863
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
864
+ #
865
+ # @example Basic example
866
+ # require "google/cloud/gke_multi_cloud/v1"
867
+ #
868
+ # # Create a client object. The client can be reused for multiple calls.
869
+ # client = Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client.new
870
+ #
871
+ # # Create a request. To set request fields, pass in keyword arguments.
872
+ # request = Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenRequest.new
873
+ #
874
+ # # Call the generate_aws_cluster_agent_token method.
875
+ # result = client.generate_aws_cluster_agent_token request
876
+ #
877
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenResponse.
878
+ # p result
879
+ #
880
+ def generate_aws_cluster_agent_token request, options = nil
881
+ raise ::ArgumentError, "request must be provided" if request.nil?
882
+
883
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GenerateAwsClusterAgentTokenRequest
884
+
885
+ # Converts hash and nil to an options object
886
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
887
+
888
+ # Customize the options with defaults
889
+ metadata = @config.rpcs.generate_aws_cluster_agent_token.metadata.to_h
890
+
891
+ # Set x-goog-api-client and x-goog-user-project headers
892
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
893
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
894
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION
895
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
896
+
897
+ header_params = {}
898
+ if request.aws_cluster
899
+ header_params["aws_cluster"] = request.aws_cluster
900
+ end
901
+
902
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
903
+ metadata[:"x-goog-request-params"] ||= request_params_header
904
+
905
+ options.apply_defaults timeout: @config.rpcs.generate_aws_cluster_agent_token.timeout,
906
+ metadata: metadata,
907
+ retry_policy: @config.rpcs.generate_aws_cluster_agent_token.retry_policy
908
+
909
+ options.apply_defaults timeout: @config.timeout,
910
+ metadata: @config.metadata,
911
+ retry_policy: @config.retry_policy
912
+
913
+ @aws_clusters_stub.call_rpc :generate_aws_cluster_agent_token, request, options: options do |response, operation|
914
+ yield response, operation if block_given?
915
+ return response
916
+ end
917
+ rescue ::GRPC::BadStatus => e
918
+ raise ::Google::Cloud::Error.from_error(e)
919
+ end
920
+
776
921
  ##
777
922
  # Generates a short-lived access token to authenticate to a given
778
923
  # {::Google::Cloud::GkeMultiCloud::V1::AwsCluster AwsCluster} resource.
@@ -1023,6 +1168,7 @@ module Google
1023
1168
  # * `config.config_encryption.kms_key_arn`.
1024
1169
  # * `config.security_group_ids`.
1025
1170
  # * `config.root_volume.iops`.
1171
+ # * `config.root_volume.throughput`.
1026
1172
  # * `config.root_volume.kms_key_arn`.
1027
1173
  # * `config.root_volume.volume_type`.
1028
1174
  # * `config.root_volume.size_gib`.
@@ -1038,6 +1184,13 @@ module Google
1038
1184
  # * `config.autoscaling_metrics_collection`.
1039
1185
  # * `config.autoscaling_metrics_collection.granularity`.
1040
1186
  # * `config.autoscaling_metrics_collection.metrics`.
1187
+ # * `config.instance_type`.
1188
+ # * `management.auto_repair`.
1189
+ # * `management`.
1190
+ # * `update_settings`.
1191
+ # * `update_settings.surge_settings`.
1192
+ # * `update_settings.surge_settings.max_surge`.
1193
+ # * `update_settings.surge_settings.max_unavailable`.
1041
1194
  #
1042
1195
  # @yield [response, operation] Access the result along with the RPC operation
1043
1196
  # @yieldparam response [::Gapic::Operation]
@@ -1111,6 +1264,115 @@ module Google
1111
1264
  raise ::Google::Cloud::Error.from_error(e)
1112
1265
  end
1113
1266
 
1267
+ ##
1268
+ # Rolls back a previously aborted or failed
1269
+ # {::Google::Cloud::GkeMultiCloud::V1::AwsNodePool AwsNodePool} update request.
1270
+ # Makes no changes if the last update request successfully finished.
1271
+ # If an update request is in progress, you cannot rollback the update.
1272
+ # You must first cancel or let it finish unsuccessfully before you can
1273
+ # rollback.
1274
+ #
1275
+ # @overload rollback_aws_node_pool_update(request, options = nil)
1276
+ # Pass arguments to `rollback_aws_node_pool_update` via a request object, either of type
1277
+ # {::Google::Cloud::GkeMultiCloud::V1::RollbackAwsNodePoolUpdateRequest} or an equivalent Hash.
1278
+ #
1279
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::RollbackAwsNodePoolUpdateRequest, ::Hash]
1280
+ # A request object representing the call parameters. Required. To specify no
1281
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1282
+ # @param options [::Gapic::CallOptions, ::Hash]
1283
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1284
+ #
1285
+ # @overload rollback_aws_node_pool_update(name: nil, respect_pdb: nil)
1286
+ # Pass arguments to `rollback_aws_node_pool_update` via keyword arguments. Note that at
1287
+ # least one keyword argument is required. To specify no parameters, or to keep all
1288
+ # the default parameter values, pass an empty Hash as a request object (see above).
1289
+ #
1290
+ # @param name [::String]
1291
+ # Required. The name of the
1292
+ # {::Google::Cloud::GkeMultiCloud::V1::AwsNodePool AwsNodePool} resource to
1293
+ # rollback.
1294
+ #
1295
+ # `AwsNodePool` names are formatted as
1296
+ # `projects/<project-id>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>`.
1297
+ #
1298
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names)
1299
+ # for more details on Google Cloud resource names.
1300
+ # @param respect_pdb [::Boolean]
1301
+ # Optional. Option for rollback to ignore the PodDisruptionBudget when
1302
+ # draining the node pool nodes. Default value is false.
1303
+ #
1304
+ # @yield [response, operation] Access the result along with the RPC operation
1305
+ # @yieldparam response [::Gapic::Operation]
1306
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1307
+ #
1308
+ # @return [::Gapic::Operation]
1309
+ #
1310
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1311
+ #
1312
+ # @example Basic example
1313
+ # require "google/cloud/gke_multi_cloud/v1"
1314
+ #
1315
+ # # Create a client object. The client can be reused for multiple calls.
1316
+ # client = Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client.new
1317
+ #
1318
+ # # Create a request. To set request fields, pass in keyword arguments.
1319
+ # request = Google::Cloud::GkeMultiCloud::V1::RollbackAwsNodePoolUpdateRequest.new
1320
+ #
1321
+ # # Call the rollback_aws_node_pool_update method.
1322
+ # result = client.rollback_aws_node_pool_update request
1323
+ #
1324
+ # # The returned object is of type Gapic::Operation. You can use it to
1325
+ # # check the status of an operation, cancel it, or wait for results.
1326
+ # # Here is how to wait for a response.
1327
+ # result.wait_until_done! timeout: 60
1328
+ # if result.response?
1329
+ # p result.response
1330
+ # else
1331
+ # puts "No response received."
1332
+ # end
1333
+ #
1334
+ def rollback_aws_node_pool_update request, options = nil
1335
+ raise ::ArgumentError, "request must be provided" if request.nil?
1336
+
1337
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::RollbackAwsNodePoolUpdateRequest
1338
+
1339
+ # Converts hash and nil to an options object
1340
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1341
+
1342
+ # Customize the options with defaults
1343
+ metadata = @config.rpcs.rollback_aws_node_pool_update.metadata.to_h
1344
+
1345
+ # Set x-goog-api-client and x-goog-user-project headers
1346
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1347
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1348
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION
1349
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1350
+
1351
+ header_params = {}
1352
+ if request.name
1353
+ header_params["name"] = request.name
1354
+ end
1355
+
1356
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1357
+ metadata[:"x-goog-request-params"] ||= request_params_header
1358
+
1359
+ options.apply_defaults timeout: @config.rpcs.rollback_aws_node_pool_update.timeout,
1360
+ metadata: metadata,
1361
+ retry_policy: @config.rpcs.rollback_aws_node_pool_update.retry_policy
1362
+
1363
+ options.apply_defaults timeout: @config.timeout,
1364
+ metadata: @config.metadata,
1365
+ retry_policy: @config.retry_policy
1366
+
1367
+ @aws_clusters_stub.call_rpc :rollback_aws_node_pool_update, request, options: options do |response, operation|
1368
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1369
+ yield response, operation if block_given?
1370
+ return response
1371
+ end
1372
+ rescue ::GRPC::BadStatus => e
1373
+ raise ::Google::Cloud::Error.from_error(e)
1374
+ end
1375
+
1114
1376
  ##
1115
1377
  # Describes a specific
1116
1378
  # {::Google::Cloud::GkeMultiCloud::V1::AwsNodePool AwsNodePool} resource.
@@ -1334,7 +1596,7 @@ module Google
1334
1596
  # @param options [::Gapic::CallOptions, ::Hash]
1335
1597
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1336
1598
  #
1337
- # @overload delete_aws_node_pool(name: nil, validate_only: nil, allow_missing: nil, etag: nil)
1599
+ # @overload delete_aws_node_pool(name: nil, validate_only: nil, allow_missing: nil, ignore_errors: nil, etag: nil)
1338
1600
  # Pass arguments to `delete_aws_node_pool` via keyword arguments. Note that at
1339
1601
  # least one keyword argument is required. To specify no parameters, or to keep all
1340
1602
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1358,6 +1620,11 @@ module Google
1358
1620
  # and a completed {::Google::Longrunning::Operation Operation} will be returned.
1359
1621
  #
1360
1622
  # Useful for idempotent deletion.
1623
+ # @param ignore_errors [::Boolean]
1624
+ # Optional. If set to true, the deletion of
1625
+ # {::Google::Cloud::GkeMultiCloud::V1::AwsNodePool AwsNodePool} resource will
1626
+ # succeed even if errors occur during deleting in node pool resources. Using
1627
+ # this parameter may result in orphaned resources in the node pool.
1361
1628
  # @param etag [::String]
1362
1629
  # The current ETag of the
1363
1630
  # {::Google::Cloud::GkeMultiCloud::V1::AwsNodePool AwsNodePool}.
@@ -1439,6 +1706,185 @@ module Google
1439
1706
  raise ::Google::Cloud::Error.from_error(e)
1440
1707
  end
1441
1708
 
1709
+ ##
1710
+ # Gets the OIDC discovery document for the cluster.
1711
+ # See the
1712
+ # [OpenID Connect Discovery 1.0
1713
+ # specification](https://openid.net/specs/openid-connect-discovery-1_0.html)
1714
+ # for details.
1715
+ #
1716
+ # @overload get_aws_open_id_config(request, options = nil)
1717
+ # Pass arguments to `get_aws_open_id_config` via a request object, either of type
1718
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAwsOpenIdConfigRequest} or an equivalent Hash.
1719
+ #
1720
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAwsOpenIdConfigRequest, ::Hash]
1721
+ # A request object representing the call parameters. Required. To specify no
1722
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1723
+ # @param options [::Gapic::CallOptions, ::Hash]
1724
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1725
+ #
1726
+ # @overload get_aws_open_id_config(aws_cluster: nil)
1727
+ # Pass arguments to `get_aws_open_id_config` via keyword arguments. Note that at
1728
+ # least one keyword argument is required. To specify no parameters, or to keep all
1729
+ # the default parameter values, pass an empty Hash as a request object (see above).
1730
+ #
1731
+ # @param aws_cluster [::String]
1732
+ # Required. The AwsCluster, which owns the OIDC discovery document.
1733
+ # Format:
1734
+ # projects/\\{project}/locations/\\{location}/awsClusters/\\{cluster}
1735
+ #
1736
+ # @yield [response, operation] Access the result along with the RPC operation
1737
+ # @yieldparam response [::Google::Cloud::GkeMultiCloud::V1::AwsOpenIdConfig]
1738
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1739
+ #
1740
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AwsOpenIdConfig]
1741
+ #
1742
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1743
+ #
1744
+ # @example Basic example
1745
+ # require "google/cloud/gke_multi_cloud/v1"
1746
+ #
1747
+ # # Create a client object. The client can be reused for multiple calls.
1748
+ # client = Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client.new
1749
+ #
1750
+ # # Create a request. To set request fields, pass in keyword arguments.
1751
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAwsOpenIdConfigRequest.new
1752
+ #
1753
+ # # Call the get_aws_open_id_config method.
1754
+ # result = client.get_aws_open_id_config request
1755
+ #
1756
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AwsOpenIdConfig.
1757
+ # p result
1758
+ #
1759
+ def get_aws_open_id_config request, options = nil
1760
+ raise ::ArgumentError, "request must be provided" if request.nil?
1761
+
1762
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAwsOpenIdConfigRequest
1763
+
1764
+ # Converts hash and nil to an options object
1765
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1766
+
1767
+ # Customize the options with defaults
1768
+ metadata = @config.rpcs.get_aws_open_id_config.metadata.to_h
1769
+
1770
+ # Set x-goog-api-client and x-goog-user-project headers
1771
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1772
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1773
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION
1774
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1775
+
1776
+ header_params = {}
1777
+ if request.aws_cluster
1778
+ header_params["aws_cluster"] = request.aws_cluster
1779
+ end
1780
+
1781
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1782
+ metadata[:"x-goog-request-params"] ||= request_params_header
1783
+
1784
+ options.apply_defaults timeout: @config.rpcs.get_aws_open_id_config.timeout,
1785
+ metadata: metadata,
1786
+ retry_policy: @config.rpcs.get_aws_open_id_config.retry_policy
1787
+
1788
+ options.apply_defaults timeout: @config.timeout,
1789
+ metadata: @config.metadata,
1790
+ retry_policy: @config.retry_policy
1791
+
1792
+ @aws_clusters_stub.call_rpc :get_aws_open_id_config, request, options: options do |response, operation|
1793
+ yield response, operation if block_given?
1794
+ return response
1795
+ end
1796
+ rescue ::GRPC::BadStatus => e
1797
+ raise ::Google::Cloud::Error.from_error(e)
1798
+ end
1799
+
1800
+ ##
1801
+ # Gets the public component of the cluster signing keys in
1802
+ # JSON Web Key format.
1803
+ #
1804
+ # @overload get_aws_json_web_keys(request, options = nil)
1805
+ # Pass arguments to `get_aws_json_web_keys` via a request object, either of type
1806
+ # {::Google::Cloud::GkeMultiCloud::V1::GetAwsJsonWebKeysRequest} or an equivalent Hash.
1807
+ #
1808
+ # @param request [::Google::Cloud::GkeMultiCloud::V1::GetAwsJsonWebKeysRequest, ::Hash]
1809
+ # A request object representing the call parameters. Required. To specify no
1810
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1811
+ # @param options [::Gapic::CallOptions, ::Hash]
1812
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1813
+ #
1814
+ # @overload get_aws_json_web_keys(aws_cluster: nil)
1815
+ # Pass arguments to `get_aws_json_web_keys` via keyword arguments. Note that at
1816
+ # least one keyword argument is required. To specify no parameters, or to keep all
1817
+ # the default parameter values, pass an empty Hash as a request object (see above).
1818
+ #
1819
+ # @param aws_cluster [::String]
1820
+ # Required. The AwsCluster, which owns the JsonWebKeys.
1821
+ # Format:
1822
+ # projects/\\{project}/locations/\\{location}/awsClusters/\\{cluster}
1823
+ #
1824
+ # @yield [response, operation] Access the result along with the RPC operation
1825
+ # @yieldparam response [::Google::Cloud::GkeMultiCloud::V1::AwsJsonWebKeys]
1826
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1827
+ #
1828
+ # @return [::Google::Cloud::GkeMultiCloud::V1::AwsJsonWebKeys]
1829
+ #
1830
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1831
+ #
1832
+ # @example Basic example
1833
+ # require "google/cloud/gke_multi_cloud/v1"
1834
+ #
1835
+ # # Create a client object. The client can be reused for multiple calls.
1836
+ # client = Google::Cloud::GkeMultiCloud::V1::AwsClusters::Client.new
1837
+ #
1838
+ # # Create a request. To set request fields, pass in keyword arguments.
1839
+ # request = Google::Cloud::GkeMultiCloud::V1::GetAwsJsonWebKeysRequest.new
1840
+ #
1841
+ # # Call the get_aws_json_web_keys method.
1842
+ # result = client.get_aws_json_web_keys request
1843
+ #
1844
+ # # The returned object is of type Google::Cloud::GkeMultiCloud::V1::AwsJsonWebKeys.
1845
+ # p result
1846
+ #
1847
+ def get_aws_json_web_keys request, options = nil
1848
+ raise ::ArgumentError, "request must be provided" if request.nil?
1849
+
1850
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GkeMultiCloud::V1::GetAwsJsonWebKeysRequest
1851
+
1852
+ # Converts hash and nil to an options object
1853
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1854
+
1855
+ # Customize the options with defaults
1856
+ metadata = @config.rpcs.get_aws_json_web_keys.metadata.to_h
1857
+
1858
+ # Set x-goog-api-client and x-goog-user-project headers
1859
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1860
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1861
+ gapic_version: ::Google::Cloud::GkeMultiCloud::V1::VERSION
1862
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1863
+
1864
+ header_params = {}
1865
+ if request.aws_cluster
1866
+ header_params["aws_cluster"] = request.aws_cluster
1867
+ end
1868
+
1869
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1870
+ metadata[:"x-goog-request-params"] ||= request_params_header
1871
+
1872
+ options.apply_defaults timeout: @config.rpcs.get_aws_json_web_keys.timeout,
1873
+ metadata: metadata,
1874
+ retry_policy: @config.rpcs.get_aws_json_web_keys.retry_policy
1875
+
1876
+ options.apply_defaults timeout: @config.timeout,
1877
+ metadata: @config.metadata,
1878
+ retry_policy: @config.retry_policy
1879
+
1880
+ @aws_clusters_stub.call_rpc :get_aws_json_web_keys, request, options: options do |response, operation|
1881
+ yield response, operation if block_given?
1882
+ return response
1883
+ end
1884
+ rescue ::GRPC::BadStatus => e
1885
+ raise ::Google::Cloud::Error.from_error(e)
1886
+ end
1887
+
1442
1888
  ##
1443
1889
  # Returns information, such as supported AWS regions and Kubernetes
1444
1890
  # versions, on a given Google Cloud location.
@@ -1563,9 +2009,9 @@ module Google
1563
2009
  # end
1564
2010
  #
1565
2011
  # @!attribute [rw] endpoint
1566
- # The hostname or hostname:port of the service endpoint.
1567
- # Defaults to `"gkemulticloud.googleapis.com"`.
1568
- # @return [::String]
2012
+ # A custom service endpoint, as a hostname or hostname:port. The default is
2013
+ # nil, indicating to use the default endpoint in the current universe domain.
2014
+ # @return [::String,nil]
1569
2015
  # @!attribute [rw] credentials
1570
2016
  # Credentials to send with calls. You may provide any of the following types:
1571
2017
  # * (`String`) The path to a service account key file in JSON format
@@ -1611,13 +2057,20 @@ module Google
1611
2057
  # @!attribute [rw] quota_project
1612
2058
  # A separate project against which to charge quota.
1613
2059
  # @return [::String]
2060
+ # @!attribute [rw] universe_domain
2061
+ # The universe domain within which to make requests. This determines the
2062
+ # default endpoint URL. The default value of nil uses the environment
2063
+ # universe (usually the default "googleapis.com" universe).
2064
+ # @return [::String,nil]
1614
2065
  #
1615
2066
  class Configuration
1616
2067
  extend ::Gapic::Config
1617
2068
 
2069
+ # @private
2070
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1618
2071
  DEFAULT_ENDPOINT = "gkemulticloud.googleapis.com"
1619
2072
 
1620
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
2073
+ config_attr :endpoint, nil, ::String, nil
1621
2074
  config_attr :credentials, nil do |value|
1622
2075
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1623
2076
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
@@ -1632,6 +2085,7 @@ module Google
1632
2085
  config_attr :metadata, nil, ::Hash, nil
1633
2086
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1634
2087
  config_attr :quota_project, nil, ::String, nil
2088
+ config_attr :universe_domain, nil, ::String, nil
1635
2089
 
1636
2090
  # @private
1637
2091
  def initialize parent_config = nil
@@ -1704,6 +2158,11 @@ module Google
1704
2158
  #
1705
2159
  attr_reader :delete_aws_cluster
1706
2160
  ##
2161
+ # RPC-specific configuration for `generate_aws_cluster_agent_token`
2162
+ # @return [::Gapic::Config::Method]
2163
+ #
2164
+ attr_reader :generate_aws_cluster_agent_token
2165
+ ##
1707
2166
  # RPC-specific configuration for `generate_aws_access_token`
1708
2167
  # @return [::Gapic::Config::Method]
1709
2168
  #
@@ -1719,6 +2178,11 @@ module Google
1719
2178
  #
1720
2179
  attr_reader :update_aws_node_pool
1721
2180
  ##
2181
+ # RPC-specific configuration for `rollback_aws_node_pool_update`
2182
+ # @return [::Gapic::Config::Method]
2183
+ #
2184
+ attr_reader :rollback_aws_node_pool_update
2185
+ ##
1722
2186
  # RPC-specific configuration for `get_aws_node_pool`
1723
2187
  # @return [::Gapic::Config::Method]
1724
2188
  #
@@ -1734,6 +2198,16 @@ module Google
1734
2198
  #
1735
2199
  attr_reader :delete_aws_node_pool
1736
2200
  ##
2201
+ # RPC-specific configuration for `get_aws_open_id_config`
2202
+ # @return [::Gapic::Config::Method]
2203
+ #
2204
+ attr_reader :get_aws_open_id_config
2205
+ ##
2206
+ # RPC-specific configuration for `get_aws_json_web_keys`
2207
+ # @return [::Gapic::Config::Method]
2208
+ #
2209
+ attr_reader :get_aws_json_web_keys
2210
+ ##
1737
2211
  # RPC-specific configuration for `get_aws_server_config`
1738
2212
  # @return [::Gapic::Config::Method]
1739
2213
  #
@@ -1751,18 +2225,26 @@ module Google
1751
2225
  @list_aws_clusters = ::Gapic::Config::Method.new list_aws_clusters_config
1752
2226
  delete_aws_cluster_config = parent_rpcs.delete_aws_cluster if parent_rpcs.respond_to? :delete_aws_cluster
1753
2227
  @delete_aws_cluster = ::Gapic::Config::Method.new delete_aws_cluster_config
2228
+ generate_aws_cluster_agent_token_config = parent_rpcs.generate_aws_cluster_agent_token if parent_rpcs.respond_to? :generate_aws_cluster_agent_token
2229
+ @generate_aws_cluster_agent_token = ::Gapic::Config::Method.new generate_aws_cluster_agent_token_config
1754
2230
  generate_aws_access_token_config = parent_rpcs.generate_aws_access_token if parent_rpcs.respond_to? :generate_aws_access_token
1755
2231
  @generate_aws_access_token = ::Gapic::Config::Method.new generate_aws_access_token_config
1756
2232
  create_aws_node_pool_config = parent_rpcs.create_aws_node_pool if parent_rpcs.respond_to? :create_aws_node_pool
1757
2233
  @create_aws_node_pool = ::Gapic::Config::Method.new create_aws_node_pool_config
1758
2234
  update_aws_node_pool_config = parent_rpcs.update_aws_node_pool if parent_rpcs.respond_to? :update_aws_node_pool
1759
2235
  @update_aws_node_pool = ::Gapic::Config::Method.new update_aws_node_pool_config
2236
+ rollback_aws_node_pool_update_config = parent_rpcs.rollback_aws_node_pool_update if parent_rpcs.respond_to? :rollback_aws_node_pool_update
2237
+ @rollback_aws_node_pool_update = ::Gapic::Config::Method.new rollback_aws_node_pool_update_config
1760
2238
  get_aws_node_pool_config = parent_rpcs.get_aws_node_pool if parent_rpcs.respond_to? :get_aws_node_pool
1761
2239
  @get_aws_node_pool = ::Gapic::Config::Method.new get_aws_node_pool_config
1762
2240
  list_aws_node_pools_config = parent_rpcs.list_aws_node_pools if parent_rpcs.respond_to? :list_aws_node_pools
1763
2241
  @list_aws_node_pools = ::Gapic::Config::Method.new list_aws_node_pools_config
1764
2242
  delete_aws_node_pool_config = parent_rpcs.delete_aws_node_pool if parent_rpcs.respond_to? :delete_aws_node_pool
1765
2243
  @delete_aws_node_pool = ::Gapic::Config::Method.new delete_aws_node_pool_config
2244
+ get_aws_open_id_config_config = parent_rpcs.get_aws_open_id_config if parent_rpcs.respond_to? :get_aws_open_id_config
2245
+ @get_aws_open_id_config = ::Gapic::Config::Method.new get_aws_open_id_config_config
2246
+ get_aws_json_web_keys_config = parent_rpcs.get_aws_json_web_keys if parent_rpcs.respond_to? :get_aws_json_web_keys
2247
+ @get_aws_json_web_keys = ::Gapic::Config::Method.new get_aws_json_web_keys_config
1766
2248
  get_aws_server_config_config = parent_rpcs.get_aws_server_config if parent_rpcs.respond_to? :get_aws_server_config
1767
2249
  @get_aws_server_config = ::Gapic::Config::Method.new get_aws_server_config_config
1768
2250