google-cloud-dataproc-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.
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