google-cloud-scheduler-v1 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +169 -0
- data/LICENSE.md +203 -0
- data/README.md +71 -0
- data/lib/google/cloud/common_resources_pb.rb +15 -0
- data/lib/google/cloud/scheduler/v1/cloud_scheduler/client.rb +966 -0
- data/lib/google/cloud/scheduler/v1/cloud_scheduler/credentials.rb +51 -0
- data/lib/google/cloud/scheduler/v1/cloud_scheduler/paths.rb +86 -0
- data/lib/google/cloud/scheduler/v1/cloud_scheduler.rb +50 -0
- data/lib/google/cloud/scheduler/v1/cloudscheduler_pb.rb +66 -0
- data/lib/google/cloud/scheduler/v1/cloudscheduler_services_pb.rb +83 -0
- data/lib/google/cloud/scheduler/v1/job_pb.rb +59 -0
- data/lib/google/cloud/scheduler/v1/target_pb.rb +73 -0
- data/lib/google/cloud/scheduler/v1/version.rb +28 -0
- data/lib/google/cloud/scheduler/v1.rb +35 -0
- data/lib/google-cloud-scheduler-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +59 -0
- data/proto_docs/google/api/resource.rb +247 -0
- data/proto_docs/google/cloud/scheduler/v1/cloudscheduler.rb +155 -0
- data/proto_docs/google/cloud/scheduler/v1/job.rb +229 -0
- data/proto_docs/google/cloud/scheduler/v1/target.rb +385 -0
- data/proto_docs/google/protobuf/any.rb +138 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +120 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- metadata +187 -0
@@ -0,0 +1,247 @@
|
|
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
|
+
|
20
|
+
module Google
|
21
|
+
module Api
|
22
|
+
# A simple descriptor of a resource type.
|
23
|
+
#
|
24
|
+
# ResourceDescriptor annotates a resource message (either by means of a
|
25
|
+
# protobuf annotation or use in the service config), and associates the
|
26
|
+
# resource's schema, the resource type, and the pattern of the resource name.
|
27
|
+
#
|
28
|
+
# Example:
|
29
|
+
#
|
30
|
+
# message Topic {
|
31
|
+
# // Indicates this message defines a resource schema.
|
32
|
+
# // Declares the resource type in the format of {service}/{kind}.
|
33
|
+
# // For Kubernetes resources, the format is {api group}/{kind}.
|
34
|
+
# option (google.api.resource) = {
|
35
|
+
# type: "pubsub.googleapis.com/Topic"
|
36
|
+
# name_descriptor: {
|
37
|
+
# pattern: "projects/{project}/topics/{topic}"
|
38
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
39
|
+
# parent_name_extractor: "projects/{project}"
|
40
|
+
# }
|
41
|
+
# };
|
42
|
+
# }
|
43
|
+
#
|
44
|
+
# The ResourceDescriptor Yaml config will look like:
|
45
|
+
#
|
46
|
+
# resources:
|
47
|
+
# - type: "pubsub.googleapis.com/Topic"
|
48
|
+
# name_descriptor:
|
49
|
+
# - pattern: "projects/\\{project}/topics/\\{topic}"
|
50
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
+
# parent_name_extractor: "projects/\\{project}"
|
52
|
+
#
|
53
|
+
# Sometimes, resources have multiple patterns, typically because they can
|
54
|
+
# live under multiple parents.
|
55
|
+
#
|
56
|
+
# Example:
|
57
|
+
#
|
58
|
+
# message LogEntry {
|
59
|
+
# option (google.api.resource) = {
|
60
|
+
# type: "logging.googleapis.com/LogEntry"
|
61
|
+
# name_descriptor: {
|
62
|
+
# pattern: "projects/{project}/logs/{log}"
|
63
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
64
|
+
# parent_name_extractor: "projects/{project}"
|
65
|
+
# }
|
66
|
+
# name_descriptor: {
|
67
|
+
# pattern: "folders/{folder}/logs/{log}"
|
68
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
69
|
+
# parent_name_extractor: "folders/{folder}"
|
70
|
+
# }
|
71
|
+
# name_descriptor: {
|
72
|
+
# pattern: "organizations/{organization}/logs/{log}"
|
73
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
74
|
+
# parent_name_extractor: "organizations/{organization}"
|
75
|
+
# }
|
76
|
+
# name_descriptor: {
|
77
|
+
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
78
|
+
# parent_type: "billing.googleapis.com/BillingAccount"
|
79
|
+
# parent_name_extractor: "billingAccounts/{billing_account}"
|
80
|
+
# }
|
81
|
+
# };
|
82
|
+
# }
|
83
|
+
#
|
84
|
+
# The ResourceDescriptor Yaml config will look like:
|
85
|
+
#
|
86
|
+
# resources:
|
87
|
+
# - type: 'logging.googleapis.com/LogEntry'
|
88
|
+
# name_descriptor:
|
89
|
+
# - pattern: "projects/{project}/logs/{log}"
|
90
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
91
|
+
# parent_name_extractor: "projects/{project}"
|
92
|
+
# - pattern: "folders/{folder}/logs/{log}"
|
93
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
94
|
+
# parent_name_extractor: "folders/{folder}"
|
95
|
+
# - pattern: "organizations/{organization}/logs/{log}"
|
96
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
97
|
+
# parent_name_extractor: "organizations/{organization}"
|
98
|
+
# - pattern: "billingAccounts/{billing_account}/logs/{log}"
|
99
|
+
# parent_type: "billing.googleapis.com/BillingAccount"
|
100
|
+
# parent_name_extractor: "billingAccounts/{billing_account}"
|
101
|
+
#
|
102
|
+
# For flexible resources, the resource name doesn't contain parent names, but
|
103
|
+
# the resource itself has parents for policy evaluation.
|
104
|
+
#
|
105
|
+
# Example:
|
106
|
+
#
|
107
|
+
# message Shelf {
|
108
|
+
# option (google.api.resource) = {
|
109
|
+
# type: "library.googleapis.com/Shelf"
|
110
|
+
# name_descriptor: {
|
111
|
+
# pattern: "shelves/{shelf}"
|
112
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
113
|
+
# }
|
114
|
+
# name_descriptor: {
|
115
|
+
# pattern: "shelves/{shelf}"
|
116
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
117
|
+
# }
|
118
|
+
# };
|
119
|
+
# }
|
120
|
+
#
|
121
|
+
# The ResourceDescriptor Yaml config will look like:
|
122
|
+
#
|
123
|
+
# resources:
|
124
|
+
# - type: 'library.googleapis.com/Shelf'
|
125
|
+
# name_descriptor:
|
126
|
+
# - pattern: "shelves/{shelf}"
|
127
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
128
|
+
# - pattern: "shelves/{shelf}"
|
129
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
130
|
+
# @!attribute [rw] type
|
131
|
+
# @return [::String]
|
132
|
+
# The resource type. It must be in the format of
|
133
|
+
# \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
|
134
|
+
# singular and must not include version numbers.
|
135
|
+
#
|
136
|
+
# Example: `storage.googleapis.com/Bucket`
|
137
|
+
#
|
138
|
+
# The value of the resource_type_kind must follow the regular expression
|
139
|
+
# /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
|
140
|
+
# should use PascalCase (UpperCamelCase). The maximum number of
|
141
|
+
# characters allowed for the `resource_type_kind` is 100.
|
142
|
+
# @!attribute [rw] pattern
|
143
|
+
# @return [::Array<::String>]
|
144
|
+
# Optional. The relative resource name pattern associated with this resource
|
145
|
+
# type. The DNS prefix of the full resource name shouldn't be specified here.
|
146
|
+
#
|
147
|
+
# The path pattern must follow the syntax, which aligns with HTTP binding
|
148
|
+
# syntax:
|
149
|
+
#
|
150
|
+
# Template = Segment { "/" Segment } ;
|
151
|
+
# Segment = LITERAL | Variable ;
|
152
|
+
# Variable = "{" LITERAL "}" ;
|
153
|
+
#
|
154
|
+
# Examples:
|
155
|
+
#
|
156
|
+
# - "projects/\\{project}/topics/\\{topic}"
|
157
|
+
# - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
|
158
|
+
#
|
159
|
+
# The components in braces correspond to the IDs for each resource in the
|
160
|
+
# hierarchy. It is expected that, if multiple patterns are provided,
|
161
|
+
# the same component name (e.g. "project") refers to IDs of the same
|
162
|
+
# type of resource.
|
163
|
+
# @!attribute [rw] name_field
|
164
|
+
# @return [::String]
|
165
|
+
# Optional. The field on the resource that designates the resource name
|
166
|
+
# field. If omitted, this is assumed to be "name".
|
167
|
+
# @!attribute [rw] history
|
168
|
+
# @return [::Google::Api::ResourceDescriptor::History]
|
169
|
+
# Optional. The historical or future-looking state of the resource pattern.
|
170
|
+
#
|
171
|
+
# Example:
|
172
|
+
#
|
173
|
+
# // The InspectTemplate message originally only supported resource
|
174
|
+
# // names with organization, and project was added later.
|
175
|
+
# message InspectTemplate {
|
176
|
+
# option (google.api.resource) = {
|
177
|
+
# type: "dlp.googleapis.com/InspectTemplate"
|
178
|
+
# pattern:
|
179
|
+
# "organizations/{organization}/inspectTemplates/{inspect_template}"
|
180
|
+
# pattern: "projects/{project}/inspectTemplates/{inspect_template}"
|
181
|
+
# history: ORIGINALLY_SINGLE_PATTERN
|
182
|
+
# };
|
183
|
+
# }
|
184
|
+
# @!attribute [rw] plural
|
185
|
+
# @return [::String]
|
186
|
+
# The plural name used in the resource name, such as 'projects' for
|
187
|
+
# the name of 'projects/\\{project}'. It is the same concept of the `plural`
|
188
|
+
# field in k8s CRD spec
|
189
|
+
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
190
|
+
# @!attribute [rw] singular
|
191
|
+
# @return [::String]
|
192
|
+
# The same concept of the `singular` field in k8s CRD spec
|
193
|
+
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
194
|
+
# Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
195
|
+
class ResourceDescriptor
|
196
|
+
include ::Google::Protobuf::MessageExts
|
197
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
198
|
+
|
199
|
+
# A description of the historical or future-looking state of the
|
200
|
+
# resource pattern.
|
201
|
+
module History
|
202
|
+
# The "unset" value.
|
203
|
+
HISTORY_UNSPECIFIED = 0
|
204
|
+
|
205
|
+
# The resource originally had one pattern and launched as such, and
|
206
|
+
# additional patterns were added later.
|
207
|
+
ORIGINALLY_SINGLE_PATTERN = 1
|
208
|
+
|
209
|
+
# The resource has one pattern, but the API owner expects to add more
|
210
|
+
# later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
|
211
|
+
# that from being necessary once there are multiple patterns.)
|
212
|
+
FUTURE_MULTI_PATTERN = 2
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
# Defines a proto annotation that describes a string field that refers to
|
217
|
+
# an API resource.
|
218
|
+
# @!attribute [rw] type
|
219
|
+
# @return [::String]
|
220
|
+
# The resource type that the annotated field references.
|
221
|
+
#
|
222
|
+
# Example:
|
223
|
+
#
|
224
|
+
# message Subscription {
|
225
|
+
# string topic = 2 [(google.api.resource_reference) = {
|
226
|
+
# type: "pubsub.googleapis.com/Topic"
|
227
|
+
# }];
|
228
|
+
# }
|
229
|
+
# @!attribute [rw] child_type
|
230
|
+
# @return [::String]
|
231
|
+
# The resource type of a child collection that the annotated field
|
232
|
+
# references. This is useful for annotating the `parent` field that
|
233
|
+
# doesn't have a fixed resource type.
|
234
|
+
#
|
235
|
+
# Example:
|
236
|
+
#
|
237
|
+
# message ListLogEntriesRequest {
|
238
|
+
# string parent = 1 [(google.api.resource_reference) = {
|
239
|
+
# child_type: "logging.googleapis.com/LogEntry"
|
240
|
+
# };
|
241
|
+
# }
|
242
|
+
class ResourceReference
|
243
|
+
include ::Google::Protobuf::MessageExts
|
244
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
245
|
+
end
|
246
|
+
end
|
247
|
+
end
|
@@ -0,0 +1,155 @@
|
|
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
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module Scheduler
|
23
|
+
module V1
|
24
|
+
# Request message for listing jobs using {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#list_jobs ListJobs}.
|
25
|
+
# @!attribute [rw] parent
|
26
|
+
# @return [::String]
|
27
|
+
# Required. The location name. For example:
|
28
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID`.
|
29
|
+
# @!attribute [rw] page_size
|
30
|
+
# @return [::Integer]
|
31
|
+
# Requested page size.
|
32
|
+
#
|
33
|
+
# The maximum page size is 500. If unspecified, the page size will
|
34
|
+
# be the maximum. Fewer jobs than requested might be returned,
|
35
|
+
# even if more jobs exist; use next_page_token to determine if more
|
36
|
+
# jobs exist.
|
37
|
+
# @!attribute [rw] page_token
|
38
|
+
# @return [::String]
|
39
|
+
# A token identifying a page of results the server will return. To
|
40
|
+
# request the first page results, page_token must be empty. To
|
41
|
+
# request the next page of results, page_token must be the value of
|
42
|
+
# {::Google::Cloud::Scheduler::V1::ListJobsResponse#next_page_token next_page_token} returned from
|
43
|
+
# the previous call to {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#list_jobs ListJobs}. It is an error to
|
44
|
+
# switch the value of [filter][google.cloud.scheduler.v1.ListJobsRequest.filter] or
|
45
|
+
# [order_by][google.cloud.scheduler.v1.ListJobsRequest.order_by] while iterating through pages.
|
46
|
+
class ListJobsRequest
|
47
|
+
include ::Google::Protobuf::MessageExts
|
48
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
49
|
+
end
|
50
|
+
|
51
|
+
# Response message for listing jobs using {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#list_jobs ListJobs}.
|
52
|
+
# @!attribute [rw] jobs
|
53
|
+
# @return [::Array<::Google::Cloud::Scheduler::V1::Job>]
|
54
|
+
# The list of jobs.
|
55
|
+
# @!attribute [rw] next_page_token
|
56
|
+
# @return [::String]
|
57
|
+
# A token to retrieve next page of results. Pass this value in the
|
58
|
+
# {::Google::Cloud::Scheduler::V1::ListJobsRequest#page_token page_token} field in the subsequent call to
|
59
|
+
# {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#list_jobs ListJobs} to retrieve the next page of results.
|
60
|
+
# If this is empty it indicates that there are no more results
|
61
|
+
# through which to paginate.
|
62
|
+
#
|
63
|
+
# The page token is valid for only 2 hours.
|
64
|
+
class ListJobsResponse
|
65
|
+
include ::Google::Protobuf::MessageExts
|
66
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
67
|
+
end
|
68
|
+
|
69
|
+
# Request message for {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#get_job GetJob}.
|
70
|
+
# @!attribute [rw] name
|
71
|
+
# @return [::String]
|
72
|
+
# Required. The job name. For example:
|
73
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
|
74
|
+
class GetJobRequest
|
75
|
+
include ::Google::Protobuf::MessageExts
|
76
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
77
|
+
end
|
78
|
+
|
79
|
+
# Request message for {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#create_job CreateJob}.
|
80
|
+
# @!attribute [rw] parent
|
81
|
+
# @return [::String]
|
82
|
+
# Required. The location name. For example:
|
83
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID`.
|
84
|
+
# @!attribute [rw] job
|
85
|
+
# @return [::Google::Cloud::Scheduler::V1::Job]
|
86
|
+
# Required. The job to add. The user can optionally specify a name for the
|
87
|
+
# job in {::Google::Cloud::Scheduler::V1::Job#name name}. {::Google::Cloud::Scheduler::V1::Job#name name} cannot be the same as an
|
88
|
+
# existing job. If a name is not specified then the system will
|
89
|
+
# generate a random unique name that will be returned
|
90
|
+
# ({::Google::Cloud::Scheduler::V1::Job#name name}) in the response.
|
91
|
+
class CreateJobRequest
|
92
|
+
include ::Google::Protobuf::MessageExts
|
93
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
94
|
+
end
|
95
|
+
|
96
|
+
# Request message for {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#update_job UpdateJob}.
|
97
|
+
# @!attribute [rw] job
|
98
|
+
# @return [::Google::Cloud::Scheduler::V1::Job]
|
99
|
+
# Required. The new job properties. {::Google::Cloud::Scheduler::V1::Job#name name} must be specified.
|
100
|
+
#
|
101
|
+
# Output only fields cannot be modified using UpdateJob.
|
102
|
+
# Any value specified for an output only field will be ignored.
|
103
|
+
# @!attribute [rw] update_mask
|
104
|
+
# @return [::Google::Protobuf::FieldMask]
|
105
|
+
# A mask used to specify which fields of the job are being updated.
|
106
|
+
class UpdateJobRequest
|
107
|
+
include ::Google::Protobuf::MessageExts
|
108
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
109
|
+
end
|
110
|
+
|
111
|
+
# Request message for deleting a job using
|
112
|
+
# {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#delete_job DeleteJob}.
|
113
|
+
# @!attribute [rw] name
|
114
|
+
# @return [::String]
|
115
|
+
# Required. The job name. For example:
|
116
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
|
117
|
+
class DeleteJobRequest
|
118
|
+
include ::Google::Protobuf::MessageExts
|
119
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
120
|
+
end
|
121
|
+
|
122
|
+
# Request message for {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#pause_job PauseJob}.
|
123
|
+
# @!attribute [rw] name
|
124
|
+
# @return [::String]
|
125
|
+
# Required. The job name. For example:
|
126
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
|
127
|
+
class PauseJobRequest
|
128
|
+
include ::Google::Protobuf::MessageExts
|
129
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
130
|
+
end
|
131
|
+
|
132
|
+
# Request message for {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#resume_job ResumeJob}.
|
133
|
+
# @!attribute [rw] name
|
134
|
+
# @return [::String]
|
135
|
+
# Required. The job name. For example:
|
136
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
|
137
|
+
class ResumeJobRequest
|
138
|
+
include ::Google::Protobuf::MessageExts
|
139
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
140
|
+
end
|
141
|
+
|
142
|
+
# Request message for forcing a job to run now using
|
143
|
+
# {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#run_job RunJob}.
|
144
|
+
# @!attribute [rw] name
|
145
|
+
# @return [::String]
|
146
|
+
# Required. The job name. For example:
|
147
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
|
148
|
+
class RunJobRequest
|
149
|
+
include ::Google::Protobuf::MessageExts
|
150
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
@@ -0,0 +1,229 @@
|
|
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
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module Scheduler
|
23
|
+
module V1
|
24
|
+
# Configuration for a job.
|
25
|
+
# The maximum allowed size for a job is 100KB.
|
26
|
+
# @!attribute [rw] name
|
27
|
+
# @return [::String]
|
28
|
+
# Optionally caller-specified in {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#create_job CreateJob}, after
|
29
|
+
# which it becomes output only.
|
30
|
+
#
|
31
|
+
# The job name. For example:
|
32
|
+
# `projects/PROJECT_ID/locations/LOCATION_ID/jobs/JOB_ID`.
|
33
|
+
#
|
34
|
+
# * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
|
35
|
+
# hyphens (-), colons (:), or periods (.).
|
36
|
+
# For more information, see
|
37
|
+
# [Identifying
|
38
|
+
# projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
|
39
|
+
# * `LOCATION_ID` is the canonical ID for the job's location.
|
40
|
+
# The list of available locations can be obtained by calling
|
41
|
+
# [ListLocations][google.cloud.location.Locations.ListLocations].
|
42
|
+
# For more information, see https://cloud.google.com/about/locations/.
|
43
|
+
# * `JOB_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
|
44
|
+
# hyphens (-), or underscores (_). The maximum length is 500 characters.
|
45
|
+
# @!attribute [rw] description
|
46
|
+
# @return [::String]
|
47
|
+
# Optionally caller-specified in {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#create_job CreateJob} or
|
48
|
+
# {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#update_job UpdateJob}.
|
49
|
+
#
|
50
|
+
# A human-readable description for the job. This string must not contain
|
51
|
+
# more than 500 characters.
|
52
|
+
# @!attribute [rw] pubsub_target
|
53
|
+
# @return [::Google::Cloud::Scheduler::V1::PubsubTarget]
|
54
|
+
# Pub/Sub target.
|
55
|
+
# @!attribute [rw] app_engine_http_target
|
56
|
+
# @return [::Google::Cloud::Scheduler::V1::AppEngineHttpTarget]
|
57
|
+
# App Engine HTTP target.
|
58
|
+
# @!attribute [rw] http_target
|
59
|
+
# @return [::Google::Cloud::Scheduler::V1::HttpTarget]
|
60
|
+
# HTTP target.
|
61
|
+
# @!attribute [rw] schedule
|
62
|
+
# @return [::String]
|
63
|
+
# Required, except when used with {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#update_job UpdateJob}.
|
64
|
+
#
|
65
|
+
# Describes the schedule on which the job will be executed.
|
66
|
+
#
|
67
|
+
# The schedule can be either of the following types:
|
68
|
+
#
|
69
|
+
# * [Crontab](http://en.wikipedia.org/wiki/Cron#Overview)
|
70
|
+
# * English-like
|
71
|
+
# [schedule](https://cloud.google.com/scheduler/docs/configuring/cron-job-schedules)
|
72
|
+
#
|
73
|
+
# As a general rule, execution `n + 1` of a job will not begin
|
74
|
+
# until execution `n` has finished. Cloud Scheduler will never
|
75
|
+
# allow two simultaneously outstanding executions. For example,
|
76
|
+
# this implies that if the `n+1`th execution is scheduled to run at
|
77
|
+
# 16:00 but the `n`th execution takes until 16:15, the `n+1`th
|
78
|
+
# execution will not start until `16:15`.
|
79
|
+
# A scheduled start time will be delayed if the previous
|
80
|
+
# execution has not ended when its scheduled time occurs.
|
81
|
+
#
|
82
|
+
# If {::Google::Cloud::Scheduler::V1::RetryConfig#retry_count retry_count} > 0 and a job attempt fails,
|
83
|
+
# the job will be tried a total of {::Google::Cloud::Scheduler::V1::RetryConfig#retry_count retry_count}
|
84
|
+
# times, with exponential backoff, until the next scheduled start
|
85
|
+
# time.
|
86
|
+
# @!attribute [rw] time_zone
|
87
|
+
# @return [::String]
|
88
|
+
# Specifies the time zone to be used in interpreting
|
89
|
+
# {::Google::Cloud::Scheduler::V1::Job#schedule schedule}. The value of this field must be a time
|
90
|
+
# zone name from the [tz database](http://en.wikipedia.org/wiki/Tz_database).
|
91
|
+
#
|
92
|
+
# Note that some time zones include a provision for
|
93
|
+
# daylight savings time. The rules for daylight saving time are
|
94
|
+
# determined by the chosen tz. For UTC use the string "utc". If a
|
95
|
+
# time zone is not specified, the default will be in UTC (also known
|
96
|
+
# as GMT).
|
97
|
+
# @!attribute [rw] user_update_time
|
98
|
+
# @return [::Google::Protobuf::Timestamp]
|
99
|
+
# Output only. The creation time of the job.
|
100
|
+
# @!attribute [rw] state
|
101
|
+
# @return [::Google::Cloud::Scheduler::V1::Job::State]
|
102
|
+
# Output only. State of the job.
|
103
|
+
# @!attribute [rw] status
|
104
|
+
# @return [::Google::Rpc::Status]
|
105
|
+
# Output only. The response from the target for the last attempted execution.
|
106
|
+
# @!attribute [rw] schedule_time
|
107
|
+
# @return [::Google::Protobuf::Timestamp]
|
108
|
+
# Output only. The next time the job is scheduled. Note that this may be a
|
109
|
+
# retry of a previously failed attempt or the next execution time
|
110
|
+
# according to the schedule.
|
111
|
+
# @!attribute [rw] last_attempt_time
|
112
|
+
# @return [::Google::Protobuf::Timestamp]
|
113
|
+
# Output only. The time the last job attempt started.
|
114
|
+
# @!attribute [rw] retry_config
|
115
|
+
# @return [::Google::Cloud::Scheduler::V1::RetryConfig]
|
116
|
+
# Settings that determine the retry behavior.
|
117
|
+
# @!attribute [rw] attempt_deadline
|
118
|
+
# @return [::Google::Protobuf::Duration]
|
119
|
+
# The deadline for job attempts. If the request handler does not respond by
|
120
|
+
# this deadline then the request is cancelled and the attempt is marked as a
|
121
|
+
# `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in
|
122
|
+
# execution logs. Cloud Scheduler will retry the job according
|
123
|
+
# to the {::Google::Cloud::Scheduler::V1::RetryConfig RetryConfig}.
|
124
|
+
#
|
125
|
+
# The allowed duration for this deadline is:
|
126
|
+
# * For {::Google::Cloud::Scheduler::V1::Job#http_target HTTP targets}, between 15 seconds and 30 minutes.
|
127
|
+
# * For {::Google::Cloud::Scheduler::V1::Job#app_engine_http_target App Engine HTTP targets}, between 15
|
128
|
+
# seconds and 24 hours.
|
129
|
+
class Job
|
130
|
+
include ::Google::Protobuf::MessageExts
|
131
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
132
|
+
|
133
|
+
# State of the job.
|
134
|
+
module State
|
135
|
+
# Unspecified state.
|
136
|
+
STATE_UNSPECIFIED = 0
|
137
|
+
|
138
|
+
# The job is executing normally.
|
139
|
+
ENABLED = 1
|
140
|
+
|
141
|
+
# The job is paused by the user. It will not execute. A user can
|
142
|
+
# intentionally pause the job using
|
143
|
+
# {::Google::Cloud::Scheduler::V1::PauseJobRequest PauseJobRequest}.
|
144
|
+
PAUSED = 2
|
145
|
+
|
146
|
+
# The job is disabled by the system due to error. The user
|
147
|
+
# cannot directly set a job to be disabled.
|
148
|
+
DISABLED = 3
|
149
|
+
|
150
|
+
# The job state resulting from a failed {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#update_job CloudScheduler.UpdateJob}
|
151
|
+
# operation. To recover a job from this state, retry
|
152
|
+
# {::Google::Cloud::Scheduler::V1::CloudScheduler::Client#update_job CloudScheduler.UpdateJob} until a successful response is received.
|
153
|
+
UPDATE_FAILED = 4
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
# Settings that determine the retry behavior.
|
158
|
+
#
|
159
|
+
# By default, if a job does not complete successfully (meaning that
|
160
|
+
# an acknowledgement is not received from the handler, then it will be retried
|
161
|
+
# with exponential backoff according to the settings in {::Google::Cloud::Scheduler::V1::RetryConfig RetryConfig}.
|
162
|
+
# @!attribute [rw] retry_count
|
163
|
+
# @return [::Integer]
|
164
|
+
# The number of attempts that the system will make to run a job using the
|
165
|
+
# exponential backoff procedure described by
|
166
|
+
# {::Google::Cloud::Scheduler::V1::RetryConfig#max_doublings max_doublings}.
|
167
|
+
#
|
168
|
+
# The default value of retry_count is zero.
|
169
|
+
#
|
170
|
+
# If retry_count is zero, a job attempt will *not* be retried if
|
171
|
+
# it fails. Instead the Cloud Scheduler system will wait for the
|
172
|
+
# next scheduled execution time.
|
173
|
+
#
|
174
|
+
# If retry_count is set to a non-zero number then Cloud Scheduler
|
175
|
+
# will retry failed attempts, using exponential backoff,
|
176
|
+
# retry_count times, or until the next scheduled execution time,
|
177
|
+
# whichever comes first.
|
178
|
+
#
|
179
|
+
# Values greater than 5 and negative values are not allowed.
|
180
|
+
# @!attribute [rw] max_retry_duration
|
181
|
+
# @return [::Google::Protobuf::Duration]
|
182
|
+
# The time limit for retrying a failed job, measured from time when an
|
183
|
+
# execution was first attempted. If specified with
|
184
|
+
# {::Google::Cloud::Scheduler::V1::RetryConfig#retry_count retry_count}, the job will be retried until both
|
185
|
+
# limits are reached.
|
186
|
+
#
|
187
|
+
# The default value for max_retry_duration is zero, which means retry
|
188
|
+
# duration is unlimited.
|
189
|
+
# @!attribute [rw] min_backoff_duration
|
190
|
+
# @return [::Google::Protobuf::Duration]
|
191
|
+
# The minimum amount of time to wait before retrying a job after
|
192
|
+
# it fails.
|
193
|
+
#
|
194
|
+
# The default value of this field is 5 seconds.
|
195
|
+
# @!attribute [rw] max_backoff_duration
|
196
|
+
# @return [::Google::Protobuf::Duration]
|
197
|
+
# The maximum amount of time to wait before retrying a job after
|
198
|
+
# it fails.
|
199
|
+
#
|
200
|
+
# The default value of this field is 1 hour.
|
201
|
+
# @!attribute [rw] max_doublings
|
202
|
+
# @return [::Integer]
|
203
|
+
# The time between retries will double `max_doublings` times.
|
204
|
+
#
|
205
|
+
# A job's retry interval starts at
|
206
|
+
# {::Google::Cloud::Scheduler::V1::RetryConfig#min_backoff_duration min_backoff_duration}, then doubles
|
207
|
+
# `max_doublings` times, then increases linearly, and finally
|
208
|
+
# retries retries at intervals of
|
209
|
+
# {::Google::Cloud::Scheduler::V1::RetryConfig#max_backoff_duration max_backoff_duration} up to
|
210
|
+
# {::Google::Cloud::Scheduler::V1::RetryConfig#retry_count retry_count} times.
|
211
|
+
#
|
212
|
+
# For example, if {::Google::Cloud::Scheduler::V1::RetryConfig#min_backoff_duration min_backoff_duration} is
|
213
|
+
# 10s, {::Google::Cloud::Scheduler::V1::RetryConfig#max_backoff_duration max_backoff_duration} is 300s, and
|
214
|
+
# `max_doublings` is 3, then the a job will first be retried in 10s. The
|
215
|
+
# retry interval will double three times, and then increase linearly by
|
216
|
+
# 2^3 * 10s. Finally, the job will retry at intervals of
|
217
|
+
# {::Google::Cloud::Scheduler::V1::RetryConfig#max_backoff_duration max_backoff_duration} until the job has
|
218
|
+
# been attempted {::Google::Cloud::Scheduler::V1::RetryConfig#retry_count retry_count} times. Thus, the
|
219
|
+
# requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, ....
|
220
|
+
#
|
221
|
+
# The default value of this field is 5.
|
222
|
+
class RetryConfig
|
223
|
+
include ::Google::Protobuf::MessageExts
|
224
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
225
|
+
end
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|