google-cloud-gke_multi_cloud-v1 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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