google-cloud-batch-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 +149 -0
- data/LICENSE.md +201 -0
- data/README.md +141 -0
- data/lib/google/cloud/batch/v1/batch_pb.rb +84 -0
- data/lib/google/cloud/batch/v1/batch_service/client.rb +994 -0
- data/lib/google/cloud/batch/v1/batch_service/credentials.rb +47 -0
- data/lib/google/cloud/batch/v1/batch_service/operations.rb +767 -0
- data/lib/google/cloud/batch/v1/batch_service/paths.rb +113 -0
- data/lib/google/cloud/batch/v1/batch_service.rb +52 -0
- data/lib/google/cloud/batch/v1/batch_services_pb.rb +57 -0
- data/lib/google/cloud/batch/v1/job_pb.rb +170 -0
- data/lib/google/cloud/batch/v1/task_pb.rb +121 -0
- data/lib/google/cloud/batch/v1/version.rb +28 -0
- data/lib/google/cloud/batch/v1/volume_pb.rb +37 -0
- data/lib/google/cloud/batch/v1.rb +40 -0
- data/lib/google-cloud-batch-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +71 -0
- data/proto_docs/google/api/resource.rb +222 -0
- data/proto_docs/google/cloud/batch/v1/batch.rb +209 -0
- data/proto_docs/google/cloud/batch/v1/job.rb +490 -0
- data/proto_docs/google/cloud/batch/v1/task.rb +329 -0
- data/proto_docs/google/cloud/batch/v1/volume.rb +78 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +141 -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 +129 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- data/proto_docs/google/type/expr.rb +75 -0
- metadata +266 -0
@@ -0,0 +1,490 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 Batch
|
23
|
+
module V1
|
24
|
+
# The Cloud Batch Job description.
|
25
|
+
# @!attribute [r] name
|
26
|
+
# @return [::String]
|
27
|
+
# Output only. Job name.
|
28
|
+
# For example: "projects/123456/locations/us-central1/jobs/job01".
|
29
|
+
# @!attribute [r] uid
|
30
|
+
# @return [::String]
|
31
|
+
# Output only. A system generated unique ID (in UUID4 format) for the Job.
|
32
|
+
# @!attribute [rw] priority
|
33
|
+
# @return [::Integer]
|
34
|
+
# Priority of the Job.
|
35
|
+
# The valid value range is [0, 100).
|
36
|
+
# A job with higher priority value is more likely to run earlier if all other
|
37
|
+
# requirements are satisfied.
|
38
|
+
# @!attribute [rw] task_groups
|
39
|
+
# @return [::Array<::Google::Cloud::Batch::V1::TaskGroup>]
|
40
|
+
# Required. TaskGroups in the Job. Only one TaskGroup is supported now.
|
41
|
+
# @!attribute [rw] allocation_policy
|
42
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy]
|
43
|
+
# Compute resource allocation for all TaskGroups in the Job.
|
44
|
+
# @!attribute [rw] labels
|
45
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
46
|
+
# Labels for the Job. Labels could be user provided or system generated.
|
47
|
+
# For example,
|
48
|
+
# "labels": {
|
49
|
+
# "department": "finance",
|
50
|
+
# "environment": "test"
|
51
|
+
# }
|
52
|
+
# You can assign up to 64 labels. [Google Compute Engine label
|
53
|
+
# restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
|
54
|
+
# apply.
|
55
|
+
# Label names that start with "goog-" or "google-" are reserved.
|
56
|
+
# @!attribute [r] status
|
57
|
+
# @return [::Google::Cloud::Batch::V1::JobStatus]
|
58
|
+
# Output only. Job status. It is read only for users.
|
59
|
+
# @!attribute [r] create_time
|
60
|
+
# @return [::Google::Protobuf::Timestamp]
|
61
|
+
# Output only. When the Job was created.
|
62
|
+
# @!attribute [r] update_time
|
63
|
+
# @return [::Google::Protobuf::Timestamp]
|
64
|
+
# Output only. The last time the Job was updated.
|
65
|
+
# @!attribute [rw] logs_policy
|
66
|
+
# @return [::Google::Cloud::Batch::V1::LogsPolicy]
|
67
|
+
# Log preservation policy for the Job.
|
68
|
+
# @!attribute [rw] notifications
|
69
|
+
# @return [::Array<::Google::Cloud::Batch::V1::JobNotification>]
|
70
|
+
# Notification configurations.
|
71
|
+
class Job
|
72
|
+
include ::Google::Protobuf::MessageExts
|
73
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
74
|
+
|
75
|
+
# @!attribute [rw] key
|
76
|
+
# @return [::String]
|
77
|
+
# @!attribute [rw] value
|
78
|
+
# @return [::String]
|
79
|
+
class LabelsEntry
|
80
|
+
include ::Google::Protobuf::MessageExts
|
81
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
# LogsPolicy describes how outputs from a Job's Tasks (stdout/stderr) will be
|
86
|
+
# preserved.
|
87
|
+
# @!attribute [rw] destination
|
88
|
+
# @return [::Google::Cloud::Batch::V1::LogsPolicy::Destination]
|
89
|
+
# Where logs should be saved.
|
90
|
+
# @!attribute [rw] logs_path
|
91
|
+
# @return [::String]
|
92
|
+
# The path to which logs are saved when the destination = PATH. This can be a
|
93
|
+
# local file path on the VM, or under the mount point of a Persistent Disk or
|
94
|
+
# Filestore, or a Cloud Storage path.
|
95
|
+
class LogsPolicy
|
96
|
+
include ::Google::Protobuf::MessageExts
|
97
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
98
|
+
|
99
|
+
# The destination (if any) for logs.
|
100
|
+
module Destination
|
101
|
+
# Logs are not preserved.
|
102
|
+
DESTINATION_UNSPECIFIED = 0
|
103
|
+
|
104
|
+
# Logs are streamed to Cloud Logging.
|
105
|
+
CLOUD_LOGGING = 1
|
106
|
+
|
107
|
+
# Logs are saved to a file path.
|
108
|
+
PATH = 2
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# Job status.
|
113
|
+
# @!attribute [rw] state
|
114
|
+
# @return [::Google::Cloud::Batch::V1::JobStatus::State]
|
115
|
+
# Job state
|
116
|
+
# @!attribute [rw] status_events
|
117
|
+
# @return [::Array<::Google::Cloud::Batch::V1::StatusEvent>]
|
118
|
+
# Job status events
|
119
|
+
# @!attribute [rw] task_groups
|
120
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Batch::V1::JobStatus::TaskGroupStatus}]
|
121
|
+
# Aggregated task status for each TaskGroup in the Job.
|
122
|
+
# The map key is TaskGroup ID.
|
123
|
+
# @!attribute [rw] run_duration
|
124
|
+
# @return [::Google::Protobuf::Duration]
|
125
|
+
# The duration of time that the Job spent in status RUNNING.
|
126
|
+
class JobStatus
|
127
|
+
include ::Google::Protobuf::MessageExts
|
128
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
129
|
+
|
130
|
+
# VM instance status.
|
131
|
+
# @!attribute [rw] machine_type
|
132
|
+
# @return [::String]
|
133
|
+
# The Compute Engine machine type.
|
134
|
+
# @!attribute [rw] provisioning_model
|
135
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy::ProvisioningModel]
|
136
|
+
# The VM instance provisioning model.
|
137
|
+
# @!attribute [rw] task_pack
|
138
|
+
# @return [::Integer]
|
139
|
+
# The max number of tasks can be assigned to this instance type.
|
140
|
+
class InstanceStatus
|
141
|
+
include ::Google::Protobuf::MessageExts
|
142
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
143
|
+
end
|
144
|
+
|
145
|
+
# Aggregated task status for a TaskGroup.
|
146
|
+
# @!attribute [rw] counts
|
147
|
+
# @return [::Google::Protobuf::Map{::String => ::Integer}]
|
148
|
+
# Count of task in each state in the TaskGroup.
|
149
|
+
# The map key is task state name.
|
150
|
+
# @!attribute [rw] instances
|
151
|
+
# @return [::Array<::Google::Cloud::Batch::V1::JobStatus::InstanceStatus>]
|
152
|
+
# Status of instances allocated for the TaskGroup.
|
153
|
+
class TaskGroupStatus
|
154
|
+
include ::Google::Protobuf::MessageExts
|
155
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
156
|
+
|
157
|
+
# @!attribute [rw] key
|
158
|
+
# @return [::String]
|
159
|
+
# @!attribute [rw] value
|
160
|
+
# @return [::Integer]
|
161
|
+
class CountsEntry
|
162
|
+
include ::Google::Protobuf::MessageExts
|
163
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
# @!attribute [rw] key
|
168
|
+
# @return [::String]
|
169
|
+
# @!attribute [rw] value
|
170
|
+
# @return [::Google::Cloud::Batch::V1::JobStatus::TaskGroupStatus]
|
171
|
+
class TaskGroupsEntry
|
172
|
+
include ::Google::Protobuf::MessageExts
|
173
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
174
|
+
end
|
175
|
+
|
176
|
+
# Valid Job states.
|
177
|
+
module State
|
178
|
+
STATE_UNSPECIFIED = 0
|
179
|
+
|
180
|
+
# Job is admitted (validated and persisted) and waiting for resources.
|
181
|
+
QUEUED = 1
|
182
|
+
|
183
|
+
# Job is scheduled to run as soon as resource allocation is ready.
|
184
|
+
# The resource allocation may happen at a later time but with a high
|
185
|
+
# chance to succeed.
|
186
|
+
SCHEDULED = 2
|
187
|
+
|
188
|
+
# Resource allocation has been successful. At least one Task in the Job is
|
189
|
+
# RUNNING.
|
190
|
+
RUNNING = 3
|
191
|
+
|
192
|
+
# All Tasks in the Job have finished successfully.
|
193
|
+
SUCCEEDED = 4
|
194
|
+
|
195
|
+
# At least one Task in the Job has failed.
|
196
|
+
FAILED = 5
|
197
|
+
|
198
|
+
# The Job will be deleted, but has not been deleted yet. Typically this is
|
199
|
+
# because resources used by the Job are still being cleaned up.
|
200
|
+
DELETION_IN_PROGRESS = 6
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
# Notification configurations.
|
205
|
+
# @!attribute [rw] pubsub_topic
|
206
|
+
# @return [::String]
|
207
|
+
# The Pub/Sub topic where notifications like the job state changes
|
208
|
+
# will be published. This topic exist in the same project as the job
|
209
|
+
# and billings will be charged to this project.
|
210
|
+
# If not specified, no Pub/Sub messages will be sent.
|
211
|
+
# Topic format: `projects/{project}/topics/{topic}`.
|
212
|
+
# @!attribute [rw] message
|
213
|
+
# @return [::Google::Cloud::Batch::V1::JobNotification::Message]
|
214
|
+
# The attribute requirements of messages to be sent to this Pub/Sub topic.
|
215
|
+
# Without this field, no message will be sent.
|
216
|
+
class JobNotification
|
217
|
+
include ::Google::Protobuf::MessageExts
|
218
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
219
|
+
|
220
|
+
# Message details.
|
221
|
+
# Describe the attribute that a message should have.
|
222
|
+
# Without specified message attributes, no message will be sent by default.
|
223
|
+
# @!attribute [rw] type
|
224
|
+
# @return [::Google::Cloud::Batch::V1::JobNotification::Type]
|
225
|
+
# The message type.
|
226
|
+
# @!attribute [rw] new_job_state
|
227
|
+
# @return [::Google::Cloud::Batch::V1::JobStatus::State]
|
228
|
+
# The new job state.
|
229
|
+
# @!attribute [rw] new_task_state
|
230
|
+
# @return [::Google::Cloud::Batch::V1::TaskStatus::State]
|
231
|
+
# The new task state.
|
232
|
+
class Message
|
233
|
+
include ::Google::Protobuf::MessageExts
|
234
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
235
|
+
end
|
236
|
+
|
237
|
+
# The message type.
|
238
|
+
module Type
|
239
|
+
# Unspecified.
|
240
|
+
TYPE_UNSPECIFIED = 0
|
241
|
+
|
242
|
+
# Notify users that the job state has changed.
|
243
|
+
JOB_STATE_CHANGED = 1
|
244
|
+
|
245
|
+
# Notify users that the task state has changed.
|
246
|
+
TASK_STATE_CHANGED = 2
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
# A Job's resource allocation policy describes when, where, and how compute
|
251
|
+
# resources should be allocated for the Job.
|
252
|
+
# @!attribute [rw] location
|
253
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy::LocationPolicy]
|
254
|
+
# Location where compute resources should be allocated for the Job.
|
255
|
+
# @!attribute [rw] instances
|
256
|
+
# @return [::Array<::Google::Cloud::Batch::V1::AllocationPolicy::InstancePolicyOrTemplate>]
|
257
|
+
# Describe instances that can be created by this AllocationPolicy.
|
258
|
+
# Only instances[0] is supported now.
|
259
|
+
# @!attribute [rw] labels
|
260
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
261
|
+
# Labels applied to all VM instances and other resources
|
262
|
+
# created by AllocationPolicy.
|
263
|
+
# Labels could be user provided or system generated.
|
264
|
+
# You can assign up to 64 labels. [Google Compute Engine label
|
265
|
+
# restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
|
266
|
+
# apply.
|
267
|
+
# Label names that start with "goog-" or "google-" are reserved.
|
268
|
+
# @!attribute [rw] network
|
269
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy::NetworkPolicy]
|
270
|
+
# The network policy.
|
271
|
+
class AllocationPolicy
|
272
|
+
include ::Google::Protobuf::MessageExts
|
273
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
274
|
+
|
275
|
+
# @!attribute [rw] allowed_locations
|
276
|
+
# @return [::Array<::String>]
|
277
|
+
# A list of allowed location names represented by internal URLs,
|
278
|
+
# First location in the list must be a region.
|
279
|
+
# for example,
|
280
|
+
# ["regions/us-central1"] allow VMs in region us-central1,
|
281
|
+
# ["regions/us-central1", "zones/us-central1-a"] only allow VMs in zone
|
282
|
+
# us-central1-a.
|
283
|
+
class LocationPolicy
|
284
|
+
include ::Google::Protobuf::MessageExts
|
285
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
286
|
+
end
|
287
|
+
|
288
|
+
# A new persistent disk.
|
289
|
+
# @!attribute [rw] image
|
290
|
+
# @return [::String]
|
291
|
+
# Name of a public or custom image used as the data source.
|
292
|
+
# @!attribute [rw] snapshot
|
293
|
+
# @return [::String]
|
294
|
+
# Name of a snapshot used as the data source.
|
295
|
+
# @!attribute [rw] type
|
296
|
+
# @return [::String]
|
297
|
+
# Disk type as shown in `gcloud compute disk-types list`
|
298
|
+
# For example, "pd-ssd", "pd-standard", "pd-balanced".
|
299
|
+
# @!attribute [rw] size_gb
|
300
|
+
# @return [::Integer]
|
301
|
+
# Disk size in GB.
|
302
|
+
# This field is ignored if `data_source` is `disk` or `image`.
|
303
|
+
class Disk
|
304
|
+
include ::Google::Protobuf::MessageExts
|
305
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
306
|
+
end
|
307
|
+
|
308
|
+
# A new or an existing persistent disk attached to a VM instance.
|
309
|
+
# @!attribute [rw] new_disk
|
310
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy::Disk]
|
311
|
+
# @!attribute [rw] existing_disk
|
312
|
+
# @return [::String]
|
313
|
+
# Name of an existing PD.
|
314
|
+
# @!attribute [rw] device_name
|
315
|
+
# @return [::String]
|
316
|
+
# Device name that the guest operating system will see.
|
317
|
+
# If not specified, this is default to the disk name.
|
318
|
+
class AttachedDisk
|
319
|
+
include ::Google::Protobuf::MessageExts
|
320
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
321
|
+
end
|
322
|
+
|
323
|
+
# Accelerator describes Compute Engine accelerators to be attached to VMs.
|
324
|
+
# @!attribute [rw] type
|
325
|
+
# @return [::String]
|
326
|
+
# The accelerator type. For example, "nvidia-tesla-t4".
|
327
|
+
# See `gcloud compute accelerator-types list`.
|
328
|
+
# @!attribute [rw] count
|
329
|
+
# @return [::Integer]
|
330
|
+
# The number of accelerators of this type.
|
331
|
+
class Accelerator
|
332
|
+
include ::Google::Protobuf::MessageExts
|
333
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
334
|
+
end
|
335
|
+
|
336
|
+
# InstancePolicy describes an instance type and resources attached to each VM
|
337
|
+
# created by this InstancePolicy.
|
338
|
+
# @!attribute [rw] machine_type
|
339
|
+
# @return [::String]
|
340
|
+
# The Compute Engine machine type.
|
341
|
+
# @!attribute [rw] min_cpu_platform
|
342
|
+
# @return [::String]
|
343
|
+
# The minimum CPU platform.
|
344
|
+
# See
|
345
|
+
# `https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform`.
|
346
|
+
# Not yet implemented.
|
347
|
+
# @!attribute [rw] provisioning_model
|
348
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy::ProvisioningModel]
|
349
|
+
# The provisioning model.
|
350
|
+
# @!attribute [rw] accelerators
|
351
|
+
# @return [::Array<::Google::Cloud::Batch::V1::AllocationPolicy::Accelerator>]
|
352
|
+
# The accelerators attached to each VM instance.
|
353
|
+
# Not yet implemented.
|
354
|
+
# @!attribute [rw] disks
|
355
|
+
# @return [::Array<::Google::Cloud::Batch::V1::AllocationPolicy::AttachedDisk>]
|
356
|
+
# Non-boot disks to be attached for each VM created by this InstancePolicy.
|
357
|
+
# New disks will be deleted when the attached VM is deleted.
|
358
|
+
class InstancePolicy
|
359
|
+
include ::Google::Protobuf::MessageExts
|
360
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
361
|
+
end
|
362
|
+
|
363
|
+
# Either an InstancePolicy or an instance template.
|
364
|
+
# @!attribute [rw] policy
|
365
|
+
# @return [::Google::Cloud::Batch::V1::AllocationPolicy::InstancePolicy]
|
366
|
+
# InstancePolicy.
|
367
|
+
# @!attribute [rw] instance_template
|
368
|
+
# @return [::String]
|
369
|
+
# Name of an instance template used to create VMs.
|
370
|
+
# Named the field as 'instance_template' instead of 'template' to avoid
|
371
|
+
# c++ keyword conflict.
|
372
|
+
class InstancePolicyOrTemplate
|
373
|
+
include ::Google::Protobuf::MessageExts
|
374
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
375
|
+
end
|
376
|
+
|
377
|
+
# A network interface.
|
378
|
+
# @!attribute [rw] network
|
379
|
+
# @return [::String]
|
380
|
+
# The URL of the network resource.
|
381
|
+
# @!attribute [rw] subnetwork
|
382
|
+
# @return [::String]
|
383
|
+
# The URL of the Subnetwork resource.
|
384
|
+
# @!attribute [rw] no_external_ip_address
|
385
|
+
# @return [::Boolean]
|
386
|
+
# Default is false (with an external IP address). Required if
|
387
|
+
# no external public IP address is attached to the VM. If no external
|
388
|
+
# public IP address, additional configuration is required to allow the VM
|
389
|
+
# to access Google Services. See
|
390
|
+
# https://cloud.google.com/vpc/docs/configure-private-google-access and
|
391
|
+
# https://cloud.google.com/nat/docs/gce-example#create-nat for more
|
392
|
+
# information.
|
393
|
+
class NetworkInterface
|
394
|
+
include ::Google::Protobuf::MessageExts
|
395
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
396
|
+
end
|
397
|
+
|
398
|
+
# NetworkPolicy describes VM instance network configurations.
|
399
|
+
# @!attribute [rw] network_interfaces
|
400
|
+
# @return [::Array<::Google::Cloud::Batch::V1::AllocationPolicy::NetworkInterface>]
|
401
|
+
# Network configurations.
|
402
|
+
class NetworkPolicy
|
403
|
+
include ::Google::Protobuf::MessageExts
|
404
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
405
|
+
end
|
406
|
+
|
407
|
+
# @!attribute [rw] key
|
408
|
+
# @return [::String]
|
409
|
+
# @!attribute [rw] value
|
410
|
+
# @return [::String]
|
411
|
+
class LabelsEntry
|
412
|
+
include ::Google::Protobuf::MessageExts
|
413
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
414
|
+
end
|
415
|
+
|
416
|
+
# Compute Engine VM instance provisioning model.
|
417
|
+
module ProvisioningModel
|
418
|
+
# Unspecified.
|
419
|
+
PROVISIONING_MODEL_UNSPECIFIED = 0
|
420
|
+
|
421
|
+
# Standard VM.
|
422
|
+
STANDARD = 1
|
423
|
+
|
424
|
+
# SPOT VM.
|
425
|
+
SPOT = 2
|
426
|
+
|
427
|
+
# Preemptible VM (PVM).
|
428
|
+
#
|
429
|
+
# Above SPOT VM is the preferable model for preemptible VM instances: the
|
430
|
+
# old preemptible VM model (indicated by this field) is the older model,
|
431
|
+
# and has been migrated to use the SPOT model as the underlying technology.
|
432
|
+
# This old model will still be supported.
|
433
|
+
PREEMPTIBLE = 3
|
434
|
+
end
|
435
|
+
end
|
436
|
+
|
437
|
+
# A TaskGroup contains one or multiple Tasks that share the same
|
438
|
+
# Runnable but with different runtime parameters.
|
439
|
+
# @!attribute [r] name
|
440
|
+
# @return [::String]
|
441
|
+
# Output only. TaskGroup name.
|
442
|
+
# The system generates this field based on parent Job name.
|
443
|
+
# For example:
|
444
|
+
# "projects/123456/locations/us-west1/jobs/job01/taskGroups/group01".
|
445
|
+
# @!attribute [rw] task_spec
|
446
|
+
# @return [::Google::Cloud::Batch::V1::TaskSpec]
|
447
|
+
# Required. Tasks in the group share the same task spec.
|
448
|
+
# @!attribute [rw] task_count
|
449
|
+
# @return [::Integer]
|
450
|
+
# Number of Tasks in the TaskGroup.
|
451
|
+
# default is 1
|
452
|
+
# @!attribute [rw] parallelism
|
453
|
+
# @return [::Integer]
|
454
|
+
# Max number of tasks that can run in parallel.
|
455
|
+
# Default to min(task_count, 1000).
|
456
|
+
# @!attribute [rw] task_environments
|
457
|
+
# @return [::Array<::Google::Cloud::Batch::V1::Environment>]
|
458
|
+
# An array of environment variable mappings, which are passed to Tasks with
|
459
|
+
# matching indices. If task_environments is used then task_count should
|
460
|
+
# not be specified in the request (and will be ignored). Task count will be
|
461
|
+
# the length of task_environments.
|
462
|
+
#
|
463
|
+
# Tasks get a BATCH_TASK_INDEX and BATCH_TASK_COUNT environment variable, in
|
464
|
+
# addition to any environment variables set in task_environments, specifying
|
465
|
+
# the number of Tasks in the Task's parent TaskGroup, and the specific Task's
|
466
|
+
# index in the TaskGroup (0 through BATCH_TASK_COUNT - 1).
|
467
|
+
#
|
468
|
+
# task_environments supports up to 200 entries.
|
469
|
+
# @!attribute [rw] task_count_per_node
|
470
|
+
# @return [::Integer]
|
471
|
+
# Max number of tasks that can be run on a VM at the same time.
|
472
|
+
# If not specified, the system will decide a value based on available
|
473
|
+
# compute resources on a VM and task requirements.
|
474
|
+
# @!attribute [rw] require_hosts_file
|
475
|
+
# @return [::Boolean]
|
476
|
+
# When true, Batch will populate a file with a list of all VMs assigned to
|
477
|
+
# the TaskGroup and set the BATCH_HOSTS_FILE environment variable to the path
|
478
|
+
# of that file. Defaults to false.
|
479
|
+
# @!attribute [rw] permissive_ssh
|
480
|
+
# @return [::Boolean]
|
481
|
+
# When true, Batch will configure SSH to allow passwordless login between
|
482
|
+
# VMs running the Batch tasks in the same TaskGroup.
|
483
|
+
class TaskGroup
|
484
|
+
include ::Google::Protobuf::MessageExts
|
485
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
486
|
+
end
|
487
|
+
end
|
488
|
+
end
|
489
|
+
end
|
490
|
+
end
|