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