google-cloud-dataproc-v1 0.3.2 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +8 -8
  3. data/LICENSE.md +188 -190
  4. data/README.md +67 -3
  5. data/lib/google/cloud/dataproc/v1/autoscaling_policy_service/client.rb +19 -22
  6. data/lib/google/cloud/dataproc/v1/autoscaling_policy_service/paths.rb +1 -1
  7. data/lib/google/cloud/dataproc/v1/cluster_controller.rb +1 -0
  8. data/lib/google/cloud/dataproc/v1/cluster_controller/client.rb +238 -52
  9. data/lib/google/cloud/dataproc/v1/cluster_controller/operations.rb +95 -10
  10. data/lib/google/cloud/dataproc/v1/cluster_controller/paths.rb +71 -0
  11. data/lib/google/cloud/dataproc/v1/clusters_pb.rb +60 -0
  12. data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +4 -0
  13. data/lib/google/cloud/dataproc/v1/job_controller/client.rb +42 -55
  14. data/lib/google/cloud/dataproc/v1/job_controller/operations.rb +95 -10
  15. data/lib/google/cloud/dataproc/v1/jobs_pb.rb +2 -0
  16. data/lib/google/cloud/dataproc/v1/shared_pb.rb +7 -0
  17. data/lib/google/cloud/dataproc/v1/version.rb +1 -1
  18. data/lib/google/cloud/dataproc/v1/workflow_template_service/client.rb +28 -42
  19. data/lib/google/cloud/dataproc/v1/workflow_template_service/operations.rb +95 -10
  20. data/lib/google/cloud/dataproc/v1/workflow_template_service/paths.rb +39 -1
  21. data/lib/google/cloud/dataproc/v1/workflow_templates_pb.rb +5 -0
  22. data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +2 -1
  23. data/proto_docs/google/api/field_behavior.rb +12 -0
  24. data/proto_docs/google/cloud/dataproc/v1/clusters.rb +240 -16
  25. data/proto_docs/google/cloud/dataproc/v1/jobs.rb +29 -10
  26. data/proto_docs/google/cloud/dataproc/v1/shared.rb +24 -1
  27. data/proto_docs/google/cloud/dataproc/v1/workflow_templates.rb +34 -7
  28. data/proto_docs/google/longrunning/operations.rb +17 -3
  29. data/proto_docs/google/protobuf/any.rb +5 -2
  30. data/proto_docs/google/protobuf/timestamp.rb +10 -1
  31. metadata +21 -11
@@ -61,7 +61,7 @@ module Google
61
61
  parent_config = while namespace.any?
62
62
  parent_name = namespace.join "::"
63
63
  parent_const = const_get parent_name
64
- break parent_const.configure if parent_const&.respond_to? :configure
64
+ break parent_const.configure if parent_const.respond_to? :configure
65
65
  namespace.pop
66
66
  end
67
67
  default_config = Client::Configuration.new parent_config
@@ -70,26 +70,17 @@ module Google
70
70
 
71
71
  default_config.rpcs.update_autoscaling_policy.timeout = 600.0
72
72
  default_config.rpcs.update_autoscaling_policy.retry_policy = {
73
- initial_delay: 0.1,
74
- max_delay: 60.0,
75
- multiplier: 1.3,
76
- retry_codes: [4, 14]
73
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
77
74
  }
78
75
 
79
76
  default_config.rpcs.get_autoscaling_policy.timeout = 600.0
80
77
  default_config.rpcs.get_autoscaling_policy.retry_policy = {
81
- initial_delay: 0.1,
82
- max_delay: 60.0,
83
- multiplier: 1.3,
84
- retry_codes: [4, 14]
78
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
85
79
  }
86
80
 
87
81
  default_config.rpcs.list_autoscaling_policies.timeout = 600.0
88
82
  default_config.rpcs.list_autoscaling_policies.retry_policy = {
89
- initial_delay: 0.1,
90
- max_delay: 60.0,
91
- multiplier: 1.3,
92
- retry_codes: [4, 14]
83
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [4, 14]
93
84
  }
94
85
 
95
86
  default_config.rpcs.delete_autoscaling_policy.timeout = 600.0
@@ -155,8 +146,14 @@ module Google
155
146
 
156
147
  # Create credentials
157
148
  credentials = @config.credentials
158
- credentials ||= Credentials.default scope: @config.scope
159
- if credentials.is_a?(String) || credentials.is_a?(Hash)
149
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
150
+ # but only if the default endpoint does not have a region prefix.
151
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
152
+ @config.endpoint == Client.configure.endpoint &&
153
+ !@config.endpoint.split(".").first.include?("-")
154
+ credentials ||= Credentials.default scope: @config.scope,
155
+ enable_self_signed_jwt: enable_self_signed_jwt
156
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
160
157
  credentials = Credentials.new credentials, scope: @config.scope
161
158
  end
162
159
  @quota_project_id = @config.quota_project
@@ -644,7 +641,7 @@ module Google
644
641
  config_attr :scope, nil, ::String, ::Array, nil
645
642
  config_attr :lib_name, nil, ::String, nil
646
643
  config_attr :lib_version, nil, ::String, nil
647
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
644
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
648
645
  config_attr :interceptors, nil, ::Array, nil
649
646
  config_attr :timeout, nil, ::Numeric, nil
650
647
  config_attr :metadata, nil, ::Hash, nil
@@ -665,7 +662,7 @@ module Google
665
662
  def rpcs
666
663
  @rpcs ||= begin
667
664
  parent_rpcs = nil
668
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
665
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
669
666
  Rpcs.new parent_rpcs
670
667
  end
671
668
  end
@@ -716,15 +713,15 @@ module Google
716
713
 
717
714
  # @private
718
715
  def initialize parent_rpcs = nil
719
- create_autoscaling_policy_config = parent_rpcs&.create_autoscaling_policy if parent_rpcs&.respond_to? :create_autoscaling_policy
716
+ create_autoscaling_policy_config = parent_rpcs.create_autoscaling_policy if parent_rpcs.respond_to? :create_autoscaling_policy
720
717
  @create_autoscaling_policy = ::Gapic::Config::Method.new create_autoscaling_policy_config
721
- update_autoscaling_policy_config = parent_rpcs&.update_autoscaling_policy if parent_rpcs&.respond_to? :update_autoscaling_policy
718
+ update_autoscaling_policy_config = parent_rpcs.update_autoscaling_policy if parent_rpcs.respond_to? :update_autoscaling_policy
722
719
  @update_autoscaling_policy = ::Gapic::Config::Method.new update_autoscaling_policy_config
723
- get_autoscaling_policy_config = parent_rpcs&.get_autoscaling_policy if parent_rpcs&.respond_to? :get_autoscaling_policy
720
+ get_autoscaling_policy_config = parent_rpcs.get_autoscaling_policy if parent_rpcs.respond_to? :get_autoscaling_policy
724
721
  @get_autoscaling_policy = ::Gapic::Config::Method.new get_autoscaling_policy_config
725
- list_autoscaling_policies_config = parent_rpcs&.list_autoscaling_policies if parent_rpcs&.respond_to? :list_autoscaling_policies
722
+ list_autoscaling_policies_config = parent_rpcs.list_autoscaling_policies if parent_rpcs.respond_to? :list_autoscaling_policies
726
723
  @list_autoscaling_policies = ::Gapic::Config::Method.new list_autoscaling_policies_config
727
- delete_autoscaling_policy_config = parent_rpcs&.delete_autoscaling_policy if parent_rpcs&.respond_to? :delete_autoscaling_policy
724
+ delete_autoscaling_policy_config = parent_rpcs.delete_autoscaling_policy if parent_rpcs.respond_to? :delete_autoscaling_policy
728
725
  @delete_autoscaling_policy = ::Gapic::Config::Method.new delete_autoscaling_policy_config
729
726
 
730
727
  yield self if block_given?
@@ -54,7 +54,7 @@ module Google
54
54
 
55
55
  "projects/#{project}/locations/#{location}/autoscalingPolicies/#{autoscaling_policy}"
56
56
  end),
57
- "autoscaling_policy:project:region" => (proc do |project:, region:, autoscaling_policy:|
57
+ "autoscaling_policy:project:region" => (proc do |project:, region:, autoscaling_policy:|
58
58
  raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
59
59
  raise ::ArgumentError, "region cannot contain /" if region.to_s.include? "/"
60
60
 
@@ -23,6 +23,7 @@ require "gapic/config/method"
23
23
  require "google/cloud/dataproc/v1/version"
24
24
 
25
25
  require "google/cloud/dataproc/v1/cluster_controller/credentials"
26
+ require "google/cloud/dataproc/v1/cluster_controller/paths"
26
27
  require "google/cloud/dataproc/v1/cluster_controller/operations"
27
28
  require "google/cloud/dataproc/v1/cluster_controller/client"
28
29
 
@@ -31,6 +31,8 @@ module Google
31
31
  # of Compute Engine instances.
32
32
  #
33
33
  class Client
34
+ include Paths
35
+
34
36
  # @private
35
37
  attr_reader :cluster_controller_stub
36
38
 
@@ -59,57 +61,39 @@ module Google
59
61
  parent_config = while namespace.any?
60
62
  parent_name = namespace.join "::"
61
63
  parent_const = const_get parent_name
62
- break parent_const.configure if parent_const&.respond_to? :configure
64
+ break parent_const.configure if parent_const.respond_to? :configure
63
65
  namespace.pop
64
66
  end
65
67
  default_config = Client::Configuration.new parent_config
66
68
 
67
69
  default_config.rpcs.create_cluster.timeout = 300.0
68
70
  default_config.rpcs.create_cluster.retry_policy = {
69
- initial_delay: 0.1,
70
- max_delay: 60.0,
71
- multiplier: 1.3,
72
- retry_codes: [14]
71
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
73
72
  }
74
73
 
75
74
  default_config.rpcs.update_cluster.timeout = 300.0
76
75
  default_config.rpcs.update_cluster.retry_policy = {
77
- initial_delay: 0.1,
78
- max_delay: 60.0,
79
- multiplier: 1.3,
80
- retry_codes: [14]
76
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
81
77
  }
82
78
 
83
79
  default_config.rpcs.delete_cluster.timeout = 300.0
84
80
  default_config.rpcs.delete_cluster.retry_policy = {
85
- initial_delay: 0.1,
86
- max_delay: 60.0,
87
- multiplier: 1.3,
88
- retry_codes: [14]
81
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
89
82
  }
90
83
 
91
84
  default_config.rpcs.get_cluster.timeout = 300.0
92
85
  default_config.rpcs.get_cluster.retry_policy = {
93
- initial_delay: 0.1,
94
- max_delay: 60.0,
95
- multiplier: 1.3,
96
- retry_codes: [13, 4, 14]
86
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [13, 4, 14]
97
87
  }
98
88
 
99
89
  default_config.rpcs.list_clusters.timeout = 300.0
100
90
  default_config.rpcs.list_clusters.retry_policy = {
101
- initial_delay: 0.1,
102
- max_delay: 60.0,
103
- multiplier: 1.3,
104
- retry_codes: [13, 4, 14]
91
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [13, 4, 14]
105
92
  }
106
93
 
107
94
  default_config.rpcs.diagnose_cluster.timeout = 300.0
108
95
  default_config.rpcs.diagnose_cluster.retry_policy = {
109
- initial_delay: 0.1,
110
- max_delay: 60.0,
111
- multiplier: 1.3,
112
- retry_codes: [14]
96
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
113
97
  }
114
98
 
115
99
  default_config
@@ -173,8 +157,14 @@ module Google
173
157
 
174
158
  # Create credentials
175
159
  credentials = @config.credentials
176
- credentials ||= Credentials.default scope: @config.scope
177
- if credentials.is_a?(String) || credentials.is_a?(Hash)
160
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
161
+ # but only if the default endpoint does not have a region prefix.
162
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
163
+ @config.endpoint == Client.configure.endpoint &&
164
+ !@config.endpoint.split(".").first.include?("-")
165
+ credentials ||= Credentials.default scope: @config.scope,
166
+ enable_self_signed_jwt: enable_self_signed_jwt
167
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
178
168
  credentials = Credentials.new credentials, scope: @config.scope
179
169
  end
180
170
  @quota_project_id = @config.quota_project
@@ -231,9 +221,9 @@ module Google
231
221
  # @param cluster [::Google::Cloud::Dataproc::V1::Cluster, ::Hash]
232
222
  # Required. The cluster to create.
233
223
  # @param request_id [::String]
234
- # Optional. A unique id used to identify the request. If the server
235
- # receives two {::Google::Cloud::Dataproc::V1::CreateClusterRequest CreateClusterRequest} requests with the same
236
- # id, then the second request will be ignored and the
224
+ # Optional. A unique id used to identify the request. If the server receives two
225
+ # [CreateClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateClusterRequest)s
226
+ # with the same id, then the second request will be ignored and the
237
227
  # first {::Google::Longrunning::Operation google.longrunning.Operation} created and stored in the backend
238
228
  # is returned.
239
229
  #
@@ -270,7 +260,7 @@ module Google
270
260
 
271
261
  header_params = {
272
262
  "project_id" => request.project_id,
273
- "region" => request.region
263
+ "region" => request.region
274
264
  }
275
265
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
276
266
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -383,8 +373,9 @@ module Google
383
373
  # </table>
384
374
  # @param request_id [::String]
385
375
  # Optional. A unique id used to identify the request. If the server
386
- # receives two {::Google::Cloud::Dataproc::V1::UpdateClusterRequest UpdateClusterRequest} requests with the same
387
- # id, then the second request will be ignored and the
376
+ # receives two
377
+ # [UpdateClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s
378
+ # with the same id, then the second request will be ignored and the
388
379
  # first {::Google::Longrunning::Operation google.longrunning.Operation} created and stored in the
389
380
  # backend is returned.
390
381
  #
@@ -420,8 +411,8 @@ module Google
420
411
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
421
412
 
422
413
  header_params = {
423
- "project_id" => request.project_id,
424
- "region" => request.region,
414
+ "project_id" => request.project_id,
415
+ "region" => request.region,
425
416
  "cluster_name" => request.cluster_name
426
417
  }
427
418
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
@@ -442,6 +433,186 @@ module Google
442
433
  raise ::Google::Cloud::Error.from_error(e)
443
434
  end
444
435
 
436
+ ##
437
+ # Stops a cluster in a project.
438
+ #
439
+ # @overload stop_cluster(request, options = nil)
440
+ # Pass arguments to `stop_cluster` via a request object, either of type
441
+ # {::Google::Cloud::Dataproc::V1::StopClusterRequest} or an equivalent Hash.
442
+ #
443
+ # @param request [::Google::Cloud::Dataproc::V1::StopClusterRequest, ::Hash]
444
+ # A request object representing the call parameters. Required. To specify no
445
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
446
+ # @param options [::Gapic::CallOptions, ::Hash]
447
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
448
+ #
449
+ # @overload stop_cluster(project_id: nil, region: nil, cluster_name: nil, cluster_uuid: nil, request_id: nil)
450
+ # Pass arguments to `stop_cluster` via keyword arguments. Note that at
451
+ # least one keyword argument is required. To specify no parameters, or to keep all
452
+ # the default parameter values, pass an empty Hash as a request object (see above).
453
+ #
454
+ # @param project_id [::String]
455
+ # Required. The ID of the Google Cloud Platform project the
456
+ # cluster belongs to.
457
+ # @param region [::String]
458
+ # Required. The Dataproc region in which to handle the request.
459
+ # @param cluster_name [::String]
460
+ # Required. The cluster name.
461
+ # @param cluster_uuid [::String]
462
+ # Optional. Specifying the `cluster_uuid` means the RPC will fail
463
+ # (with error NOT_FOUND) if a cluster with the specified UUID does not exist.
464
+ # @param request_id [::String]
465
+ # Optional. A unique id used to identify the request. If the server
466
+ # receives two
467
+ # [StopClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StopClusterRequest)s
468
+ # with the same id, then the second request will be ignored and the
469
+ # first {::Google::Longrunning::Operation google.longrunning.Operation} created and stored in the
470
+ # backend is returned.
471
+ #
472
+ # Recommendation: Set this value to a
473
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
474
+ #
475
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
476
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
477
+ #
478
+ # @yield [response, operation] Access the result along with the RPC operation
479
+ # @yieldparam response [::Gapic::Operation]
480
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
481
+ #
482
+ # @return [::Gapic::Operation]
483
+ #
484
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
485
+ #
486
+ def stop_cluster request, options = nil
487
+ raise ::ArgumentError, "request must be provided" if request.nil?
488
+
489
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dataproc::V1::StopClusterRequest
490
+
491
+ # Converts hash and nil to an options object
492
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
493
+
494
+ # Customize the options with defaults
495
+ metadata = @config.rpcs.stop_cluster.metadata.to_h
496
+
497
+ # Set x-goog-api-client and x-goog-user-project headers
498
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
499
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
500
+ gapic_version: ::Google::Cloud::Dataproc::V1::VERSION
501
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
502
+
503
+ header_params = {
504
+ "project_id" => request.project_id,
505
+ "region" => request.region,
506
+ "cluster_name" => request.cluster_name
507
+ }
508
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
509
+ metadata[:"x-goog-request-params"] ||= request_params_header
510
+
511
+ options.apply_defaults timeout: @config.rpcs.stop_cluster.timeout,
512
+ metadata: metadata,
513
+ retry_policy: @config.rpcs.stop_cluster.retry_policy
514
+ options.apply_defaults metadata: @config.metadata,
515
+ retry_policy: @config.retry_policy
516
+
517
+ @cluster_controller_stub.call_rpc :stop_cluster, request, options: options do |response, operation|
518
+ response = ::Gapic::Operation.new response, @operations_client, options: options
519
+ yield response, operation if block_given?
520
+ return response
521
+ end
522
+ rescue ::GRPC::BadStatus => e
523
+ raise ::Google::Cloud::Error.from_error(e)
524
+ end
525
+
526
+ ##
527
+ # Starts a cluster in a project.
528
+ #
529
+ # @overload start_cluster(request, options = nil)
530
+ # Pass arguments to `start_cluster` via a request object, either of type
531
+ # {::Google::Cloud::Dataproc::V1::StartClusterRequest} or an equivalent Hash.
532
+ #
533
+ # @param request [::Google::Cloud::Dataproc::V1::StartClusterRequest, ::Hash]
534
+ # A request object representing the call parameters. Required. To specify no
535
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
536
+ # @param options [::Gapic::CallOptions, ::Hash]
537
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
538
+ #
539
+ # @overload start_cluster(project_id: nil, region: nil, cluster_name: nil, cluster_uuid: nil, request_id: nil)
540
+ # Pass arguments to `start_cluster` via keyword arguments. Note that at
541
+ # least one keyword argument is required. To specify no parameters, or to keep all
542
+ # the default parameter values, pass an empty Hash as a request object (see above).
543
+ #
544
+ # @param project_id [::String]
545
+ # Required. The ID of the Google Cloud Platform project the
546
+ # cluster belongs to.
547
+ # @param region [::String]
548
+ # Required. The Dataproc region in which to handle the request.
549
+ # @param cluster_name [::String]
550
+ # Required. The cluster name.
551
+ # @param cluster_uuid [::String]
552
+ # Optional. Specifying the `cluster_uuid` means the RPC will fail
553
+ # (with error NOT_FOUND) if a cluster with the specified UUID does not exist.
554
+ # @param request_id [::String]
555
+ # Optional. A unique id used to identify the request. If the server
556
+ # receives two
557
+ # [StartClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.StartClusterRequest)s
558
+ # with the same id, then the second request will be ignored and the
559
+ # first {::Google::Longrunning::Operation google.longrunning.Operation} created and stored in the
560
+ # backend is returned.
561
+ #
562
+ # Recommendation: Set this value to a
563
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
564
+ #
565
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
566
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
567
+ #
568
+ # @yield [response, operation] Access the result along with the RPC operation
569
+ # @yieldparam response [::Gapic::Operation]
570
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
571
+ #
572
+ # @return [::Gapic::Operation]
573
+ #
574
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
575
+ #
576
+ def start_cluster request, options = nil
577
+ raise ::ArgumentError, "request must be provided" if request.nil?
578
+
579
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dataproc::V1::StartClusterRequest
580
+
581
+ # Converts hash and nil to an options object
582
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
583
+
584
+ # Customize the options with defaults
585
+ metadata = @config.rpcs.start_cluster.metadata.to_h
586
+
587
+ # Set x-goog-api-client and x-goog-user-project headers
588
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
589
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
590
+ gapic_version: ::Google::Cloud::Dataproc::V1::VERSION
591
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
592
+
593
+ header_params = {
594
+ "project_id" => request.project_id,
595
+ "region" => request.region,
596
+ "cluster_name" => request.cluster_name
597
+ }
598
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
599
+ metadata[:"x-goog-request-params"] ||= request_params_header
600
+
601
+ options.apply_defaults timeout: @config.rpcs.start_cluster.timeout,
602
+ metadata: metadata,
603
+ retry_policy: @config.rpcs.start_cluster.retry_policy
604
+ options.apply_defaults metadata: @config.metadata,
605
+ retry_policy: @config.retry_policy
606
+
607
+ @cluster_controller_stub.call_rpc :start_cluster, request, options: options do |response, operation|
608
+ response = ::Gapic::Operation.new response, @operations_client, options: options
609
+ yield response, operation if block_given?
610
+ return response
611
+ end
612
+ rescue ::GRPC::BadStatus => e
613
+ raise ::Google::Cloud::Error.from_error(e)
614
+ end
615
+
445
616
  ##
446
617
  # Deletes a cluster in a project. The returned
447
618
  # {::Google::Longrunning::Operation#metadata Operation.metadata} will be
@@ -474,8 +645,9 @@ module Google
474
645
  # (with error NOT_FOUND) if cluster with specified UUID does not exist.
475
646
  # @param request_id [::String]
476
647
  # Optional. A unique id used to identify the request. If the server
477
- # receives two {::Google::Cloud::Dataproc::V1::DeleteClusterRequest DeleteClusterRequest} requests with the same
478
- # id, then the second request will be ignored and the
648
+ # receives two
649
+ # [DeleteClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s
650
+ # with the same id, then the second request will be ignored and the
479
651
  # first {::Google::Longrunning::Operation google.longrunning.Operation} created and stored in the
480
652
  # backend is returned.
481
653
  #
@@ -511,8 +683,8 @@ module Google
511
683
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
512
684
 
513
685
  header_params = {
514
- "project_id" => request.project_id,
515
- "region" => request.region,
686
+ "project_id" => request.project_id,
687
+ "region" => request.region,
516
688
  "cluster_name" => request.cluster_name
517
689
  }
518
690
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
@@ -585,8 +757,8 @@ module Google
585
757
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
586
758
 
587
759
  header_params = {
588
- "project_id" => request.project_id,
589
- "region" => request.region,
760
+ "project_id" => request.project_id,
761
+ "region" => request.region,
590
762
  "cluster_name" => request.cluster_name
591
763
  }
592
764
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
@@ -681,7 +853,7 @@ module Google
681
853
 
682
854
  header_params = {
683
855
  "project_id" => request.project_id,
684
- "region" => request.region
856
+ "region" => request.region
685
857
  }
686
858
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
687
859
  metadata[:"x-goog-request-params"] ||= request_params_header
@@ -759,8 +931,8 @@ module Google
759
931
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
760
932
 
761
933
  header_params = {
762
- "project_id" => request.project_id,
763
- "region" => request.region,
934
+ "project_id" => request.project_id,
935
+ "region" => request.region,
764
936
  "cluster_name" => request.cluster_name
765
937
  }
766
938
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
@@ -873,7 +1045,7 @@ module Google
873
1045
  config_attr :scope, nil, ::String, ::Array, nil
874
1046
  config_attr :lib_name, nil, ::String, nil
875
1047
  config_attr :lib_version, nil, ::String, nil
876
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1048
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
877
1049
  config_attr :interceptors, nil, ::Array, nil
878
1050
  config_attr :timeout, nil, ::Numeric, nil
879
1051
  config_attr :metadata, nil, ::Hash, nil
@@ -894,7 +1066,7 @@ module Google
894
1066
  def rpcs
895
1067
  @rpcs ||= begin
896
1068
  parent_rpcs = nil
897
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1069
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
898
1070
  Rpcs.new parent_rpcs
899
1071
  end
900
1072
  end
@@ -928,6 +1100,16 @@ module Google
928
1100
  #
929
1101
  attr_reader :update_cluster
930
1102
  ##
1103
+ # RPC-specific configuration for `stop_cluster`
1104
+ # @return [::Gapic::Config::Method]
1105
+ #
1106
+ attr_reader :stop_cluster
1107
+ ##
1108
+ # RPC-specific configuration for `start_cluster`
1109
+ # @return [::Gapic::Config::Method]
1110
+ #
1111
+ attr_reader :start_cluster
1112
+ ##
931
1113
  # RPC-specific configuration for `delete_cluster`
932
1114
  # @return [::Gapic::Config::Method]
933
1115
  #
@@ -950,17 +1132,21 @@ module Google
950
1132
 
951
1133
  # @private
952
1134
  def initialize parent_rpcs = nil
953
- create_cluster_config = parent_rpcs&.create_cluster if parent_rpcs&.respond_to? :create_cluster
1135
+ create_cluster_config = parent_rpcs.create_cluster if parent_rpcs.respond_to? :create_cluster
954
1136
  @create_cluster = ::Gapic::Config::Method.new create_cluster_config
955
- update_cluster_config = parent_rpcs&.update_cluster if parent_rpcs&.respond_to? :update_cluster
1137
+ update_cluster_config = parent_rpcs.update_cluster if parent_rpcs.respond_to? :update_cluster
956
1138
  @update_cluster = ::Gapic::Config::Method.new update_cluster_config
957
- delete_cluster_config = parent_rpcs&.delete_cluster if parent_rpcs&.respond_to? :delete_cluster
1139
+ stop_cluster_config = parent_rpcs.stop_cluster if parent_rpcs.respond_to? :stop_cluster
1140
+ @stop_cluster = ::Gapic::Config::Method.new stop_cluster_config
1141
+ start_cluster_config = parent_rpcs.start_cluster if parent_rpcs.respond_to? :start_cluster
1142
+ @start_cluster = ::Gapic::Config::Method.new start_cluster_config
1143
+ delete_cluster_config = parent_rpcs.delete_cluster if parent_rpcs.respond_to? :delete_cluster
958
1144
  @delete_cluster = ::Gapic::Config::Method.new delete_cluster_config
959
- get_cluster_config = parent_rpcs&.get_cluster if parent_rpcs&.respond_to? :get_cluster
1145
+ get_cluster_config = parent_rpcs.get_cluster if parent_rpcs.respond_to? :get_cluster
960
1146
  @get_cluster = ::Gapic::Config::Method.new get_cluster_config
961
- list_clusters_config = parent_rpcs&.list_clusters if parent_rpcs&.respond_to? :list_clusters
1147
+ list_clusters_config = parent_rpcs.list_clusters if parent_rpcs.respond_to? :list_clusters
962
1148
  @list_clusters = ::Gapic::Config::Method.new list_clusters_config
963
- diagnose_cluster_config = parent_rpcs&.diagnose_cluster if parent_rpcs&.respond_to? :diagnose_cluster
1149
+ diagnose_cluster_config = parent_rpcs.diagnose_cluster if parent_rpcs.respond_to? :diagnose_cluster
964
1150
  @diagnose_cluster = ::Gapic::Config::Method.new diagnose_cluster_config
965
1151
 
966
1152
  yield self if block_given?