google-cloud-dataproc-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) 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/common_resources_pb.rb +15 -0
  7. data/lib/google/cloud/dataproc/v1/autoscaling_policies_pb.rb +81 -0
  8. data/lib/google/cloud/dataproc/v1/autoscaling_policies_services_pb.rb +58 -0
  9. data/lib/google/cloud/dataproc/v1/autoscaling_policy_service/client.rb +734 -0
  10. data/lib/google/cloud/dataproc/v1/autoscaling_policy_service/credentials.rb +51 -0
  11. data/lib/google/cloud/dataproc/v1/autoscaling_policy_service/paths.rb +110 -0
  12. data/lib/google/cloud/dataproc/v1/autoscaling_policy_service.rb +50 -0
  13. data/lib/google/cloud/dataproc/v1/cluster_controller/client.rb +970 -0
  14. data/lib/google/cloud/dataproc/v1/cluster_controller/credentials.rb +51 -0
  15. data/lib/google/cloud/dataproc/v1/cluster_controller/operations.rb +564 -0
  16. data/lib/google/cloud/dataproc/v1/cluster_controller.rb +50 -0
  17. data/lib/google/cloud/dataproc/v1/clusters_pb.rb +235 -0
  18. data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +68 -0
  19. data/lib/google/cloud/dataproc/v1/job_controller/client.rb +980 -0
  20. data/lib/google/cloud/dataproc/v1/job_controller/credentials.rb +51 -0
  21. data/lib/google/cloud/dataproc/v1/job_controller/operations.rb +564 -0
  22. data/lib/google/cloud/dataproc/v1/job_controller.rb +49 -0
  23. data/lib/google/cloud/dataproc/v1/jobs_pb.rb +282 -0
  24. data/lib/google/cloud/dataproc/v1/jobs_services_pb.rb +62 -0
  25. data/lib/google/cloud/dataproc/v1/operations_pb.rb +46 -0
  26. data/lib/google/cloud/dataproc/v1/shared_pb.rb +29 -0
  27. data/lib/google/cloud/dataproc/v1/version.rb +28 -0
  28. data/lib/google/cloud/dataproc/v1/workflow_template_service/client.rb +1024 -0
  29. data/lib/google/cloud/dataproc/v1/workflow_template_service/credentials.rb +51 -0
  30. data/lib/google/cloud/dataproc/v1/workflow_template_service/operations.rb +564 -0
  31. data/lib/google/cloud/dataproc/v1/workflow_template_service/paths.rb +110 -0
  32. data/lib/google/cloud/dataproc/v1/workflow_template_service.rb +51 -0
  33. data/lib/google/cloud/dataproc/v1/workflow_templates_pb.rb +187 -0
  34. data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +104 -0
  35. data/lib/google/cloud/dataproc/v1.rb +38 -0
  36. data/lib/google-cloud-dataproc-v1.rb +21 -0
  37. data/proto_docs/README.md +4 -0
  38. data/proto_docs/google/api/field_behavior.rb +59 -0
  39. data/proto_docs/google/api/resource.rb +247 -0
  40. data/proto_docs/google/cloud/dataproc/v1/autoscaling_policies.rb +272 -0
  41. data/proto_docs/google/cloud/dataproc/v1/clusters.rb +961 -0
  42. data/proto_docs/google/cloud/dataproc/v1/jobs.rb +976 -0
  43. data/proto_docs/google/cloud/dataproc/v1/operations.rb +98 -0
  44. data/proto_docs/google/cloud/dataproc/v1/shared.rb +50 -0
  45. data/proto_docs/google/cloud/dataproc/v1/workflow_templates.rb +693 -0
  46. data/proto_docs/google/longrunning/operations.rb +150 -0
  47. data/proto_docs/google/protobuf/any.rb +138 -0
  48. data/proto_docs/google/protobuf/duration.rb +98 -0
  49. data/proto_docs/google/protobuf/empty.rb +36 -0
  50. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  51. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  52. data/proto_docs/google/rpc/status.rb +46 -0
  53. metadata +205 -0
@@ -0,0 +1,961 @@
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 Dataproc
23
+ module V1
24
+ # Describes the identifying information, config, and status of
25
+ # a cluster of Compute Engine instances.
26
+ # @!attribute [rw] project_id
27
+ # @return [String]
28
+ # Required. The Google Cloud Platform project ID that the cluster belongs to.
29
+ # @!attribute [rw] cluster_name
30
+ # @return [String]
31
+ # Required. The cluster name. Cluster names within a project must be
32
+ # unique. Names of deleted clusters can be reused.
33
+ # @!attribute [rw] config
34
+ # @return [Google::Cloud::Dataproc::V1::ClusterConfig]
35
+ # Required. The cluster config. Note that Dataproc may set
36
+ # default values, and values may change when clusters are updated.
37
+ # @!attribute [rw] labels
38
+ # @return [Google::Protobuf::Map{String => String}]
39
+ # Optional. The labels to associate with this cluster.
40
+ # Label **keys** must contain 1 to 63 characters, and must conform to
41
+ # [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
42
+ # Label **values** may be empty, but, if present, must contain 1 to 63
43
+ # characters, and must conform to [RFC
44
+ # 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
45
+ # associated with a cluster.
46
+ # @!attribute [r] status
47
+ # @return [Google::Cloud::Dataproc::V1::ClusterStatus]
48
+ # Output only. Cluster status.
49
+ # @!attribute [r] status_history
50
+ # @return [Array<Google::Cloud::Dataproc::V1::ClusterStatus>]
51
+ # Output only. The previous cluster status.
52
+ # @!attribute [r] cluster_uuid
53
+ # @return [String]
54
+ # Output only. A cluster UUID (Unique Universal Identifier). Dataproc
55
+ # generates this value when it creates the cluster.
56
+ # @!attribute [r] metrics
57
+ # @return [Google::Cloud::Dataproc::V1::ClusterMetrics]
58
+ # Output only. Contains cluster daemon metrics such as HDFS and YARN stats.
59
+ #
60
+ # **Beta Feature**: This report is available for testing purposes only. It
61
+ # may be changed before final release.
62
+ class Cluster
63
+ include Google::Protobuf::MessageExts
64
+ extend Google::Protobuf::MessageExts::ClassMethods
65
+
66
+ # @!attribute [rw] key
67
+ # @return [String]
68
+ # @!attribute [rw] value
69
+ # @return [String]
70
+ class LabelsEntry
71
+ include Google::Protobuf::MessageExts
72
+ extend Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+ end
75
+
76
+ # The cluster config.
77
+ # @!attribute [rw] config_bucket
78
+ # @return [String]
79
+ # Optional. A Cloud Storage bucket used to stage job
80
+ # dependencies, config files, and job driver console output.
81
+ # If you do not specify a staging bucket, Cloud
82
+ # Dataproc will determine a Cloud Storage location (US,
83
+ # ASIA, or EU) for your cluster's staging bucket according to the
84
+ # Compute Engine zone where your cluster is deployed, and then create
85
+ # and manage this project-level, per-location bucket (see
86
+ # [Dataproc staging
87
+ # bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).
88
+ # @!attribute [rw] gce_cluster_config
89
+ # @return [Google::Cloud::Dataproc::V1::GceClusterConfig]
90
+ # Optional. The shared Compute Engine config settings for
91
+ # all instances in a cluster.
92
+ # @!attribute [rw] master_config
93
+ # @return [Google::Cloud::Dataproc::V1::InstanceGroupConfig]
94
+ # Optional. The Compute Engine config settings for
95
+ # the master instance in a cluster.
96
+ # @!attribute [rw] worker_config
97
+ # @return [Google::Cloud::Dataproc::V1::InstanceGroupConfig]
98
+ # Optional. The Compute Engine config settings for
99
+ # worker instances in a cluster.
100
+ # @!attribute [rw] secondary_worker_config
101
+ # @return [Google::Cloud::Dataproc::V1::InstanceGroupConfig]
102
+ # Optional. The Compute Engine config settings for
103
+ # additional worker instances in a cluster.
104
+ # @!attribute [rw] software_config
105
+ # @return [Google::Cloud::Dataproc::V1::SoftwareConfig]
106
+ # Optional. The config settings for software inside the cluster.
107
+ # @!attribute [rw] initialization_actions
108
+ # @return [Array<Google::Cloud::Dataproc::V1::NodeInitializationAction>]
109
+ # Optional. Commands to execute on each node after config is
110
+ # completed. By default, executables are run on master and all worker nodes.
111
+ # You can test a node's `role` metadata to run an executable on
112
+ # a master or worker node, as shown below using `curl` (you can also use
113
+ # `wget`):
114
+ #
115
+ # ROLE=$(curl -H Metadata-Flavor:Google
116
+ # http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
117
+ # if [[ "${ROLE}" == 'Master' ]]; then
118
+ # ... master specific actions ...
119
+ # else
120
+ # ... worker specific actions ...
121
+ # fi
122
+ # @!attribute [rw] encryption_config
123
+ # @return [Google::Cloud::Dataproc::V1::EncryptionConfig]
124
+ # Optional. Encryption settings for the cluster.
125
+ # @!attribute [rw] autoscaling_config
126
+ # @return [Google::Cloud::Dataproc::V1::AutoscalingConfig]
127
+ # Optional. Autoscaling config for the policy associated with the cluster.
128
+ # Cluster does not autoscale if this field is unset.
129
+ # @!attribute [rw] security_config
130
+ # @return [Google::Cloud::Dataproc::V1::SecurityConfig]
131
+ # Optional. Security settings for the cluster.
132
+ # @!attribute [rw] lifecycle_config
133
+ # @return [Google::Cloud::Dataproc::V1::LifecycleConfig]
134
+ # Optional. Lifecycle setting for the cluster.
135
+ class ClusterConfig
136
+ include Google::Protobuf::MessageExts
137
+ extend Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+
140
+ # Autoscaling Policy config associated with the cluster.
141
+ # @!attribute [rw] policy_uri
142
+ # @return [String]
143
+ # Optional. The autoscaling policy used by the cluster.
144
+ #
145
+ # Only resource names including projectid and location (region) are valid.
146
+ # Examples:
147
+ #
148
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`
149
+ # * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`
150
+ #
151
+ # Note that the policy must be in the same project and Dataproc region.
152
+ class AutoscalingConfig
153
+ include Google::Protobuf::MessageExts
154
+ extend Google::Protobuf::MessageExts::ClassMethods
155
+ end
156
+
157
+ # Encryption settings for the cluster.
158
+ # @!attribute [rw] gce_pd_kms_key_name
159
+ # @return [String]
160
+ # Optional. The Cloud KMS key name to use for PD disk encryption for all
161
+ # instances in the cluster.
162
+ class EncryptionConfig
163
+ include Google::Protobuf::MessageExts
164
+ extend Google::Protobuf::MessageExts::ClassMethods
165
+ end
166
+
167
+ # Common config settings for resources of Compute Engine cluster
168
+ # instances, applicable to all instances in the cluster.
169
+ # @!attribute [rw] zone_uri
170
+ # @return [String]
171
+ # Optional. The zone where the Compute Engine cluster will be located.
172
+ # On a create request, it is required in the "global" region. If omitted
173
+ # in a non-global Dataproc region, the service will pick a zone in the
174
+ # corresponding Compute Engine region. On a get request, zone will
175
+ # always be present.
176
+ #
177
+ # A full URL, partial URI, or short name are valid. Examples:
178
+ #
179
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`
180
+ # * `projects/[project_id]/zones/[zone]`
181
+ # * `us-central1-f`
182
+ # @!attribute [rw] network_uri
183
+ # @return [String]
184
+ # Optional. The Compute Engine network to be used for machine
185
+ # communications. Cannot be specified with subnetwork_uri. If neither
186
+ # `network_uri` nor `subnetwork_uri` is specified, the "default" network of
187
+ # the project is used, if it exists. Cannot be a "Custom Subnet Network" (see
188
+ # [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks) for
189
+ # more information).
190
+ #
191
+ # A full URL, partial URI, or short name are valid. Examples:
192
+ #
193
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`
194
+ # * `projects/[project_id]/regions/global/default`
195
+ # * `default`
196
+ # @!attribute [rw] subnetwork_uri
197
+ # @return [String]
198
+ # Optional. The Compute Engine subnetwork to be used for machine
199
+ # communications. Cannot be specified with network_uri.
200
+ #
201
+ # A full URL, partial URI, or short name are valid. Examples:
202
+ #
203
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`
204
+ # * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
205
+ # * `sub0`
206
+ # @!attribute [rw] internal_ip_only
207
+ # @return [Boolean]
208
+ # Optional. If true, all instances in the cluster will only have internal IP
209
+ # addresses. By default, clusters are not restricted to internal IP
210
+ # addresses, and will have ephemeral external IP addresses assigned to each
211
+ # instance. This `internal_ip_only` restriction can only be enabled for
212
+ # subnetwork enabled networks, and all off-cluster dependencies must be
213
+ # configured to be accessible without external IP addresses.
214
+ # @!attribute [rw] service_account
215
+ # @return [String]
216
+ # Optional. The [Dataproc service
217
+ # account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_cloud_dataproc)
218
+ # (also see [VM Data Plane
219
+ # identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))
220
+ # used by Dataproc cluster VM instances to access Google Cloud Platform
221
+ # services.
222
+ #
223
+ # If not specified, the
224
+ # [Compute Engine default service
225
+ # account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
226
+ # is used.
227
+ # @!attribute [rw] service_account_scopes
228
+ # @return [Array<String>]
229
+ # Optional. The URIs of service account scopes to be included in
230
+ # Compute Engine instances. The following base set of scopes is always
231
+ # included:
232
+ #
233
+ # * https://www.googleapis.com/auth/cloud.useraccounts.readonly
234
+ # * https://www.googleapis.com/auth/devstorage.read_write
235
+ # * https://www.googleapis.com/auth/logging.write
236
+ #
237
+ # If no scopes are specified, the following defaults are also provided:
238
+ #
239
+ # * https://www.googleapis.com/auth/bigquery
240
+ # * https://www.googleapis.com/auth/bigtable.admin.table
241
+ # * https://www.googleapis.com/auth/bigtable.data
242
+ # * https://www.googleapis.com/auth/devstorage.full_control
243
+ # @!attribute [rw] tags
244
+ # @return [Array<String>]
245
+ # The Compute Engine tags to add to all instances (see [Tagging
246
+ # instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
247
+ # @!attribute [rw] metadata
248
+ # @return [Google::Protobuf::Map{String => String}]
249
+ # The Compute Engine metadata entries to add to all instances (see
250
+ # [Project and instance
251
+ # metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
252
+ # @!attribute [rw] reservation_affinity
253
+ # @return [Google::Cloud::Dataproc::V1::ReservationAffinity]
254
+ # Optional. Reservation Affinity for consuming Zonal reservation.
255
+ class GceClusterConfig
256
+ include Google::Protobuf::MessageExts
257
+ extend Google::Protobuf::MessageExts::ClassMethods
258
+
259
+ # @!attribute [rw] key
260
+ # @return [String]
261
+ # @!attribute [rw] value
262
+ # @return [String]
263
+ class MetadataEntry
264
+ include Google::Protobuf::MessageExts
265
+ extend Google::Protobuf::MessageExts::ClassMethods
266
+ end
267
+ end
268
+
269
+ # The config settings for Compute Engine resources in
270
+ # an instance group, such as a master or worker group.
271
+ # @!attribute [rw] num_instances
272
+ # @return [Integer]
273
+ # Optional. The number of VM instances in the instance group.
274
+ # For master instance groups, must be set to 1.
275
+ # @!attribute [r] instance_names
276
+ # @return [Array<String>]
277
+ # Output only. The list of instance names. Dataproc derives the names
278
+ # from `cluster_name`, `num_instances`, and the instance group.
279
+ # @!attribute [rw] image_uri
280
+ # @return [String]
281
+ # Optional. The Compute Engine image resource used for cluster instances.
282
+ #
283
+ # The URI can represent an image or image family.
284
+ #
285
+ # Image examples:
286
+ #
287
+ # * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`
288
+ # * `projects/[project_id]/global/images/[image-id]`
289
+ # * `image-id`
290
+ #
291
+ # Image family examples. Dataproc will use the most recent
292
+ # image from the family:
293
+ #
294
+ # * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`
295
+ # * `projects/[project_id]/global/images/family/[custom-image-family-name]`
296
+ #
297
+ # If the URI is unspecified, it will be inferred from
298
+ # `SoftwareConfig.image_version` or the system default.
299
+ # @!attribute [rw] machine_type_uri
300
+ # @return [String]
301
+ # Optional. The Compute Engine machine type used for cluster instances.
302
+ #
303
+ # A full URL, partial URI, or short name are valid. Examples:
304
+ #
305
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
306
+ # * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
307
+ # * `n1-standard-2`
308
+ #
309
+ # **Auto Zone Exception**: If you are using the Dataproc
310
+ # [Auto Zone
311
+ # Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
312
+ # feature, you must use the short name of the machine type
313
+ # resource, for example, `n1-standard-2`.
314
+ # @!attribute [rw] disk_config
315
+ # @return [Google::Cloud::Dataproc::V1::DiskConfig]
316
+ # Optional. Disk option config settings.
317
+ # @!attribute [r] is_preemptible
318
+ # @return [Boolean]
319
+ # Output only. Specifies that this instance group contains preemptible
320
+ # instances.
321
+ # @!attribute [r] managed_group_config
322
+ # @return [Google::Cloud::Dataproc::V1::ManagedGroupConfig]
323
+ # Output only. The config for Compute Engine Instance Group
324
+ # Manager that manages this group.
325
+ # This is only used for preemptible instance groups.
326
+ # @!attribute [rw] accelerators
327
+ # @return [Array<Google::Cloud::Dataproc::V1::AcceleratorConfig>]
328
+ # Optional. The Compute Engine accelerator configuration for these
329
+ # instances.
330
+ # @!attribute [rw] min_cpu_platform
331
+ # @return [String]
332
+ # Optional. Specifies the minimum cpu platform for the Instance Group.
333
+ # See [Dataproc -> Minimum CPU
334
+ # Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).
335
+ class InstanceGroupConfig
336
+ include Google::Protobuf::MessageExts
337
+ extend Google::Protobuf::MessageExts::ClassMethods
338
+ end
339
+
340
+ # Specifies the resources used to actively manage an instance group.
341
+ # @!attribute [r] instance_template_name
342
+ # @return [String]
343
+ # Output only. The name of the Instance Template used for the Managed
344
+ # Instance Group.
345
+ # @!attribute [r] instance_group_manager_name
346
+ # @return [String]
347
+ # Output only. The name of the Instance Group Manager for this group.
348
+ class ManagedGroupConfig
349
+ include Google::Protobuf::MessageExts
350
+ extend Google::Protobuf::MessageExts::ClassMethods
351
+ end
352
+
353
+ # Specifies the type and number of accelerator cards attached to the instances
354
+ # of an instance. See [GPUs on Compute
355
+ # Engine](https://cloud.google.com/compute/docs/gpus/).
356
+ # @!attribute [rw] accelerator_type_uri
357
+ # @return [String]
358
+ # Full URL, partial URI, or short name of the accelerator type resource to
359
+ # expose to this instance. See
360
+ # [Compute Engine
361
+ # AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).
362
+ #
363
+ # Examples:
364
+ #
365
+ # * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
366
+ # * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
367
+ # * `nvidia-tesla-k80`
368
+ #
369
+ # **Auto Zone Exception**: If you are using the Dataproc
370
+ # [Auto Zone
371
+ # Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
372
+ # feature, you must use the short name of the accelerator type
373
+ # resource, for example, `nvidia-tesla-k80`.
374
+ # @!attribute [rw] accelerator_count
375
+ # @return [Integer]
376
+ # The number of the accelerator cards of this type exposed to this instance.
377
+ class AcceleratorConfig
378
+ include Google::Protobuf::MessageExts
379
+ extend Google::Protobuf::MessageExts::ClassMethods
380
+ end
381
+
382
+ # Specifies the config of disk options for a group of VM instances.
383
+ # @!attribute [rw] boot_disk_type
384
+ # @return [String]
385
+ # Optional. Type of the boot disk (default is "pd-standard").
386
+ # Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or
387
+ # "pd-standard" (Persistent Disk Hard Disk Drive).
388
+ # @!attribute [rw] boot_disk_size_gb
389
+ # @return [Integer]
390
+ # Optional. Size in GB of the boot disk (default is 500GB).
391
+ # @!attribute [rw] num_local_ssds
392
+ # @return [Integer]
393
+ # Optional. Number of attached SSDs, from 0 to 4 (default is 0).
394
+ # If SSDs are not attached, the boot disk is used to store runtime logs and
395
+ # [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data.
396
+ # If one or more SSDs are attached, this runtime bulk
397
+ # data is spread across them, and the boot disk contains only basic
398
+ # config and installed binaries.
399
+ class DiskConfig
400
+ include Google::Protobuf::MessageExts
401
+ extend Google::Protobuf::MessageExts::ClassMethods
402
+ end
403
+
404
+ # Specifies an executable to run on a fully configured node and a
405
+ # timeout period for executable completion.
406
+ # @!attribute [rw] executable_file
407
+ # @return [String]
408
+ # Required. Cloud Storage URI of executable file.
409
+ # @!attribute [rw] execution_timeout
410
+ # @return [Google::Protobuf::Duration]
411
+ # Optional. Amount of time executable has to complete. Default is
412
+ # 10 minutes (see JSON representation of
413
+ # [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
414
+ #
415
+ # Cluster creation fails with an explanatory error message (the
416
+ # name of the executable that caused the error and the exceeded timeout
417
+ # period) if the executable is not completed at end of the timeout period.
418
+ class NodeInitializationAction
419
+ include Google::Protobuf::MessageExts
420
+ extend Google::Protobuf::MessageExts::ClassMethods
421
+ end
422
+
423
+ # The status of a cluster and its instances.
424
+ # @!attribute [r] state
425
+ # @return [Google::Cloud::Dataproc::V1::ClusterStatus::State]
426
+ # Output only. The cluster's state.
427
+ # @!attribute [r] detail
428
+ # @return [String]
429
+ # Optional. Output only. Details of cluster's state.
430
+ # @!attribute [r] state_start_time
431
+ # @return [Google::Protobuf::Timestamp]
432
+ # Output only. Time when this state was entered (see JSON representation of
433
+ # [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).
434
+ # @!attribute [r] substate
435
+ # @return [Google::Cloud::Dataproc::V1::ClusterStatus::Substate]
436
+ # Output only. Additional state information that includes
437
+ # status reported by the agent.
438
+ class ClusterStatus
439
+ include Google::Protobuf::MessageExts
440
+ extend Google::Protobuf::MessageExts::ClassMethods
441
+
442
+ # The cluster state.
443
+ module State
444
+ # The cluster state is unknown.
445
+ UNKNOWN = 0
446
+
447
+ # The cluster is being created and set up. It is not ready for use.
448
+ CREATING = 1
449
+
450
+ # The cluster is currently running and healthy. It is ready for use.
451
+ RUNNING = 2
452
+
453
+ # The cluster encountered an error. It is not ready for use.
454
+ ERROR = 3
455
+
456
+ # The cluster is being deleted. It cannot be used.
457
+ DELETING = 4
458
+
459
+ # The cluster is being updated. It continues to accept and process jobs.
460
+ UPDATING = 5
461
+ end
462
+
463
+ # The cluster substate.
464
+ module Substate
465
+ # The cluster substate is unknown.
466
+ UNSPECIFIED = 0
467
+
468
+ # The cluster is known to be in an unhealthy state
469
+ # (for example, critical daemons are not running or HDFS capacity is
470
+ # exhausted).
471
+ #
472
+ # Applies to RUNNING state.
473
+ UNHEALTHY = 1
474
+
475
+ # The agent-reported status is out of date (may occur if
476
+ # Dataproc loses communication with Agent).
477
+ #
478
+ # Applies to RUNNING state.
479
+ STALE_STATUS = 2
480
+ end
481
+ end
482
+
483
+ # Security related configuration, including Kerberos.
484
+ # @!attribute [rw] kerberos_config
485
+ # @return [Google::Cloud::Dataproc::V1::KerberosConfig]
486
+ # Kerberos related configuration.
487
+ class SecurityConfig
488
+ include Google::Protobuf::MessageExts
489
+ extend Google::Protobuf::MessageExts::ClassMethods
490
+ end
491
+
492
+ # Specifies Kerberos related configuration.
493
+ # @!attribute [rw] enable_kerberos
494
+ # @return [Boolean]
495
+ # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set
496
+ # this field to true to enable Kerberos on a cluster.
497
+ # @!attribute [rw] root_principal_password_uri
498
+ # @return [String]
499
+ # Required. The Cloud Storage URI of a KMS encrypted file containing the root
500
+ # principal password.
501
+ # @!attribute [rw] kms_key_uri
502
+ # @return [String]
503
+ # Required. The uri of the KMS key used to encrypt various sensitive
504
+ # files.
505
+ # @!attribute [rw] keystore_uri
506
+ # @return [String]
507
+ # Optional. The Cloud Storage URI of the keystore file used for SSL
508
+ # encryption. If not provided, Dataproc will provide a self-signed
509
+ # certificate.
510
+ # @!attribute [rw] truststore_uri
511
+ # @return [String]
512
+ # Optional. The Cloud Storage URI of the truststore file used for SSL
513
+ # encryption. If not provided, Dataproc will provide a self-signed
514
+ # certificate.
515
+ # @!attribute [rw] keystore_password_uri
516
+ # @return [String]
517
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
518
+ # password to the user provided keystore. For the self-signed certificate,
519
+ # this password is generated by Dataproc.
520
+ # @!attribute [rw] key_password_uri
521
+ # @return [String]
522
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
523
+ # password to the user provided key. For the self-signed certificate, this
524
+ # password is generated by Dataproc.
525
+ # @!attribute [rw] truststore_password_uri
526
+ # @return [String]
527
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
528
+ # password to the user provided truststore. For the self-signed certificate,
529
+ # this password is generated by Dataproc.
530
+ # @!attribute [rw] cross_realm_trust_realm
531
+ # @return [String]
532
+ # Optional. The remote realm the Dataproc on-cluster KDC will trust, should
533
+ # the user enable cross realm trust.
534
+ # @!attribute [rw] cross_realm_trust_kdc
535
+ # @return [String]
536
+ # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross
537
+ # realm trust relationship.
538
+ # @!attribute [rw] cross_realm_trust_admin_server
539
+ # @return [String]
540
+ # Optional. The admin server (IP or hostname) for the remote trusted realm in
541
+ # a cross realm trust relationship.
542
+ # @!attribute [rw] cross_realm_trust_shared_password_uri
543
+ # @return [String]
544
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
545
+ # shared password between the on-cluster Kerberos realm and the remote
546
+ # trusted realm, in a cross realm trust relationship.
547
+ # @!attribute [rw] kdc_db_key_uri
548
+ # @return [String]
549
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
550
+ # master key of the KDC database.
551
+ # @!attribute [rw] tgt_lifetime_hours
552
+ # @return [Integer]
553
+ # Optional. The lifetime of the ticket granting ticket, in hours.
554
+ # If not specified, or user specifies 0, then default value 10
555
+ # will be used.
556
+ # @!attribute [rw] realm
557
+ # @return [String]
558
+ # Optional. The name of the on-cluster Kerberos realm.
559
+ # If not specified, the uppercased domain of hostnames will be the realm.
560
+ class KerberosConfig
561
+ include Google::Protobuf::MessageExts
562
+ extend Google::Protobuf::MessageExts::ClassMethods
563
+ end
564
+
565
+ # Specifies the selection and config of software inside the cluster.
566
+ # @!attribute [rw] image_version
567
+ # @return [String]
568
+ # Optional. The version of software inside the cluster. It must be one of the
569
+ # supported [Dataproc
570
+ # Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_cloud_dataproc_versions),
571
+ # such as "1.2" (including a subminor version, such as "1.2.29"), or the
572
+ # ["preview"
573
+ # version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).
574
+ # If unspecified, it defaults to the latest Debian version.
575
+ # @!attribute [rw] properties
576
+ # @return [Google::Protobuf::Map{String => String}]
577
+ # Optional. The properties to set on daemon config files.
578
+ #
579
+ # Property keys are specified in `prefix:property` format, for example
580
+ # `core:hadoop.tmp.dir`. The following are supported prefixes
581
+ # and their mappings:
582
+ #
583
+ # * capacity-scheduler: `capacity-scheduler.xml`
584
+ # * core: `core-site.xml`
585
+ # * distcp: `distcp-default.xml`
586
+ # * hdfs: `hdfs-site.xml`
587
+ # * hive: `hive-site.xml`
588
+ # * mapred: `mapred-site.xml`
589
+ # * pig: `pig.properties`
590
+ # * spark: `spark-defaults.conf`
591
+ # * yarn: `yarn-site.xml`
592
+ #
593
+ # For more information, see [Cluster
594
+ # properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
595
+ # @!attribute [rw] optional_components
596
+ # @return [Array<Google::Cloud::Dataproc::V1::Component>]
597
+ # Optional. The set of components to activate on the cluster.
598
+ class SoftwareConfig
599
+ include Google::Protobuf::MessageExts
600
+ extend Google::Protobuf::MessageExts::ClassMethods
601
+
602
+ # @!attribute [rw] key
603
+ # @return [String]
604
+ # @!attribute [rw] value
605
+ # @return [String]
606
+ class PropertiesEntry
607
+ include Google::Protobuf::MessageExts
608
+ extend Google::Protobuf::MessageExts::ClassMethods
609
+ end
610
+ end
611
+
612
+ # Specifies the cluster auto-delete schedule configuration.
613
+ # @!attribute [rw] idle_delete_ttl
614
+ # @return [Google::Protobuf::Duration]
615
+ # Optional. The duration to keep the cluster alive while idling (when no jobs
616
+ # are running). Passing this threshold will cause the cluster to be
617
+ # deleted. Minimum value is 10 minutes; maximum value is 14 days (see JSON
618
+ # representation of
619
+ # [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
620
+ # @!attribute [rw] auto_delete_time
621
+ # @return [Google::Protobuf::Timestamp]
622
+ # Optional. The time when cluster will be auto-deleted (see JSON representation of
623
+ # [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).
624
+ # @!attribute [rw] auto_delete_ttl
625
+ # @return [Google::Protobuf::Duration]
626
+ # Optional. The lifetime duration of cluster. The cluster will be
627
+ # auto-deleted at the end of this period. Minimum value is 10 minutes;
628
+ # maximum value is 14 days (see JSON representation of
629
+ # [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
630
+ # @!attribute [r] idle_start_time
631
+ # @return [Google::Protobuf::Timestamp]
632
+ # Output only. The time when cluster became idle (most recent job finished)
633
+ # and became eligible for deletion due to idleness (see JSON representation
634
+ # of
635
+ # [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).
636
+ class LifecycleConfig
637
+ include Google::Protobuf::MessageExts
638
+ extend Google::Protobuf::MessageExts::ClassMethods
639
+ end
640
+
641
+ # Contains cluster daemon metrics, such as HDFS and YARN stats.
642
+ #
643
+ # **Beta Feature**: This report is available for testing purposes only. It may
644
+ # be changed before final release.
645
+ # @!attribute [rw] hdfs_metrics
646
+ # @return [Google::Protobuf::Map{String => Integer}]
647
+ # The HDFS metrics.
648
+ # @!attribute [rw] yarn_metrics
649
+ # @return [Google::Protobuf::Map{String => Integer}]
650
+ # The YARN metrics.
651
+ class ClusterMetrics
652
+ include Google::Protobuf::MessageExts
653
+ extend Google::Protobuf::MessageExts::ClassMethods
654
+
655
+ # @!attribute [rw] key
656
+ # @return [String]
657
+ # @!attribute [rw] value
658
+ # @return [Integer]
659
+ class HdfsMetricsEntry
660
+ include Google::Protobuf::MessageExts
661
+ extend Google::Protobuf::MessageExts::ClassMethods
662
+ end
663
+
664
+ # @!attribute [rw] key
665
+ # @return [String]
666
+ # @!attribute [rw] value
667
+ # @return [Integer]
668
+ class YarnMetricsEntry
669
+ include Google::Protobuf::MessageExts
670
+ extend Google::Protobuf::MessageExts::ClassMethods
671
+ end
672
+ end
673
+
674
+ # A request to create a cluster.
675
+ # @!attribute [rw] project_id
676
+ # @return [String]
677
+ # Required. The ID of the Google Cloud Platform project that the cluster
678
+ # belongs to.
679
+ # @!attribute [rw] region
680
+ # @return [String]
681
+ # Required. The Dataproc region in which to handle the request.
682
+ # @!attribute [rw] cluster
683
+ # @return [Google::Cloud::Dataproc::V1::Cluster]
684
+ # Required. The cluster to create.
685
+ # @!attribute [rw] request_id
686
+ # @return [String]
687
+ # Optional. A unique id used to identify the request. If the server
688
+ # receives two {Google::Cloud::Dataproc::V1::CreateClusterRequest CreateClusterRequest} requests with the same
689
+ # id, then the second request will be ignored and the
690
+ # first {Google::Longrunning::Operation google.longrunning.Operation} created and stored in the backend
691
+ # is returned.
692
+ #
693
+ # It is recommended to always set this value to a
694
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
695
+ #
696
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
697
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
698
+ class CreateClusterRequest
699
+ include Google::Protobuf::MessageExts
700
+ extend Google::Protobuf::MessageExts::ClassMethods
701
+ end
702
+
703
+ # A request to update a cluster.
704
+ # @!attribute [rw] project_id
705
+ # @return [String]
706
+ # Required. The ID of the Google Cloud Platform project the
707
+ # cluster belongs to.
708
+ # @!attribute [rw] region
709
+ # @return [String]
710
+ # Required. The Dataproc region in which to handle the request.
711
+ # @!attribute [rw] cluster_name
712
+ # @return [String]
713
+ # Required. The cluster name.
714
+ # @!attribute [rw] cluster
715
+ # @return [Google::Cloud::Dataproc::V1::Cluster]
716
+ # Required. The changes to the cluster.
717
+ # @!attribute [rw] graceful_decommission_timeout
718
+ # @return [Google::Protobuf::Duration]
719
+ # Optional. Timeout for graceful YARN decomissioning. Graceful
720
+ # decommissioning allows removing nodes from the cluster without
721
+ # interrupting jobs in progress. Timeout specifies how long to wait for jobs
722
+ # in progress to finish before forcefully removing nodes (and potentially
723
+ # interrupting jobs). Default timeout is 0 (for forceful decommission), and
724
+ # the maximum allowed timeout is 1 day. (see JSON representation of
725
+ # [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
726
+ #
727
+ # Only supported on Dataproc image versions 1.2 and higher.
728
+ # @!attribute [rw] update_mask
729
+ # @return [Google::Protobuf::FieldMask]
730
+ # Required. Specifies the path, relative to `Cluster`, of
731
+ # the field to update. For example, to change the number of workers
732
+ # in a cluster to 5, the `update_mask` parameter would be
733
+ # specified as `config.worker_config.num_instances`,
734
+ # and the `PATCH` request body would specify the new value, as follows:
735
+ #
736
+ # {
737
+ # "config":{
738
+ # "workerConfig":{
739
+ # "numInstances":"5"
740
+ # }
741
+ # }
742
+ # }
743
+ # Similarly, to change the number of preemptible workers in a cluster to 5,
744
+ # the `update_mask` parameter would be
745
+ # `config.secondary_worker_config.num_instances`, and the `PATCH` request
746
+ # body would be set as follows:
747
+ #
748
+ # {
749
+ # "config":{
750
+ # "secondaryWorkerConfig":{
751
+ # "numInstances":"5"
752
+ # }
753
+ # }
754
+ # }
755
+ # <strong>Note:</strong> Currently, only the following fields can be updated:
756
+ #
757
+ # <table>
758
+ # <tbody>
759
+ # <tr>
760
+ # <td><strong>Mask</strong></td>
761
+ # <td><strong>Purpose</strong></td>
762
+ # </tr>
763
+ # <tr>
764
+ # <td><strong><em>labels</em></strong></td>
765
+ # <td>Update labels</td>
766
+ # </tr>
767
+ # <tr>
768
+ # <td><strong><em>config.worker_config.num_instances</em></strong></td>
769
+ # <td>Resize primary worker group</td>
770
+ # </tr>
771
+ # <tr>
772
+ # <td><strong><em>config.secondary_worker_config.num_instances</em></strong></td>
773
+ # <td>Resize secondary worker group</td>
774
+ # </tr>
775
+ # <tr>
776
+ # <td>config.autoscaling_config.policy_uri</td><td>Use, stop using, or
777
+ # change autoscaling policies</td>
778
+ # </tr>
779
+ # </tbody>
780
+ # </table>
781
+ # @!attribute [rw] request_id
782
+ # @return [String]
783
+ # Optional. A unique id used to identify the request. If the server
784
+ # receives two {Google::Cloud::Dataproc::V1::UpdateClusterRequest UpdateClusterRequest} requests with the same
785
+ # id, then the second request will be ignored and the
786
+ # first {Google::Longrunning::Operation google.longrunning.Operation} created and stored in the
787
+ # backend is returned.
788
+ #
789
+ # It is recommended to always set this value to a
790
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
791
+ #
792
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
793
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
794
+ class UpdateClusterRequest
795
+ include Google::Protobuf::MessageExts
796
+ extend Google::Protobuf::MessageExts::ClassMethods
797
+ end
798
+
799
+ # A request to delete a cluster.
800
+ # @!attribute [rw] project_id
801
+ # @return [String]
802
+ # Required. The ID of the Google Cloud Platform project that the cluster
803
+ # belongs to.
804
+ # @!attribute [rw] region
805
+ # @return [String]
806
+ # Required. The Dataproc region in which to handle the request.
807
+ # @!attribute [rw] cluster_name
808
+ # @return [String]
809
+ # Required. The cluster name.
810
+ # @!attribute [rw] cluster_uuid
811
+ # @return [String]
812
+ # Optional. Specifying the `cluster_uuid` means the RPC should fail
813
+ # (with error NOT_FOUND) if cluster with specified UUID does not exist.
814
+ # @!attribute [rw] request_id
815
+ # @return [String]
816
+ # Optional. A unique id used to identify the request. If the server
817
+ # receives two {Google::Cloud::Dataproc::V1::DeleteClusterRequest DeleteClusterRequest} requests with the same
818
+ # id, then the second request will be ignored and the
819
+ # first {Google::Longrunning::Operation google.longrunning.Operation} created and stored in the
820
+ # backend is returned.
821
+ #
822
+ # It is recommended to always set this value to a
823
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
824
+ #
825
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
826
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
827
+ class DeleteClusterRequest
828
+ include Google::Protobuf::MessageExts
829
+ extend Google::Protobuf::MessageExts::ClassMethods
830
+ end
831
+
832
+ # Request to get the resource representation for a cluster in a project.
833
+ # @!attribute [rw] project_id
834
+ # @return [String]
835
+ # Required. The ID of the Google Cloud Platform project that the cluster
836
+ # belongs to.
837
+ # @!attribute [rw] region
838
+ # @return [String]
839
+ # Required. The Dataproc region in which to handle the request.
840
+ # @!attribute [rw] cluster_name
841
+ # @return [String]
842
+ # Required. The cluster name.
843
+ class GetClusterRequest
844
+ include Google::Protobuf::MessageExts
845
+ extend Google::Protobuf::MessageExts::ClassMethods
846
+ end
847
+
848
+ # A request to list the clusters in a project.
849
+ # @!attribute [rw] project_id
850
+ # @return [String]
851
+ # Required. The ID of the Google Cloud Platform project that the cluster
852
+ # belongs to.
853
+ # @!attribute [rw] region
854
+ # @return [String]
855
+ # Required. The Dataproc region in which to handle the request.
856
+ # @!attribute [rw] filter
857
+ # @return [String]
858
+ # Optional. A filter constraining the clusters to list. Filters are
859
+ # case-sensitive and have the following syntax:
860
+ #
861
+ # field = value [AND [field = value]] ...
862
+ #
863
+ # where **field** is one of `status.state`, `clusterName`, or `labels.[KEY]`,
864
+ # and `[KEY]` is a label key. **value** can be `*` to match all values.
865
+ # `status.state` can be one of the following: `ACTIVE`, `INACTIVE`,
866
+ # `CREATING`, `RUNNING`, `ERROR`, `DELETING`, or `UPDATING`. `ACTIVE`
867
+ # contains the `CREATING`, `UPDATING`, and `RUNNING` states. `INACTIVE`
868
+ # contains the `DELETING` and `ERROR` states.
869
+ # `clusterName` is the name of the cluster provided at creation time.
870
+ # Only the logical `AND` operator is supported; space-separated items are
871
+ # treated as having an implicit `AND` operator.
872
+ #
873
+ # Example filter:
874
+ #
875
+ # status.state = ACTIVE AND clusterName = mycluster
876
+ # AND labels.env = staging AND labels.starred = *
877
+ # @!attribute [rw] page_size
878
+ # @return [Integer]
879
+ # Optional. The standard List page size.
880
+ # @!attribute [rw] page_token
881
+ # @return [String]
882
+ # Optional. The standard List page token.
883
+ class ListClustersRequest
884
+ include Google::Protobuf::MessageExts
885
+ extend Google::Protobuf::MessageExts::ClassMethods
886
+ end
887
+
888
+ # The list of all clusters in a project.
889
+ # @!attribute [r] clusters
890
+ # @return [Array<Google::Cloud::Dataproc::V1::Cluster>]
891
+ # Output only. The clusters in the project.
892
+ # @!attribute [r] next_page_token
893
+ # @return [String]
894
+ # Output only. This token is included in the response if there are more
895
+ # results to fetch. To fetch additional results, provide this value as the
896
+ # `page_token` in a subsequent `ListClustersRequest`.
897
+ class ListClustersResponse
898
+ include Google::Protobuf::MessageExts
899
+ extend Google::Protobuf::MessageExts::ClassMethods
900
+ end
901
+
902
+ # A request to collect cluster diagnostic information.
903
+ # @!attribute [rw] project_id
904
+ # @return [String]
905
+ # Required. The ID of the Google Cloud Platform project that the cluster
906
+ # belongs to.
907
+ # @!attribute [rw] region
908
+ # @return [String]
909
+ # Required. The Dataproc region in which to handle the request.
910
+ # @!attribute [rw] cluster_name
911
+ # @return [String]
912
+ # Required. The cluster name.
913
+ class DiagnoseClusterRequest
914
+ include Google::Protobuf::MessageExts
915
+ extend Google::Protobuf::MessageExts::ClassMethods
916
+ end
917
+
918
+ # The location of diagnostic output.
919
+ # @!attribute [r] output_uri
920
+ # @return [String]
921
+ # Output only. The Cloud Storage URI of the diagnostic output.
922
+ # The output report is a plain text file with a summary of collected
923
+ # diagnostics.
924
+ class DiagnoseClusterResults
925
+ include Google::Protobuf::MessageExts
926
+ extend Google::Protobuf::MessageExts::ClassMethods
927
+ end
928
+
929
+ # Reservation Affinity for consuming Zonal reservation.
930
+ # @!attribute [rw] consume_reservation_type
931
+ # @return [Google::Cloud::Dataproc::V1::ReservationAffinity::Type]
932
+ # Optional. Type of reservation to consume
933
+ # @!attribute [rw] key
934
+ # @return [String]
935
+ # Optional. Corresponds to the label key of reservation resource.
936
+ # @!attribute [rw] values
937
+ # @return [Array<String>]
938
+ # Optional. Corresponds to the label values of reservation resource.
939
+ class ReservationAffinity
940
+ include Google::Protobuf::MessageExts
941
+ extend Google::Protobuf::MessageExts::ClassMethods
942
+
943
+ # Indicates whether to consume capacity from an reservation or not.
944
+ module Type
945
+ TYPE_UNSPECIFIED = 0
946
+
947
+ # Do not consume from any allocated capacity.
948
+ NO_RESERVATION = 1
949
+
950
+ # Consume any reservation available.
951
+ ANY_RESERVATION = 2
952
+
953
+ # Must consume from a specific reservation. Must specify key value fields
954
+ # for specifying the reservations.
955
+ SPECIFIC_RESERVATION = 3
956
+ end
957
+ end
958
+ end
959
+ end
960
+ end
961
+ end