google-cloud-dataproc-v1 0.2.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +68 -0
- data/lib/google/cloud/dataproc/v1.rb +3 -0
- data/lib/google/cloud/dataproc/v1/autoscaling_policies_services_pb.rb +5 -5
- data/lib/google/cloud/dataproc/v1/autoscaling_policy_service/client.rb +12 -6
- data/lib/google/cloud/dataproc/v1/cluster_controller/client.rb +15 -9
- data/lib/google/cloud/dataproc/v1/cluster_controller/operations.rb +90 -5
- data/lib/google/cloud/dataproc/v1/clusters_pb.rb +14 -0
- data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +6 -6
- data/lib/google/cloud/dataproc/v1/job_controller/client.rb +16 -10
- data/lib/google/cloud/dataproc/v1/job_controller/operations.rb +90 -5
- data/lib/google/cloud/dataproc/v1/jobs_services_pb.rb +7 -7
- data/lib/google/cloud/dataproc/v1/version.rb +1 -1
- data/lib/google/cloud/dataproc/v1/workflow_template_service/client.rb +16 -10
- data/lib/google/cloud/dataproc/v1/workflow_template_service/operations.rb +90 -5
- data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +7 -7
- data/proto_docs/google/api/field_behavior.rb +6 -0
- data/proto_docs/google/api/resource.rb +50 -14
- data/proto_docs/google/cloud/dataproc/v1/autoscaling_policies.rb +8 -2
- data/proto_docs/google/cloud/dataproc/v1/clusters.rb +69 -2
- data/proto_docs/google/cloud/dataproc/v1/jobs.rb +14 -13
- data/proto_docs/google/cloud/dataproc/v1/shared.rb +1 -1
- data/proto_docs/google/cloud/dataproc/v1/workflow_templates.rb +9 -3
- data/proto_docs/google/longrunning/operations.rb +17 -3
- data/proto_docs/google/protobuf/any.rb +5 -2
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- metadata +9 -6
@@ -37,19 +37,19 @@ module Google
|
|
37
37
|
# Creates a cluster in a project. The returned
|
38
38
|
# [Operation.metadata][google.longrunning.Operation.metadata] will be
|
39
39
|
# [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
|
40
|
-
rpc :CreateCluster, CreateClusterRequest, Google::Longrunning::Operation
|
40
|
+
rpc :CreateCluster, ::Google::Cloud::Dataproc::V1::CreateClusterRequest, ::Google::Longrunning::Operation
|
41
41
|
# Updates a cluster in a project. The returned
|
42
42
|
# [Operation.metadata][google.longrunning.Operation.metadata] will be
|
43
43
|
# [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
|
44
|
-
rpc :UpdateCluster, UpdateClusterRequest, Google::Longrunning::Operation
|
44
|
+
rpc :UpdateCluster, ::Google::Cloud::Dataproc::V1::UpdateClusterRequest, ::Google::Longrunning::Operation
|
45
45
|
# Deletes a cluster in a project. The returned
|
46
46
|
# [Operation.metadata][google.longrunning.Operation.metadata] will be
|
47
47
|
# [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
|
48
|
-
rpc :DeleteCluster, DeleteClusterRequest, Google::Longrunning::Operation
|
48
|
+
rpc :DeleteCluster, ::Google::Cloud::Dataproc::V1::DeleteClusterRequest, ::Google::Longrunning::Operation
|
49
49
|
# Gets the resource representation for a cluster in a project.
|
50
|
-
rpc :GetCluster, GetClusterRequest, Cluster
|
50
|
+
rpc :GetCluster, ::Google::Cloud::Dataproc::V1::GetClusterRequest, ::Google::Cloud::Dataproc::V1::Cluster
|
51
51
|
# Lists all regions/{region}/clusters in a project alphabetically.
|
52
|
-
rpc :ListClusters, ListClustersRequest, ListClustersResponse
|
52
|
+
rpc :ListClusters, ::Google::Cloud::Dataproc::V1::ListClustersRequest, ::Google::Cloud::Dataproc::V1::ListClustersResponse
|
53
53
|
# Gets cluster diagnostic information. The returned
|
54
54
|
# [Operation.metadata][google.longrunning.Operation.metadata] will be
|
55
55
|
# [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata).
|
@@ -57,7 +57,7 @@ module Google
|
|
57
57
|
# [Operation.response][google.longrunning.Operation.response]
|
58
58
|
# contains
|
59
59
|
# [DiagnoseClusterResults](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#diagnoseclusterresults).
|
60
|
-
rpc :DiagnoseCluster, DiagnoseClusterRequest, Google::Longrunning::Operation
|
60
|
+
rpc :DiagnoseCluster, ::Google::Cloud::Dataproc::V1::DiagnoseClusterRequest, ::Google::Longrunning::Operation
|
61
61
|
end
|
62
62
|
|
63
63
|
Stub = Service.rpc_stub_class
|
@@ -68,7 +68,7 @@ module Google
|
|
68
68
|
initial_delay: 0.1,
|
69
69
|
max_delay: 60.0,
|
70
70
|
multiplier: 1.3,
|
71
|
-
retry_codes: [
|
71
|
+
retry_codes: [14]
|
72
72
|
}
|
73
73
|
|
74
74
|
default_config.rpcs.submit_job_as_operation.timeout = 900.0
|
@@ -76,7 +76,7 @@ module Google
|
|
76
76
|
initial_delay: 0.1,
|
77
77
|
max_delay: 60.0,
|
78
78
|
multiplier: 1.3,
|
79
|
-
retry_codes: [
|
79
|
+
retry_codes: [14]
|
80
80
|
}
|
81
81
|
|
82
82
|
default_config.rpcs.get_job.timeout = 900.0
|
@@ -84,7 +84,7 @@ module Google
|
|
84
84
|
initial_delay: 0.1,
|
85
85
|
max_delay: 60.0,
|
86
86
|
multiplier: 1.3,
|
87
|
-
retry_codes: [
|
87
|
+
retry_codes: [4, 13, 14]
|
88
88
|
}
|
89
89
|
|
90
90
|
default_config.rpcs.list_jobs.timeout = 900.0
|
@@ -92,7 +92,7 @@ module Google
|
|
92
92
|
initial_delay: 0.1,
|
93
93
|
max_delay: 60.0,
|
94
94
|
multiplier: 1.3,
|
95
|
-
retry_codes: [
|
95
|
+
retry_codes: [4, 13, 14]
|
96
96
|
}
|
97
97
|
|
98
98
|
default_config.rpcs.update_job.timeout = 900.0
|
@@ -100,7 +100,7 @@ module Google
|
|
100
100
|
initial_delay: 0.1,
|
101
101
|
max_delay: 60.0,
|
102
102
|
multiplier: 1.3,
|
103
|
-
retry_codes: [
|
103
|
+
retry_codes: [14]
|
104
104
|
}
|
105
105
|
|
106
106
|
default_config.rpcs.cancel_job.timeout = 900.0
|
@@ -108,7 +108,7 @@ module Google
|
|
108
108
|
initial_delay: 0.1,
|
109
109
|
max_delay: 60.0,
|
110
110
|
multiplier: 1.3,
|
111
|
-
retry_codes: [
|
111
|
+
retry_codes: [4, 13, 14]
|
112
112
|
}
|
113
113
|
|
114
114
|
default_config.rpcs.delete_job.timeout = 900.0
|
@@ -116,7 +116,7 @@ module Google
|
|
116
116
|
initial_delay: 0.1,
|
117
117
|
max_delay: 60.0,
|
118
118
|
multiplier: 1.3,
|
119
|
-
retry_codes: [
|
119
|
+
retry_codes: [14]
|
120
120
|
}
|
121
121
|
|
122
122
|
default_config
|
@@ -180,7 +180,13 @@ module Google
|
|
180
180
|
|
181
181
|
# Create credentials
|
182
182
|
credentials = @config.credentials
|
183
|
-
|
183
|
+
# Use self-signed JWT if the scope and endpoint are unchanged from default,
|
184
|
+
# but only if the default endpoint does not have a region prefix.
|
185
|
+
enable_self_signed_jwt = @config.scope == Client.configure.scope &&
|
186
|
+
@config.endpoint == Client.configure.endpoint &&
|
187
|
+
!@config.endpoint.split(".").first.include?("-")
|
188
|
+
credentials ||= Credentials.default scope: @config.scope,
|
189
|
+
enable_self_signed_jwt: enable_self_signed_jwt
|
184
190
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
185
191
|
credentials = Credentials.new credentials, scope: @config.scope
|
186
192
|
end
|
@@ -869,7 +875,7 @@ module Google
|
|
869
875
|
|
870
876
|
config_attr :endpoint, "dataproc.googleapis.com", ::String
|
871
877
|
config_attr :credentials, nil do |value|
|
872
|
-
allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
878
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
873
879
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
874
880
|
allowed.any? { |klass| klass === value }
|
875
881
|
end
|
@@ -909,7 +915,7 @@ module Google
|
|
909
915
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
910
916
|
# the following configuration fields:
|
911
917
|
#
|
912
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
918
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
913
919
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
914
920
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
915
921
|
# include the following keys:
|
@@ -103,8 +103,13 @@ module Google
|
|
103
103
|
# Lists operations that match the specified filter in the request. If the
|
104
104
|
# server doesn't support this method, it returns `UNIMPLEMENTED`.
|
105
105
|
#
|
106
|
-
# NOTE: the `name` binding
|
107
|
-
# to use different resource name schemes, such as `users/*/operations`.
|
106
|
+
# NOTE: the `name` binding allows API services to override the binding
|
107
|
+
# to use different resource name schemes, such as `users/*/operations`. To
|
108
|
+
# override the binding, API services can add a binding such as
|
109
|
+
# `"/v1/{name=users/*}/operations"` to their service configuration.
|
110
|
+
# For backwards compatibility, the default name includes the operations
|
111
|
+
# collection id, however overriding users must ensure the name binding
|
112
|
+
# is the parent resource, without the operations collection id.
|
108
113
|
#
|
109
114
|
# @overload list_operations(request, options = nil)
|
110
115
|
# Pass arguments to `list_operations` via a request object, either of type
|
@@ -122,7 +127,7 @@ module Google
|
|
122
127
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
123
128
|
#
|
124
129
|
# @param name [::String]
|
125
|
-
# The name of the operation
|
130
|
+
# The name of the operation's parent resource.
|
126
131
|
# @param filter [::String]
|
127
132
|
# The standard list filter.
|
128
133
|
# @param page_size [::Integer]
|
@@ -390,6 +395,79 @@ module Google
|
|
390
395
|
raise ::Google::Cloud::Error.from_error(e)
|
391
396
|
end
|
392
397
|
|
398
|
+
##
|
399
|
+
# Waits for the specified long-running operation until it is done or reaches
|
400
|
+
# at most a specified timeout, returning the latest state. If the operation
|
401
|
+
# is already done, the latest state is immediately returned. If the timeout
|
402
|
+
# specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
|
403
|
+
# timeout is used. If the server does not support this method, it returns
|
404
|
+
# `google.rpc.Code.UNIMPLEMENTED`.
|
405
|
+
# Note that this method is on a best-effort basis. It may return the latest
|
406
|
+
# state before the specified timeout (including immediately), meaning even an
|
407
|
+
# immediate response is no guarantee that the operation is done.
|
408
|
+
#
|
409
|
+
# @overload wait_operation(request, options = nil)
|
410
|
+
# Pass arguments to `wait_operation` via a request object, either of type
|
411
|
+
# {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
|
412
|
+
#
|
413
|
+
# @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
|
414
|
+
# A request object representing the call parameters. Required. To specify no
|
415
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
416
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
417
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
418
|
+
#
|
419
|
+
# @overload wait_operation(name: nil, timeout: nil)
|
420
|
+
# Pass arguments to `wait_operation` via keyword arguments. Note that at
|
421
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
422
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
423
|
+
#
|
424
|
+
# @param name [::String]
|
425
|
+
# The name of the operation resource to wait on.
|
426
|
+
# @param timeout [::Google::Protobuf::Duration, ::Hash]
|
427
|
+
# The maximum duration to wait before timing out. If left blank, the wait
|
428
|
+
# will be at most the time permitted by the underlying HTTP/RPC protocol.
|
429
|
+
# If RPC context deadline is also specified, the shorter one will be used.
|
430
|
+
#
|
431
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
432
|
+
# @yieldparam response [::Gapic::Operation]
|
433
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
434
|
+
#
|
435
|
+
# @return [::Gapic::Operation]
|
436
|
+
#
|
437
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
438
|
+
#
|
439
|
+
def wait_operation request, options = nil
|
440
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
441
|
+
|
442
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
|
443
|
+
|
444
|
+
# Converts hash and nil to an options object
|
445
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
446
|
+
|
447
|
+
# Customize the options with defaults
|
448
|
+
metadata = @config.rpcs.wait_operation.metadata.to_h
|
449
|
+
|
450
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
451
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
452
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
453
|
+
gapic_version: ::Google::Cloud::Dataproc::V1::VERSION
|
454
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
455
|
+
|
456
|
+
options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
|
457
|
+
metadata: metadata,
|
458
|
+
retry_policy: @config.rpcs.wait_operation.retry_policy
|
459
|
+
options.apply_defaults metadata: @config.metadata,
|
460
|
+
retry_policy: @config.retry_policy
|
461
|
+
|
462
|
+
@operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
|
463
|
+
response = ::Gapic::Operation.new response, @operations_client, options: options
|
464
|
+
yield response, operation if block_given?
|
465
|
+
return response
|
466
|
+
end
|
467
|
+
rescue ::GRPC::BadStatus => e
|
468
|
+
raise ::Google::Cloud::Error.from_error(e)
|
469
|
+
end
|
470
|
+
|
393
471
|
##
|
394
472
|
# Configuration class for the Operations API.
|
395
473
|
#
|
@@ -475,7 +553,7 @@ module Google
|
|
475
553
|
|
476
554
|
config_attr :endpoint, "dataproc.googleapis.com", ::String
|
477
555
|
config_attr :credentials, nil do |value|
|
478
|
-
allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
556
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
479
557
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
480
558
|
allowed.any? { |klass| klass === value }
|
481
559
|
end
|
@@ -515,7 +593,7 @@ module Google
|
|
515
593
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
516
594
|
# the following configuration fields:
|
517
595
|
#
|
518
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
596
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
519
597
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
520
598
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
521
599
|
# include the following keys:
|
@@ -546,6 +624,11 @@ module Google
|
|
546
624
|
# @return [::Gapic::Config::Method]
|
547
625
|
#
|
548
626
|
attr_reader :cancel_operation
|
627
|
+
##
|
628
|
+
# RPC-specific configuration for `wait_operation`
|
629
|
+
# @return [::Gapic::Config::Method]
|
630
|
+
#
|
631
|
+
attr_reader :wait_operation
|
549
632
|
|
550
633
|
# @private
|
551
634
|
def initialize parent_rpcs = nil
|
@@ -557,6 +640,8 @@ module Google
|
|
557
640
|
@delete_operation = ::Gapic::Config::Method.new delete_operation_config
|
558
641
|
cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
|
559
642
|
@cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
|
643
|
+
wait_operation_config = parent_rpcs&.wait_operation if parent_rpcs&.respond_to? :wait_operation
|
644
|
+
@wait_operation = ::Gapic::Config::Method.new wait_operation_config
|
560
645
|
|
561
646
|
yield self if block_given?
|
562
647
|
end
|
@@ -34,24 +34,24 @@ module Google
|
|
34
34
|
self.service_name = 'google.cloud.dataproc.v1.JobController'
|
35
35
|
|
36
36
|
# Submits a job to a cluster.
|
37
|
-
rpc :SubmitJob, SubmitJobRequest, Job
|
37
|
+
rpc :SubmitJob, ::Google::Cloud::Dataproc::V1::SubmitJobRequest, ::Google::Cloud::Dataproc::V1::Job
|
38
38
|
# Submits job to a cluster.
|
39
|
-
rpc :SubmitJobAsOperation, SubmitJobRequest, Google::Longrunning::Operation
|
39
|
+
rpc :SubmitJobAsOperation, ::Google::Cloud::Dataproc::V1::SubmitJobRequest, ::Google::Longrunning::Operation
|
40
40
|
# Gets the resource representation for a job in a project.
|
41
|
-
rpc :GetJob, GetJobRequest, Job
|
41
|
+
rpc :GetJob, ::Google::Cloud::Dataproc::V1::GetJobRequest, ::Google::Cloud::Dataproc::V1::Job
|
42
42
|
# Lists regions/{region}/jobs in a project.
|
43
|
-
rpc :ListJobs, ListJobsRequest, ListJobsResponse
|
43
|
+
rpc :ListJobs, ::Google::Cloud::Dataproc::V1::ListJobsRequest, ::Google::Cloud::Dataproc::V1::ListJobsResponse
|
44
44
|
# Updates a job in a project.
|
45
|
-
rpc :UpdateJob, UpdateJobRequest, Job
|
45
|
+
rpc :UpdateJob, ::Google::Cloud::Dataproc::V1::UpdateJobRequest, ::Google::Cloud::Dataproc::V1::Job
|
46
46
|
# Starts a job cancellation request. To access the job resource
|
47
47
|
# after cancellation, call
|
48
48
|
# [regions/{region}/jobs.list](https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list)
|
49
49
|
# or
|
50
50
|
# [regions/{region}/jobs.get](https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/get).
|
51
|
-
rpc :CancelJob, CancelJobRequest, Job
|
51
|
+
rpc :CancelJob, ::Google::Cloud::Dataproc::V1::CancelJobRequest, ::Google::Cloud::Dataproc::V1::Job
|
52
52
|
# Deletes the job from the project. If the job is active, the delete fails,
|
53
53
|
# and the response returns `FAILED_PRECONDITION`.
|
54
|
-
rpc :DeleteJob, DeleteJobRequest, Google::Protobuf::Empty
|
54
|
+
rpc :DeleteJob, ::Google::Cloud::Dataproc::V1::DeleteJobRequest, ::Google::Protobuf::Empty
|
55
55
|
end
|
56
56
|
|
57
57
|
Stub = Service.rpc_stub_class
|
@@ -71,7 +71,7 @@ module Google
|
|
71
71
|
initial_delay: 0.1,
|
72
72
|
max_delay: 60.0,
|
73
73
|
multiplier: 1.3,
|
74
|
-
retry_codes: [
|
74
|
+
retry_codes: [14]
|
75
75
|
}
|
76
76
|
|
77
77
|
default_config.rpcs.get_workflow_template.timeout = 600.0
|
@@ -79,7 +79,7 @@ module Google
|
|
79
79
|
initial_delay: 0.1,
|
80
80
|
max_delay: 60.0,
|
81
81
|
multiplier: 1.3,
|
82
|
-
retry_codes: [
|
82
|
+
retry_codes: [4, 13, 14]
|
83
83
|
}
|
84
84
|
|
85
85
|
default_config.rpcs.instantiate_workflow_template.timeout = 600.0
|
@@ -87,7 +87,7 @@ module Google
|
|
87
87
|
initial_delay: 0.1,
|
88
88
|
max_delay: 60.0,
|
89
89
|
multiplier: 1.3,
|
90
|
-
retry_codes: [
|
90
|
+
retry_codes: [14]
|
91
91
|
}
|
92
92
|
|
93
93
|
default_config.rpcs.instantiate_inline_workflow_template.timeout = 600.0
|
@@ -95,7 +95,7 @@ module Google
|
|
95
95
|
initial_delay: 0.1,
|
96
96
|
max_delay: 60.0,
|
97
97
|
multiplier: 1.3,
|
98
|
-
retry_codes: [
|
98
|
+
retry_codes: [14]
|
99
99
|
}
|
100
100
|
|
101
101
|
default_config.rpcs.update_workflow_template.timeout = 600.0
|
@@ -103,7 +103,7 @@ module Google
|
|
103
103
|
initial_delay: 0.1,
|
104
104
|
max_delay: 60.0,
|
105
105
|
multiplier: 1.3,
|
106
|
-
retry_codes: [
|
106
|
+
retry_codes: [14]
|
107
107
|
}
|
108
108
|
|
109
109
|
default_config.rpcs.list_workflow_templates.timeout = 600.0
|
@@ -111,7 +111,7 @@ module Google
|
|
111
111
|
initial_delay: 0.1,
|
112
112
|
max_delay: 60.0,
|
113
113
|
multiplier: 1.3,
|
114
|
-
retry_codes: [
|
114
|
+
retry_codes: [4, 13, 14]
|
115
115
|
}
|
116
116
|
|
117
117
|
default_config.rpcs.delete_workflow_template.timeout = 600.0
|
@@ -119,7 +119,7 @@ module Google
|
|
119
119
|
initial_delay: 0.1,
|
120
120
|
max_delay: 60.0,
|
121
121
|
multiplier: 1.3,
|
122
|
-
retry_codes: [
|
122
|
+
retry_codes: [14]
|
123
123
|
}
|
124
124
|
|
125
125
|
default_config
|
@@ -183,7 +183,13 @@ module Google
|
|
183
183
|
|
184
184
|
# Create credentials
|
185
185
|
credentials = @config.credentials
|
186
|
-
|
186
|
+
# Use self-signed JWT if the scope and endpoint are unchanged from default,
|
187
|
+
# but only if the default endpoint does not have a region prefix.
|
188
|
+
enable_self_signed_jwt = @config.scope == Client.configure.scope &&
|
189
|
+
@config.endpoint == Client.configure.endpoint &&
|
190
|
+
!@config.endpoint.split(".").first.include?("-")
|
191
|
+
credentials ||= Credentials.default scope: @config.scope,
|
192
|
+
enable_self_signed_jwt: enable_self_signed_jwt
|
187
193
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
188
194
|
credentials = Credentials.new credentials, scope: @config.scope
|
189
195
|
end
|
@@ -913,7 +919,7 @@ module Google
|
|
913
919
|
|
914
920
|
config_attr :endpoint, "dataproc.googleapis.com", ::String
|
915
921
|
config_attr :credentials, nil do |value|
|
916
|
-
allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
922
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
917
923
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
918
924
|
allowed.any? { |klass| klass === value }
|
919
925
|
end
|
@@ -953,7 +959,7 @@ module Google
|
|
953
959
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
954
960
|
# the following configuration fields:
|
955
961
|
#
|
956
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
962
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
957
963
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
958
964
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
959
965
|
# include the following keys:
|
@@ -103,8 +103,13 @@ module Google
|
|
103
103
|
# Lists operations that match the specified filter in the request. If the
|
104
104
|
# server doesn't support this method, it returns `UNIMPLEMENTED`.
|
105
105
|
#
|
106
|
-
# NOTE: the `name` binding
|
107
|
-
# to use different resource name schemes, such as `users/*/operations`.
|
106
|
+
# NOTE: the `name` binding allows API services to override the binding
|
107
|
+
# to use different resource name schemes, such as `users/*/operations`. To
|
108
|
+
# override the binding, API services can add a binding such as
|
109
|
+
# `"/v1/{name=users/*}/operations"` to their service configuration.
|
110
|
+
# For backwards compatibility, the default name includes the operations
|
111
|
+
# collection id, however overriding users must ensure the name binding
|
112
|
+
# is the parent resource, without the operations collection id.
|
108
113
|
#
|
109
114
|
# @overload list_operations(request, options = nil)
|
110
115
|
# Pass arguments to `list_operations` via a request object, either of type
|
@@ -122,7 +127,7 @@ module Google
|
|
122
127
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
123
128
|
#
|
124
129
|
# @param name [::String]
|
125
|
-
# The name of the operation
|
130
|
+
# The name of the operation's parent resource.
|
126
131
|
# @param filter [::String]
|
127
132
|
# The standard list filter.
|
128
133
|
# @param page_size [::Integer]
|
@@ -390,6 +395,79 @@ module Google
|
|
390
395
|
raise ::Google::Cloud::Error.from_error(e)
|
391
396
|
end
|
392
397
|
|
398
|
+
##
|
399
|
+
# Waits for the specified long-running operation until it is done or reaches
|
400
|
+
# at most a specified timeout, returning the latest state. If the operation
|
401
|
+
# is already done, the latest state is immediately returned. If the timeout
|
402
|
+
# specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
|
403
|
+
# timeout is used. If the server does not support this method, it returns
|
404
|
+
# `google.rpc.Code.UNIMPLEMENTED`.
|
405
|
+
# Note that this method is on a best-effort basis. It may return the latest
|
406
|
+
# state before the specified timeout (including immediately), meaning even an
|
407
|
+
# immediate response is no guarantee that the operation is done.
|
408
|
+
#
|
409
|
+
# @overload wait_operation(request, options = nil)
|
410
|
+
# Pass arguments to `wait_operation` via a request object, either of type
|
411
|
+
# {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
|
412
|
+
#
|
413
|
+
# @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
|
414
|
+
# A request object representing the call parameters. Required. To specify no
|
415
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
416
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
417
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
418
|
+
#
|
419
|
+
# @overload wait_operation(name: nil, timeout: nil)
|
420
|
+
# Pass arguments to `wait_operation` via keyword arguments. Note that at
|
421
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
422
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
423
|
+
#
|
424
|
+
# @param name [::String]
|
425
|
+
# The name of the operation resource to wait on.
|
426
|
+
# @param timeout [::Google::Protobuf::Duration, ::Hash]
|
427
|
+
# The maximum duration to wait before timing out. If left blank, the wait
|
428
|
+
# will be at most the time permitted by the underlying HTTP/RPC protocol.
|
429
|
+
# If RPC context deadline is also specified, the shorter one will be used.
|
430
|
+
#
|
431
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
432
|
+
# @yieldparam response [::Gapic::Operation]
|
433
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
434
|
+
#
|
435
|
+
# @return [::Gapic::Operation]
|
436
|
+
#
|
437
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
438
|
+
#
|
439
|
+
def wait_operation request, options = nil
|
440
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
441
|
+
|
442
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
|
443
|
+
|
444
|
+
# Converts hash and nil to an options object
|
445
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
446
|
+
|
447
|
+
# Customize the options with defaults
|
448
|
+
metadata = @config.rpcs.wait_operation.metadata.to_h
|
449
|
+
|
450
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
451
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
452
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
453
|
+
gapic_version: ::Google::Cloud::Dataproc::V1::VERSION
|
454
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
455
|
+
|
456
|
+
options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
|
457
|
+
metadata: metadata,
|
458
|
+
retry_policy: @config.rpcs.wait_operation.retry_policy
|
459
|
+
options.apply_defaults metadata: @config.metadata,
|
460
|
+
retry_policy: @config.retry_policy
|
461
|
+
|
462
|
+
@operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
|
463
|
+
response = ::Gapic::Operation.new response, @operations_client, options: options
|
464
|
+
yield response, operation if block_given?
|
465
|
+
return response
|
466
|
+
end
|
467
|
+
rescue ::GRPC::BadStatus => e
|
468
|
+
raise ::Google::Cloud::Error.from_error(e)
|
469
|
+
end
|
470
|
+
|
393
471
|
##
|
394
472
|
# Configuration class for the Operations API.
|
395
473
|
#
|
@@ -475,7 +553,7 @@ module Google
|
|
475
553
|
|
476
554
|
config_attr :endpoint, "dataproc.googleapis.com", ::String
|
477
555
|
config_attr :credentials, nil do |value|
|
478
|
-
allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
556
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
479
557
|
allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
|
480
558
|
allowed.any? { |klass| klass === value }
|
481
559
|
end
|
@@ -515,7 +593,7 @@ module Google
|
|
515
593
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
516
594
|
# the following configuration fields:
|
517
595
|
#
|
518
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
596
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
519
597
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
520
598
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
521
599
|
# include the following keys:
|
@@ -546,6 +624,11 @@ module Google
|
|
546
624
|
# @return [::Gapic::Config::Method]
|
547
625
|
#
|
548
626
|
attr_reader :cancel_operation
|
627
|
+
##
|
628
|
+
# RPC-specific configuration for `wait_operation`
|
629
|
+
# @return [::Gapic::Config::Method]
|
630
|
+
#
|
631
|
+
attr_reader :wait_operation
|
549
632
|
|
550
633
|
# @private
|
551
634
|
def initialize parent_rpcs = nil
|
@@ -557,6 +640,8 @@ module Google
|
|
557
640
|
@delete_operation = ::Gapic::Config::Method.new delete_operation_config
|
558
641
|
cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
|
559
642
|
@cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
|
643
|
+
wait_operation_config = parent_rpcs&.wait_operation if parent_rpcs&.respond_to? :wait_operation
|
644
|
+
@wait_operation = ::Gapic::Config::Method.new wait_operation_config
|
560
645
|
|
561
646
|
yield self if block_given?
|
562
647
|
end
|