google-cloud-scheduler-v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +71 -0
  6. data/lib/google-cloud-scheduler-v1beta1.rb +21 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/scheduler/v1beta1.rb +35 -0
  9. data/lib/google/cloud/scheduler/v1beta1/cloud_scheduler.rb +50 -0
  10. data/lib/google/cloud/scheduler/v1beta1/cloud_scheduler/client.rb +978 -0
  11. data/lib/google/cloud/scheduler/v1beta1/cloud_scheduler/credentials.rb +51 -0
  12. data/lib/google/cloud/scheduler/v1beta1/cloud_scheduler/paths.rb +86 -0
  13. data/lib/google/cloud/scheduler/v1beta1/cloudscheduler_pb.rb +66 -0
  14. data/lib/google/cloud/scheduler/v1beta1/cloudscheduler_services_pb.rb +83 -0
  15. data/lib/google/cloud/scheduler/v1beta1/job_pb.rb +59 -0
  16. data/lib/google/cloud/scheduler/v1beta1/target_pb.rb +73 -0
  17. data/lib/google/cloud/scheduler/v1beta1/version.rb +28 -0
  18. data/proto_docs/README.md +4 -0
  19. data/proto_docs/google/api/field_behavior.rb +59 -0
  20. data/proto_docs/google/api/resource.rb +247 -0
  21. data/proto_docs/google/cloud/scheduler/v1beta1/cloudscheduler.rb +155 -0
  22. data/proto_docs/google/cloud/scheduler/v1beta1/job.rb +231 -0
  23. data/proto_docs/google/cloud/scheduler/v1beta1/target.rb +385 -0
  24. data/proto_docs/google/protobuf/any.rb +138 -0
  25. data/proto_docs/google/protobuf/duration.rb +98 -0
  26. data/proto_docs/google/protobuf/empty.rb +36 -0
  27. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  28. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  29. data/proto_docs/google/rpc/status.rb +46 -0
  30. metadata +187 -0
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/cloud/scheduler/v1beta1"
@@ -0,0 +1,15 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/common_resources.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/resource_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/common_resources.proto", :syntax => :proto3) do
9
+ end
10
+ end
11
+
12
+ module Google
13
+ module Cloud
14
+ end
15
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/scheduler/v1beta1/cloud_scheduler"
20
+ require "google/cloud/scheduler/v1beta1/version"
21
+
22
+ module Google
23
+ module Cloud
24
+ module Scheduler
25
+ ##
26
+ # To load this package, including all its services, and instantiate a client:
27
+ #
28
+ # require "google/cloud/scheduler/v1beta1"
29
+ # client = ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.new
30
+ #
31
+ module V1beta1
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/scheduler/v1beta1/version"
24
+
25
+ require "google/cloud/scheduler/v1beta1/cloud_scheduler/credentials"
26
+ require "google/cloud/scheduler/v1beta1/cloud_scheduler/paths"
27
+ require "google/cloud/scheduler/v1beta1/cloud_scheduler/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module Scheduler
32
+ module V1beta1
33
+ ##
34
+ # The Cloud Scheduler API allows external entities to reliably
35
+ # schedule asynchronous jobs.
36
+ #
37
+ # To load this service and instantiate a client:
38
+ #
39
+ # require "google/cloud/scheduler/v1beta1/cloud_scheduler"
40
+ # client = ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.new
41
+ #
42
+ module CloudScheduler
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ helper_path = ::File.join __dir__, "cloud_scheduler", "helpers.rb"
50
+ require "google/cloud/scheduler/v1beta1/cloud_scheduler/helpers" if ::File.file? helper_path
@@ -0,0 +1,978 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/scheduler/v1beta1/cloudscheduler_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module Scheduler
25
+ module V1beta1
26
+ module CloudScheduler
27
+ ##
28
+ # Client for the CloudScheduler service.
29
+ #
30
+ # The Cloud Scheduler API allows external entities to reliably
31
+ # schedule asynchronous jobs.
32
+ #
33
+ class Client
34
+ include Paths
35
+
36
+ # @private
37
+ attr_reader :cloud_scheduler_stub
38
+
39
+ ##
40
+ # Configure the CloudScheduler Client class.
41
+ #
42
+ # See {::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client::Configuration}
43
+ # for a description of the configuration fields.
44
+ #
45
+ # ## Example
46
+ #
47
+ # To modify the configuration for all CloudScheduler clients:
48
+ #
49
+ # ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.configure do |config|
50
+ # config.timeout = 10.0
51
+ # end
52
+ #
53
+ # @yield [config] Configure the Client client.
54
+ # @yieldparam config [Client::Configuration]
55
+ #
56
+ # @return [Client::Configuration]
57
+ #
58
+ def self.configure
59
+ @configure ||= begin
60
+ namespace = ["Google", "Cloud", "Scheduler", "V1beta1"]
61
+ parent_config = while namespace.any?
62
+ parent_name = namespace.join "::"
63
+ parent_const = const_get parent_name
64
+ break parent_const.configure if parent_const&.respond_to? :configure
65
+ namespace.pop
66
+ end
67
+ default_config = Client::Configuration.new parent_config
68
+
69
+ default_config.rpcs.list_jobs.timeout = 600.0
70
+ default_config.rpcs.list_jobs.retry_policy = {
71
+ initial_delay: 0.1,
72
+ max_delay: 60.0,
73
+ multiplier: 1.3,
74
+ retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
75
+ }
76
+
77
+ default_config.rpcs.get_job.timeout = 600.0
78
+ default_config.rpcs.get_job.retry_policy = {
79
+ initial_delay: 0.1,
80
+ max_delay: 60.0,
81
+ multiplier: 1.3,
82
+ retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
83
+ }
84
+
85
+ default_config.rpcs.create_job.timeout = 600.0
86
+
87
+ default_config.rpcs.update_job.timeout = 600.0
88
+
89
+ default_config.rpcs.delete_job.timeout = 600.0
90
+ default_config.rpcs.delete_job.retry_policy = {
91
+ initial_delay: 0.1,
92
+ max_delay: 60.0,
93
+ multiplier: 1.3,
94
+ retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
95
+ }
96
+
97
+ default_config.rpcs.pause_job.timeout = 600.0
98
+ default_config.rpcs.pause_job.retry_policy = {
99
+ initial_delay: 0.1,
100
+ max_delay: 60.0,
101
+ multiplier: 1.3,
102
+ retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
103
+ }
104
+
105
+ default_config.rpcs.resume_job.timeout = 600.0
106
+ default_config.rpcs.resume_job.retry_policy = {
107
+ initial_delay: 0.1,
108
+ max_delay: 60.0,
109
+ multiplier: 1.3,
110
+ retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
111
+ }
112
+
113
+ default_config.rpcs.run_job.timeout = 600.0
114
+
115
+ default_config
116
+ end
117
+ yield @configure if block_given?
118
+ @configure
119
+ end
120
+
121
+ ##
122
+ # Configure the CloudScheduler Client instance.
123
+ #
124
+ # The configuration is set to the derived mode, meaning that values can be changed,
125
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
126
+ # should be made on {Client.configure}.
127
+ #
128
+ # See {::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client::Configuration}
129
+ # for a description of the configuration fields.
130
+ #
131
+ # @yield [config] Configure the Client client.
132
+ # @yieldparam config [Client::Configuration]
133
+ #
134
+ # @return [Client::Configuration]
135
+ #
136
+ def configure
137
+ yield @config if block_given?
138
+ @config
139
+ end
140
+
141
+ ##
142
+ # Create a new CloudScheduler client object.
143
+ #
144
+ # ## Examples
145
+ #
146
+ # To create a new CloudScheduler client with the default
147
+ # configuration:
148
+ #
149
+ # client = ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.new
150
+ #
151
+ # To create a new CloudScheduler client with a custom
152
+ # configuration:
153
+ #
154
+ # client = ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.new do |config|
155
+ # config.timeout = 10.0
156
+ # end
157
+ #
158
+ # @yield [config] Configure the CloudScheduler client.
159
+ # @yieldparam config [Client::Configuration]
160
+ #
161
+ def initialize
162
+ # These require statements are intentionally placed here to initialize
163
+ # the gRPC module only when it's required.
164
+ # See https://github.com/googleapis/toolkit/issues/446
165
+ require "gapic/grpc"
166
+ require "google/cloud/scheduler/v1beta1/cloudscheduler_services_pb"
167
+
168
+ # Create the configuration object
169
+ @config = Configuration.new Client.configure
170
+
171
+ # Yield the configuration if needed
172
+ yield @config if block_given?
173
+
174
+ # Create credentials
175
+ credentials = @config.credentials
176
+ credentials ||= Credentials.default scope: @config.scope
177
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
178
+ credentials = Credentials.new credentials, scope: @config.scope
179
+ end
180
+ @quota_project_id = credentials.respond_to?(:quota_project_id) ? credentials.quota_project_id : nil
181
+
182
+ @cloud_scheduler_stub = ::Gapic::ServiceStub.new(
183
+ ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Stub,
184
+ credentials: credentials,
185
+ endpoint: @config.endpoint,
186
+ channel_args: @config.channel_args,
187
+ interceptors: @config.interceptors
188
+ )
189
+ end
190
+
191
+ # Service calls
192
+
193
+ ##
194
+ # Lists jobs.
195
+ #
196
+ # @overload list_jobs(request, options = nil)
197
+ # Pass arguments to `list_jobs` via a request object, either of type
198
+ # {::Google::Cloud::Scheduler::V1beta1::ListJobsRequest} or an equivalent Hash.
199
+ #
200
+ # @param request [::Google::Cloud::Scheduler::V1beta1::ListJobsRequest, ::Hash]
201
+ # A request object representing the call parameters. Required. To specify no
202
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
203
+ # @param options [::Gapic::CallOptions, ::Hash]
204
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
205
+ #
206
+ # @overload list_jobs(parent: nil, page_size: nil, page_token: nil)
207
+ # Pass arguments to `list_jobs` via keyword arguments. Note that at
208
+ # least one keyword argument is required. To specify no parameters, or to keep all
209
+ # the default parameter values, pass an empty Hash as a request object (see above).
210
+ #
211
+ # @param parent [::String]
212
+ # Required. The location name. For example:
213
+ # `projects/PROJECT_ID/locations/LOCATION_ID`.
214
+ # @param page_size [::Integer]
215
+ # Requested page size.
216
+ #
217
+ # The maximum page size is 500. If unspecified, the page size will
218
+ # be the maximum. Fewer jobs than requested might be returned,
219
+ # even if more jobs exist; use next_page_token to determine if more
220
+ # jobs exist.
221
+ # @param page_token [::String]
222
+ # A token identifying a page of results the server will return. To
223
+ # request the first page results, page_token must be empty. To
224
+ # request the next page of results, page_token must be the value of
225
+ # {::Google::Cloud::Scheduler::V1beta1::ListJobsResponse#next_page_token next_page_token} returned from
226
+ # the previous call to {::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client#list_jobs ListJobs}. It is an error to
227
+ # switch the value of [filter][google.cloud.scheduler.v1beta1.ListJobsRequest.filter] or
228
+ # [order_by][google.cloud.scheduler.v1beta1.ListJobsRequest.order_by] while iterating through pages.
229
+ #
230
+ # @yield [response, operation] Access the result along with the RPC operation
231
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Scheduler::V1beta1::Job>]
232
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
233
+ #
234
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Scheduler::V1beta1::Job>]
235
+ #
236
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
237
+ #
238
+ def list_jobs request, options = nil
239
+ raise ::ArgumentError, "request must be provided" if request.nil?
240
+
241
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::ListJobsRequest
242
+
243
+ # Converts hash and nil to an options object
244
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
245
+
246
+ # Customize the options with defaults
247
+ metadata = @config.rpcs.list_jobs.metadata.to_h
248
+
249
+ # Set x-goog-api-client and x-goog-user-project headers
250
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
251
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
252
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
253
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
254
+
255
+ header_params = {
256
+ "parent" => request.parent
257
+ }
258
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
259
+ metadata[:"x-goog-request-params"] ||= request_params_header
260
+
261
+ options.apply_defaults timeout: @config.rpcs.list_jobs.timeout,
262
+ metadata: metadata,
263
+ retry_policy: @config.rpcs.list_jobs.retry_policy
264
+ options.apply_defaults metadata: @config.metadata,
265
+ retry_policy: @config.retry_policy
266
+
267
+ @cloud_scheduler_stub.call_rpc :list_jobs, request, options: options do |response, operation|
268
+ response = ::Gapic::PagedEnumerable.new @cloud_scheduler_stub, :list_jobs, request, response, operation, options
269
+ yield response, operation if block_given?
270
+ return response
271
+ end
272
+ rescue ::GRPC::BadStatus => e
273
+ raise ::Google::Cloud::Error.from_error(e)
274
+ end
275
+
276
+ ##
277
+ # Gets a job.
278
+ #
279
+ # @overload get_job(request, options = nil)
280
+ # Pass arguments to `get_job` via a request object, either of type
281
+ # {::Google::Cloud::Scheduler::V1beta1::GetJobRequest} or an equivalent Hash.
282
+ #
283
+ # @param request [::Google::Cloud::Scheduler::V1beta1::GetJobRequest, ::Hash]
284
+ # A request object representing the call parameters. Required. To specify no
285
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
286
+ # @param options [::Gapic::CallOptions, ::Hash]
287
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
288
+ #
289
+ # @overload get_job(name: nil)
290
+ # Pass arguments to `get_job` via keyword arguments. Note that at
291
+ # least one keyword argument is required. To specify no parameters, or to keep all
292
+ # the default parameter values, pass an empty Hash as a request object (see above).
293
+ #
294
+ # @param name [::String]
295
+ # Required. The job name. For example:
296
+ # `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
297
+ #
298
+ # @yield [response, operation] Access the result along with the RPC operation
299
+ # @yieldparam response [::Google::Cloud::Scheduler::V1beta1::Job]
300
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
301
+ #
302
+ # @return [::Google::Cloud::Scheduler::V1beta1::Job]
303
+ #
304
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
305
+ #
306
+ def get_job request, options = nil
307
+ raise ::ArgumentError, "request must be provided" if request.nil?
308
+
309
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::GetJobRequest
310
+
311
+ # Converts hash and nil to an options object
312
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
313
+
314
+ # Customize the options with defaults
315
+ metadata = @config.rpcs.get_job.metadata.to_h
316
+
317
+ # Set x-goog-api-client and x-goog-user-project headers
318
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
319
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
320
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
321
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
322
+
323
+ header_params = {
324
+ "name" => request.name
325
+ }
326
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
327
+ metadata[:"x-goog-request-params"] ||= request_params_header
328
+
329
+ options.apply_defaults timeout: @config.rpcs.get_job.timeout,
330
+ metadata: metadata,
331
+ retry_policy: @config.rpcs.get_job.retry_policy
332
+ options.apply_defaults metadata: @config.metadata,
333
+ retry_policy: @config.retry_policy
334
+
335
+ @cloud_scheduler_stub.call_rpc :get_job, request, options: options do |response, operation|
336
+ yield response, operation if block_given?
337
+ return response
338
+ end
339
+ rescue ::GRPC::BadStatus => e
340
+ raise ::Google::Cloud::Error.from_error(e)
341
+ end
342
+
343
+ ##
344
+ # Creates a job.
345
+ #
346
+ # @overload create_job(request, options = nil)
347
+ # Pass arguments to `create_job` via a request object, either of type
348
+ # {::Google::Cloud::Scheduler::V1beta1::CreateJobRequest} or an equivalent Hash.
349
+ #
350
+ # @param request [::Google::Cloud::Scheduler::V1beta1::CreateJobRequest, ::Hash]
351
+ # A request object representing the call parameters. Required. To specify no
352
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
353
+ # @param options [::Gapic::CallOptions, ::Hash]
354
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
355
+ #
356
+ # @overload create_job(parent: nil, job: nil)
357
+ # Pass arguments to `create_job` via keyword arguments. Note that at
358
+ # least one keyword argument is required. To specify no parameters, or to keep all
359
+ # the default parameter values, pass an empty Hash as a request object (see above).
360
+ #
361
+ # @param parent [::String]
362
+ # Required. The location name. For example:
363
+ # `projects/PROJECT_ID/locations/LOCATION_ID`.
364
+ # @param job [::Google::Cloud::Scheduler::V1beta1::Job, ::Hash]
365
+ # Required. The job to add. The user can optionally specify a name for the
366
+ # job in {::Google::Cloud::Scheduler::V1beta1::Job#name name}. {::Google::Cloud::Scheduler::V1beta1::Job#name name} cannot be the same as an
367
+ # existing job. If a name is not specified then the system will
368
+ # generate a random unique name that will be returned
369
+ # ({::Google::Cloud::Scheduler::V1beta1::Job#name name}) in the response.
370
+ #
371
+ # @yield [response, operation] Access the result along with the RPC operation
372
+ # @yieldparam response [::Google::Cloud::Scheduler::V1beta1::Job]
373
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
374
+ #
375
+ # @return [::Google::Cloud::Scheduler::V1beta1::Job]
376
+ #
377
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
378
+ #
379
+ def create_job request, options = nil
380
+ raise ::ArgumentError, "request must be provided" if request.nil?
381
+
382
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::CreateJobRequest
383
+
384
+ # Converts hash and nil to an options object
385
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
386
+
387
+ # Customize the options with defaults
388
+ metadata = @config.rpcs.create_job.metadata.to_h
389
+
390
+ # Set x-goog-api-client and x-goog-user-project headers
391
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
392
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
393
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
394
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
395
+
396
+ header_params = {
397
+ "parent" => request.parent
398
+ }
399
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
400
+ metadata[:"x-goog-request-params"] ||= request_params_header
401
+
402
+ options.apply_defaults timeout: @config.rpcs.create_job.timeout,
403
+ metadata: metadata,
404
+ retry_policy: @config.rpcs.create_job.retry_policy
405
+ options.apply_defaults metadata: @config.metadata,
406
+ retry_policy: @config.retry_policy
407
+
408
+ @cloud_scheduler_stub.call_rpc :create_job, request, options: options do |response, operation|
409
+ yield response, operation if block_given?
410
+ return response
411
+ end
412
+ rescue ::GRPC::BadStatus => e
413
+ raise ::Google::Cloud::Error.from_error(e)
414
+ end
415
+
416
+ ##
417
+ # Updates a job.
418
+ #
419
+ # If successful, the updated {::Google::Cloud::Scheduler::V1beta1::Job Job} is returned. If the job does
420
+ # not exist, `NOT_FOUND` is returned.
421
+ #
422
+ # If UpdateJob does not successfully return, it is possible for the
423
+ # job to be in an {::Google::Cloud::Scheduler::V1beta1::Job::State::UPDATE_FAILED Job.State.UPDATE_FAILED} state. A job in this state may
424
+ # not be executed. If this happens, retry the UpdateJob request
425
+ # until a successful response is received.
426
+ #
427
+ # @overload update_job(request, options = nil)
428
+ # Pass arguments to `update_job` via a request object, either of type
429
+ # {::Google::Cloud::Scheduler::V1beta1::UpdateJobRequest} or an equivalent Hash.
430
+ #
431
+ # @param request [::Google::Cloud::Scheduler::V1beta1::UpdateJobRequest, ::Hash]
432
+ # A request object representing the call parameters. Required. To specify no
433
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
434
+ # @param options [::Gapic::CallOptions, ::Hash]
435
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
436
+ #
437
+ # @overload update_job(job: nil, update_mask: nil)
438
+ # Pass arguments to `update_job` via keyword arguments. Note that at
439
+ # least one keyword argument is required. To specify no parameters, or to keep all
440
+ # the default parameter values, pass an empty Hash as a request object (see above).
441
+ #
442
+ # @param job [::Google::Cloud::Scheduler::V1beta1::Job, ::Hash]
443
+ # Required. The new job properties. {::Google::Cloud::Scheduler::V1beta1::Job#name name} must be specified.
444
+ #
445
+ # Output only fields cannot be modified using UpdateJob.
446
+ # Any value specified for an output only field will be ignored.
447
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
448
+ # A mask used to specify which fields of the job are being updated.
449
+ #
450
+ # @yield [response, operation] Access the result along with the RPC operation
451
+ # @yieldparam response [::Google::Cloud::Scheduler::V1beta1::Job]
452
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
453
+ #
454
+ # @return [::Google::Cloud::Scheduler::V1beta1::Job]
455
+ #
456
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
457
+ #
458
+ def update_job request, options = nil
459
+ raise ::ArgumentError, "request must be provided" if request.nil?
460
+
461
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::UpdateJobRequest
462
+
463
+ # Converts hash and nil to an options object
464
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
465
+
466
+ # Customize the options with defaults
467
+ metadata = @config.rpcs.update_job.metadata.to_h
468
+
469
+ # Set x-goog-api-client and x-goog-user-project headers
470
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
471
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
472
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
473
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
474
+
475
+ header_params = {
476
+ "job.name" => request.job.name
477
+ }
478
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
479
+ metadata[:"x-goog-request-params"] ||= request_params_header
480
+
481
+ options.apply_defaults timeout: @config.rpcs.update_job.timeout,
482
+ metadata: metadata,
483
+ retry_policy: @config.rpcs.update_job.retry_policy
484
+ options.apply_defaults metadata: @config.metadata,
485
+ retry_policy: @config.retry_policy
486
+
487
+ @cloud_scheduler_stub.call_rpc :update_job, request, options: options do |response, operation|
488
+ yield response, operation if block_given?
489
+ return response
490
+ end
491
+ rescue ::GRPC::BadStatus => e
492
+ raise ::Google::Cloud::Error.from_error(e)
493
+ end
494
+
495
+ ##
496
+ # Deletes a job.
497
+ #
498
+ # @overload delete_job(request, options = nil)
499
+ # Pass arguments to `delete_job` via a request object, either of type
500
+ # {::Google::Cloud::Scheduler::V1beta1::DeleteJobRequest} or an equivalent Hash.
501
+ #
502
+ # @param request [::Google::Cloud::Scheduler::V1beta1::DeleteJobRequest, ::Hash]
503
+ # A request object representing the call parameters. Required. To specify no
504
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
505
+ # @param options [::Gapic::CallOptions, ::Hash]
506
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
507
+ #
508
+ # @overload delete_job(name: nil)
509
+ # Pass arguments to `delete_job` via keyword arguments. Note that at
510
+ # least one keyword argument is required. To specify no parameters, or to keep all
511
+ # the default parameter values, pass an empty Hash as a request object (see above).
512
+ #
513
+ # @param name [::String]
514
+ # Required. The job name. For example:
515
+ # `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
516
+ #
517
+ # @yield [response, operation] Access the result along with the RPC operation
518
+ # @yieldparam response [::Google::Protobuf::Empty]
519
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
520
+ #
521
+ # @return [::Google::Protobuf::Empty]
522
+ #
523
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
524
+ #
525
+ def delete_job request, options = nil
526
+ raise ::ArgumentError, "request must be provided" if request.nil?
527
+
528
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::DeleteJobRequest
529
+
530
+ # Converts hash and nil to an options object
531
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
532
+
533
+ # Customize the options with defaults
534
+ metadata = @config.rpcs.delete_job.metadata.to_h
535
+
536
+ # Set x-goog-api-client and x-goog-user-project headers
537
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
538
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
539
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
540
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
541
+
542
+ header_params = {
543
+ "name" => request.name
544
+ }
545
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
546
+ metadata[:"x-goog-request-params"] ||= request_params_header
547
+
548
+ options.apply_defaults timeout: @config.rpcs.delete_job.timeout,
549
+ metadata: metadata,
550
+ retry_policy: @config.rpcs.delete_job.retry_policy
551
+ options.apply_defaults metadata: @config.metadata,
552
+ retry_policy: @config.retry_policy
553
+
554
+ @cloud_scheduler_stub.call_rpc :delete_job, request, options: options do |response, operation|
555
+ yield response, operation if block_given?
556
+ return response
557
+ end
558
+ rescue ::GRPC::BadStatus => e
559
+ raise ::Google::Cloud::Error.from_error(e)
560
+ end
561
+
562
+ ##
563
+ # Pauses a job.
564
+ #
565
+ # If a job is paused then the system will stop executing the job
566
+ # until it is re-enabled via {::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client#resume_job ResumeJob}. The
567
+ # state of the job is stored in {::Google::Cloud::Scheduler::V1beta1::Job#state state}; if paused it
568
+ # will be set to {::Google::Cloud::Scheduler::V1beta1::Job::State::PAUSED Job.State.PAUSED}. A job must be in {::Google::Cloud::Scheduler::V1beta1::Job::State::ENABLED Job.State.ENABLED}
569
+ # to be paused.
570
+ #
571
+ # @overload pause_job(request, options = nil)
572
+ # Pass arguments to `pause_job` via a request object, either of type
573
+ # {::Google::Cloud::Scheduler::V1beta1::PauseJobRequest} or an equivalent Hash.
574
+ #
575
+ # @param request [::Google::Cloud::Scheduler::V1beta1::PauseJobRequest, ::Hash]
576
+ # A request object representing the call parameters. Required. To specify no
577
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
578
+ # @param options [::Gapic::CallOptions, ::Hash]
579
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
580
+ #
581
+ # @overload pause_job(name: nil)
582
+ # Pass arguments to `pause_job` via keyword arguments. Note that at
583
+ # least one keyword argument is required. To specify no parameters, or to keep all
584
+ # the default parameter values, pass an empty Hash as a request object (see above).
585
+ #
586
+ # @param name [::String]
587
+ # Required. The job name. For example:
588
+ # `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
589
+ #
590
+ # @yield [response, operation] Access the result along with the RPC operation
591
+ # @yieldparam response [::Google::Cloud::Scheduler::V1beta1::Job]
592
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
593
+ #
594
+ # @return [::Google::Cloud::Scheduler::V1beta1::Job]
595
+ #
596
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
597
+ #
598
+ def pause_job request, options = nil
599
+ raise ::ArgumentError, "request must be provided" if request.nil?
600
+
601
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::PauseJobRequest
602
+
603
+ # Converts hash and nil to an options object
604
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
605
+
606
+ # Customize the options with defaults
607
+ metadata = @config.rpcs.pause_job.metadata.to_h
608
+
609
+ # Set x-goog-api-client and x-goog-user-project headers
610
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
611
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
612
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
613
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
614
+
615
+ header_params = {
616
+ "name" => request.name
617
+ }
618
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
619
+ metadata[:"x-goog-request-params"] ||= request_params_header
620
+
621
+ options.apply_defaults timeout: @config.rpcs.pause_job.timeout,
622
+ metadata: metadata,
623
+ retry_policy: @config.rpcs.pause_job.retry_policy
624
+ options.apply_defaults metadata: @config.metadata,
625
+ retry_policy: @config.retry_policy
626
+
627
+ @cloud_scheduler_stub.call_rpc :pause_job, request, options: options do |response, operation|
628
+ yield response, operation if block_given?
629
+ return response
630
+ end
631
+ rescue ::GRPC::BadStatus => e
632
+ raise ::Google::Cloud::Error.from_error(e)
633
+ end
634
+
635
+ ##
636
+ # Resume a job.
637
+ #
638
+ # This method reenables a job after it has been {::Google::Cloud::Scheduler::V1beta1::Job::State::PAUSED Job.State.PAUSED}. The
639
+ # state of a job is stored in {::Google::Cloud::Scheduler::V1beta1::Job#state Job.state}; after calling this method it
640
+ # will be set to {::Google::Cloud::Scheduler::V1beta1::Job::State::ENABLED Job.State.ENABLED}. A job must be in
641
+ # {::Google::Cloud::Scheduler::V1beta1::Job::State::PAUSED Job.State.PAUSED} to be resumed.
642
+ #
643
+ # @overload resume_job(request, options = nil)
644
+ # Pass arguments to `resume_job` via a request object, either of type
645
+ # {::Google::Cloud::Scheduler::V1beta1::ResumeJobRequest} or an equivalent Hash.
646
+ #
647
+ # @param request [::Google::Cloud::Scheduler::V1beta1::ResumeJobRequest, ::Hash]
648
+ # A request object representing the call parameters. Required. To specify no
649
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
650
+ # @param options [::Gapic::CallOptions, ::Hash]
651
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
652
+ #
653
+ # @overload resume_job(name: nil)
654
+ # Pass arguments to `resume_job` via keyword arguments. Note that at
655
+ # least one keyword argument is required. To specify no parameters, or to keep all
656
+ # the default parameter values, pass an empty Hash as a request object (see above).
657
+ #
658
+ # @param name [::String]
659
+ # Required. The job name. For example:
660
+ # `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
661
+ #
662
+ # @yield [response, operation] Access the result along with the RPC operation
663
+ # @yieldparam response [::Google::Cloud::Scheduler::V1beta1::Job]
664
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
665
+ #
666
+ # @return [::Google::Cloud::Scheduler::V1beta1::Job]
667
+ #
668
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
669
+ #
670
+ def resume_job request, options = nil
671
+ raise ::ArgumentError, "request must be provided" if request.nil?
672
+
673
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::ResumeJobRequest
674
+
675
+ # Converts hash and nil to an options object
676
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
677
+
678
+ # Customize the options with defaults
679
+ metadata = @config.rpcs.resume_job.metadata.to_h
680
+
681
+ # Set x-goog-api-client and x-goog-user-project headers
682
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
683
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
684
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
685
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
686
+
687
+ header_params = {
688
+ "name" => request.name
689
+ }
690
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
691
+ metadata[:"x-goog-request-params"] ||= request_params_header
692
+
693
+ options.apply_defaults timeout: @config.rpcs.resume_job.timeout,
694
+ metadata: metadata,
695
+ retry_policy: @config.rpcs.resume_job.retry_policy
696
+ options.apply_defaults metadata: @config.metadata,
697
+ retry_policy: @config.retry_policy
698
+
699
+ @cloud_scheduler_stub.call_rpc :resume_job, request, options: options do |response, operation|
700
+ yield response, operation if block_given?
701
+ return response
702
+ end
703
+ rescue ::GRPC::BadStatus => e
704
+ raise ::Google::Cloud::Error.from_error(e)
705
+ end
706
+
707
+ ##
708
+ # Forces a job to run now.
709
+ #
710
+ # When this method is called, Cloud Scheduler will dispatch the job, even
711
+ # if the job is already running.
712
+ #
713
+ # @overload run_job(request, options = nil)
714
+ # Pass arguments to `run_job` via a request object, either of type
715
+ # {::Google::Cloud::Scheduler::V1beta1::RunJobRequest} or an equivalent Hash.
716
+ #
717
+ # @param request [::Google::Cloud::Scheduler::V1beta1::RunJobRequest, ::Hash]
718
+ # A request object representing the call parameters. Required. To specify no
719
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
720
+ # @param options [::Gapic::CallOptions, ::Hash]
721
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
722
+ #
723
+ # @overload run_job(name: nil)
724
+ # Pass arguments to `run_job` via keyword arguments. Note that at
725
+ # least one keyword argument is required. To specify no parameters, or to keep all
726
+ # the default parameter values, pass an empty Hash as a request object (see above).
727
+ #
728
+ # @param name [::String]
729
+ # Required. The job name. For example:
730
+ # `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
731
+ #
732
+ # @yield [response, operation] Access the result along with the RPC operation
733
+ # @yieldparam response [::Google::Cloud::Scheduler::V1beta1::Job]
734
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
735
+ #
736
+ # @return [::Google::Cloud::Scheduler::V1beta1::Job]
737
+ #
738
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
739
+ #
740
+ def run_job request, options = nil
741
+ raise ::ArgumentError, "request must be provided" if request.nil?
742
+
743
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Scheduler::V1beta1::RunJobRequest
744
+
745
+ # Converts hash and nil to an options object
746
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
747
+
748
+ # Customize the options with defaults
749
+ metadata = @config.rpcs.run_job.metadata.to_h
750
+
751
+ # Set x-goog-api-client and x-goog-user-project headers
752
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
753
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
754
+ gapic_version: ::Google::Cloud::Scheduler::V1beta1::VERSION
755
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
756
+
757
+ header_params = {
758
+ "name" => request.name
759
+ }
760
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
761
+ metadata[:"x-goog-request-params"] ||= request_params_header
762
+
763
+ options.apply_defaults timeout: @config.rpcs.run_job.timeout,
764
+ metadata: metadata,
765
+ retry_policy: @config.rpcs.run_job.retry_policy
766
+ options.apply_defaults metadata: @config.metadata,
767
+ retry_policy: @config.retry_policy
768
+
769
+ @cloud_scheduler_stub.call_rpc :run_job, request, options: options do |response, operation|
770
+ yield response, operation if block_given?
771
+ return response
772
+ end
773
+ rescue ::GRPC::BadStatus => e
774
+ raise ::Google::Cloud::Error.from_error(e)
775
+ end
776
+
777
+ ##
778
+ # Configuration class for the CloudScheduler API.
779
+ #
780
+ # This class represents the configuration for CloudScheduler,
781
+ # providing control over timeouts, retry behavior, logging, transport
782
+ # parameters, and other low-level controls. Certain parameters can also be
783
+ # applied individually to specific RPCs. See
784
+ # {::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client::Configuration::Rpcs}
785
+ # for a list of RPCs that can be configured independently.
786
+ #
787
+ # Configuration can be applied globally to all clients, or to a single client
788
+ # on construction.
789
+ #
790
+ # # Examples
791
+ #
792
+ # To modify the global config, setting the timeout for list_jobs
793
+ # to 20 seconds, and all remaining timeouts to 10 seconds:
794
+ #
795
+ # ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.configure do |config|
796
+ # config.timeout = 10.0
797
+ # config.rpcs.list_jobs.timeout = 20.0
798
+ # end
799
+ #
800
+ # To apply the above configuration only to a new client:
801
+ #
802
+ # client = ::Google::Cloud::Scheduler::V1beta1::CloudScheduler::Client.new do |config|
803
+ # config.timeout = 10.0
804
+ # config.rpcs.list_jobs.timeout = 20.0
805
+ # end
806
+ #
807
+ # @!attribute [rw] endpoint
808
+ # The hostname or hostname:port of the service endpoint.
809
+ # Defaults to `"cloudscheduler.googleapis.com"`.
810
+ # @return [::String]
811
+ # @!attribute [rw] credentials
812
+ # Credentials to send with calls. You may provide any of the following types:
813
+ # * (`String`) The path to a service account key file in JSON format
814
+ # * (`Hash`) A service account key as a Hash
815
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
816
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
817
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
818
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
819
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
820
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
821
+ # * (`nil`) indicating no credentials
822
+ # @return [::Object]
823
+ # @!attribute [rw] scope
824
+ # The OAuth scopes
825
+ # @return [::Array<::String>]
826
+ # @!attribute [rw] lib_name
827
+ # The library name as recorded in instrumentation and logging
828
+ # @return [::String]
829
+ # @!attribute [rw] lib_version
830
+ # The library version as recorded in instrumentation and logging
831
+ # @return [::String]
832
+ # @!attribute [rw] channel_args
833
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
834
+ # `GRPC::Core::Channel` object is provided as the credential.
835
+ # @return [::Hash]
836
+ # @!attribute [rw] interceptors
837
+ # An array of interceptors that are run before calls are executed.
838
+ # @return [::Array<::GRPC::ClientInterceptor>]
839
+ # @!attribute [rw] timeout
840
+ # The call timeout in seconds.
841
+ # @return [::Numeric]
842
+ # @!attribute [rw] metadata
843
+ # Additional gRPC headers to be sent with the call.
844
+ # @return [::Hash{::Symbol=>::String}]
845
+ # @!attribute [rw] retry_policy
846
+ # The retry policy. The value is a hash with the following keys:
847
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
848
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
849
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
850
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
851
+ # trigger a retry.
852
+ # @return [::Hash]
853
+ #
854
+ class Configuration
855
+ extend ::Gapic::Config
856
+
857
+ config_attr :endpoint, "cloudscheduler.googleapis.com", String
858
+ config_attr :credentials, nil do |value|
859
+ allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
860
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
861
+ allowed.any? { |klass| klass === value }
862
+ end
863
+ config_attr :scope, nil, ::String, ::Array, nil
864
+ config_attr :lib_name, nil, ::String, nil
865
+ config_attr :lib_version, nil, ::String, nil
866
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
867
+ config_attr :interceptors, nil, ::Array, nil
868
+ config_attr :timeout, nil, ::Numeric, nil
869
+ config_attr :metadata, nil, ::Hash, nil
870
+ config_attr :retry_policy, nil, ::Hash, Proc, nil
871
+
872
+ # @private
873
+ def initialize parent_config = nil
874
+ @parent_config = parent_config unless parent_config.nil?
875
+
876
+ yield self if block_given?
877
+ end
878
+
879
+ ##
880
+ # Configurations for individual RPCs
881
+ # @return [Rpcs]
882
+ #
883
+ def rpcs
884
+ @rpcs ||= begin
885
+ parent_rpcs = nil
886
+ parent_rpcs = @parent_config.rpcs if @parent_config&.respond_to? :rpcs
887
+ Rpcs.new parent_rpcs
888
+ end
889
+ end
890
+
891
+ ##
892
+ # Configuration RPC class for the CloudScheduler API.
893
+ #
894
+ # Includes fields providing the configuration for each RPC in this service.
895
+ # Each configuration object is of type `Gapic::Config::Method` and includes
896
+ # the following configuration fields:
897
+ #
898
+ # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
899
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
900
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
901
+ # include the following keys:
902
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
903
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
904
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
905
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
906
+ # trigger a retry.
907
+ #
908
+ class Rpcs
909
+ ##
910
+ # RPC-specific configuration for `list_jobs`
911
+ # @return [::Gapic::Config::Method]
912
+ #
913
+ attr_reader :list_jobs
914
+ ##
915
+ # RPC-specific configuration for `get_job`
916
+ # @return [::Gapic::Config::Method]
917
+ #
918
+ attr_reader :get_job
919
+ ##
920
+ # RPC-specific configuration for `create_job`
921
+ # @return [::Gapic::Config::Method]
922
+ #
923
+ attr_reader :create_job
924
+ ##
925
+ # RPC-specific configuration for `update_job`
926
+ # @return [::Gapic::Config::Method]
927
+ #
928
+ attr_reader :update_job
929
+ ##
930
+ # RPC-specific configuration for `delete_job`
931
+ # @return [::Gapic::Config::Method]
932
+ #
933
+ attr_reader :delete_job
934
+ ##
935
+ # RPC-specific configuration for `pause_job`
936
+ # @return [::Gapic::Config::Method]
937
+ #
938
+ attr_reader :pause_job
939
+ ##
940
+ # RPC-specific configuration for `resume_job`
941
+ # @return [::Gapic::Config::Method]
942
+ #
943
+ attr_reader :resume_job
944
+ ##
945
+ # RPC-specific configuration for `run_job`
946
+ # @return [::Gapic::Config::Method]
947
+ #
948
+ attr_reader :run_job
949
+
950
+ # @private
951
+ def initialize parent_rpcs = nil
952
+ list_jobs_config = parent_rpcs&.list_jobs if parent_rpcs&.respond_to? :list_jobs
953
+ @list_jobs = ::Gapic::Config::Method.new list_jobs_config
954
+ get_job_config = parent_rpcs&.get_job if parent_rpcs&.respond_to? :get_job
955
+ @get_job = ::Gapic::Config::Method.new get_job_config
956
+ create_job_config = parent_rpcs&.create_job if parent_rpcs&.respond_to? :create_job
957
+ @create_job = ::Gapic::Config::Method.new create_job_config
958
+ update_job_config = parent_rpcs&.update_job if parent_rpcs&.respond_to? :update_job
959
+ @update_job = ::Gapic::Config::Method.new update_job_config
960
+ delete_job_config = parent_rpcs&.delete_job if parent_rpcs&.respond_to? :delete_job
961
+ @delete_job = ::Gapic::Config::Method.new delete_job_config
962
+ pause_job_config = parent_rpcs&.pause_job if parent_rpcs&.respond_to? :pause_job
963
+ @pause_job = ::Gapic::Config::Method.new pause_job_config
964
+ resume_job_config = parent_rpcs&.resume_job if parent_rpcs&.respond_to? :resume_job
965
+ @resume_job = ::Gapic::Config::Method.new resume_job_config
966
+ run_job_config = parent_rpcs&.run_job if parent_rpcs&.respond_to? :run_job
967
+ @run_job = ::Gapic::Config::Method.new run_job_config
968
+
969
+ yield self if block_given?
970
+ end
971
+ end
972
+ end
973
+ end
974
+ end
975
+ end
976
+ end
977
+ end
978
+ end