google-cloud-dataproc 0.2.2 → 0.3.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/dataproc.rb +56 -3
  4. data/lib/google/cloud/dataproc/v1.rb +62 -3
  5. data/lib/google/cloud/dataproc/v1/cluster_controller_client.rb +65 -5
  6. data/lib/google/cloud/dataproc/v1/cluster_controller_client_config.json +10 -7
  7. data/lib/google/cloud/dataproc/v1/clusters_pb.rb +11 -0
  8. data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +3 -2
  9. data/lib/google/cloud/dataproc/v1/credentials.rb +1 -1
  10. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/clusters.rb +128 -45
  11. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/jobs.rb +32 -15
  12. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/workflow_templates.rb +519 -0
  13. data/lib/google/cloud/dataproc/v1/doc/google/longrunning/operations.rb +1 -43
  14. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/any.rb +1 -1
  15. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/duration.rb +1 -1
  16. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/empty.rb +1 -1
  17. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/field_mask.rb +1 -1
  18. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/timestamp.rb +1 -1
  19. data/lib/google/cloud/dataproc/v1/doc/google/rpc/status.rb +1 -1
  20. data/lib/google/cloud/dataproc/v1/job_controller_client.rb +16 -2
  21. data/lib/google/cloud/dataproc/v1/job_controller_client_config.json +9 -6
  22. data/lib/google/cloud/dataproc/v1/jobs_pb.rb +2 -0
  23. data/lib/google/cloud/dataproc/v1/jobs_services_pb.rb +2 -1
  24. data/lib/google/cloud/dataproc/v1/operations_pb.rb +0 -2
  25. data/lib/google/cloud/dataproc/v1/workflow_template_service_client.rb +690 -0
  26. data/lib/google/cloud/dataproc/v1/workflow_template_service_client_config.json +64 -0
  27. data/lib/google/cloud/dataproc/v1/workflow_templates_pb.rb +181 -0
  28. data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +102 -0
  29. data/lib/google/cloud/dataproc/v1beta2.rb +281 -0
  30. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client.rb +799 -0
  31. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client_config.json +59 -0
  32. data/lib/google/cloud/dataproc/v1beta2/clusters_pb.rb +189 -0
  33. data/lib/google/cloud/dataproc/v1beta2/clusters_services_pb.rb +60 -0
  34. data/lib/google/cloud/dataproc/v1beta2/credentials.rb +41 -0
  35. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/clusters.rb +666 -0
  36. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/jobs.rb +691 -0
  37. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/workflow_templates.rb +524 -0
  38. data/lib/google/cloud/dataproc/v1beta2/doc/google/longrunning/operations.rb +51 -0
  39. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/any.rb +130 -0
  40. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/duration.rb +91 -0
  41. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/empty.rb +29 -0
  42. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/field_mask.rb +230 -0
  43. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/timestamp.rb +109 -0
  44. data/lib/google/cloud/dataproc/v1beta2/doc/google/rpc/status.rb +84 -0
  45. data/lib/google/cloud/dataproc/v1beta2/job_controller_client.rb +581 -0
  46. data/lib/google/cloud/dataproc/v1beta2/job_controller_client_config.json +59 -0
  47. data/lib/google/cloud/dataproc/v1beta2/jobs_pb.rb +248 -0
  48. data/lib/google/cloud/dataproc/v1beta2/jobs_services_pb.rb +61 -0
  49. data/lib/google/cloud/dataproc/v1beta2/operations_pb.rb +44 -0
  50. data/lib/google/cloud/dataproc/v1beta2/shared_pb.rb +18 -0
  51. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client.rb +698 -0
  52. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client_config.json +64 -0
  53. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_pb.rb +183 -0
  54. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_services_pb.rb +102 -0
  55. metadata +36 -5
@@ -0,0 +1,59 @@
1
+ {
2
+ "interfaces": {
3
+ "google.cloud.dataproc.v1beta2.ClusterController": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "INTERNAL",
8
+ "UNAVAILABLE"
9
+ ],
10
+ "non_idempotent": [
11
+ "UNAVAILABLE"
12
+ ]
13
+ },
14
+ "retry_params": {
15
+ "default": {
16
+ "initial_retry_delay_millis": 100,
17
+ "retry_delay_multiplier": 1.3,
18
+ "max_retry_delay_millis": 60000,
19
+ "initial_rpc_timeout_millis": 10000,
20
+ "rpc_timeout_multiplier": 1.0,
21
+ "max_rpc_timeout_millis": 10000,
22
+ "total_timeout_millis": 300000
23
+ }
24
+ },
25
+ "methods": {
26
+ "CreateCluster": {
27
+ "timeout_millis": 30000,
28
+ "retry_codes_name": "non_idempotent",
29
+ "retry_params_name": "default"
30
+ },
31
+ "UpdateCluster": {
32
+ "timeout_millis": 30000,
33
+ "retry_codes_name": "non_idempotent",
34
+ "retry_params_name": "default"
35
+ },
36
+ "DeleteCluster": {
37
+ "timeout_millis": 30000,
38
+ "retry_codes_name": "non_idempotent",
39
+ "retry_params_name": "default"
40
+ },
41
+ "GetCluster": {
42
+ "timeout_millis": 60000,
43
+ "retry_codes_name": "idempotent",
44
+ "retry_params_name": "default"
45
+ },
46
+ "ListClusters": {
47
+ "timeout_millis": 60000,
48
+ "retry_codes_name": "idempotent",
49
+ "retry_params_name": "default"
50
+ },
51
+ "DiagnoseCluster": {
52
+ "timeout_millis": 60000,
53
+ "retry_codes_name": "non_idempotent",
54
+ "retry_params_name": "default"
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,189 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/dataproc/v1beta2/clusters.proto
3
+
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/cloud/dataproc/v1beta2/shared_pb'
9
+ require 'google/cloud/dataproc/v1beta2/operations_pb'
10
+ require 'google/longrunning/operations_pb'
11
+ require 'google/protobuf/duration_pb'
12
+ require 'google/protobuf/field_mask_pb'
13
+ require 'google/protobuf/timestamp_pb'
14
+ Google::Protobuf::DescriptorPool.generated_pool.build do
15
+ add_message "google.cloud.dataproc.v1beta2.Cluster" do
16
+ optional :project_id, :string, 1
17
+ optional :cluster_name, :string, 2
18
+ optional :config, :message, 3, "google.cloud.dataproc.v1beta2.ClusterConfig"
19
+ map :labels, :string, :string, 8
20
+ optional :status, :message, 4, "google.cloud.dataproc.v1beta2.ClusterStatus"
21
+ repeated :status_history, :message, 7, "google.cloud.dataproc.v1beta2.ClusterStatus"
22
+ optional :cluster_uuid, :string, 6
23
+ optional :metrics, :message, 9, "google.cloud.dataproc.v1beta2.ClusterMetrics"
24
+ end
25
+ add_message "google.cloud.dataproc.v1beta2.ClusterConfig" do
26
+ optional :config_bucket, :string, 1
27
+ optional :gce_cluster_config, :message, 8, "google.cloud.dataproc.v1beta2.GceClusterConfig"
28
+ optional :master_config, :message, 9, "google.cloud.dataproc.v1beta2.InstanceGroupConfig"
29
+ optional :worker_config, :message, 10, "google.cloud.dataproc.v1beta2.InstanceGroupConfig"
30
+ optional :secondary_worker_config, :message, 12, "google.cloud.dataproc.v1beta2.InstanceGroupConfig"
31
+ optional :software_config, :message, 13, "google.cloud.dataproc.v1beta2.SoftwareConfig"
32
+ optional :lifecycle_config, :message, 14, "google.cloud.dataproc.v1beta2.LifecycleConfig"
33
+ repeated :initialization_actions, :message, 11, "google.cloud.dataproc.v1beta2.NodeInitializationAction"
34
+ optional :encryption_config, :message, 15, "google.cloud.dataproc.v1beta2.EncryptionConfig"
35
+ end
36
+ add_message "google.cloud.dataproc.v1beta2.EncryptionConfig" do
37
+ optional :gce_pd_kms_key_name, :string, 1
38
+ end
39
+ add_message "google.cloud.dataproc.v1beta2.GceClusterConfig" do
40
+ optional :zone_uri, :string, 1
41
+ optional :network_uri, :string, 2
42
+ optional :subnetwork_uri, :string, 6
43
+ optional :internal_ip_only, :bool, 7
44
+ optional :service_account, :string, 8
45
+ repeated :service_account_scopes, :string, 3
46
+ repeated :tags, :string, 4
47
+ map :metadata, :string, :string, 5
48
+ end
49
+ add_message "google.cloud.dataproc.v1beta2.InstanceGroupConfig" do
50
+ optional :num_instances, :int32, 1
51
+ repeated :instance_names, :string, 2
52
+ optional :image_uri, :string, 3
53
+ optional :machine_type_uri, :string, 4
54
+ optional :disk_config, :message, 5, "google.cloud.dataproc.v1beta2.DiskConfig"
55
+ optional :is_preemptible, :bool, 6
56
+ optional :managed_group_config, :message, 7, "google.cloud.dataproc.v1beta2.ManagedGroupConfig"
57
+ repeated :accelerators, :message, 8, "google.cloud.dataproc.v1beta2.AcceleratorConfig"
58
+ optional :min_cpu_platform, :string, 9
59
+ end
60
+ add_message "google.cloud.dataproc.v1beta2.ManagedGroupConfig" do
61
+ optional :instance_template_name, :string, 1
62
+ optional :instance_group_manager_name, :string, 2
63
+ end
64
+ add_message "google.cloud.dataproc.v1beta2.AcceleratorConfig" do
65
+ optional :accelerator_type_uri, :string, 1
66
+ optional :accelerator_count, :int32, 2
67
+ end
68
+ add_message "google.cloud.dataproc.v1beta2.DiskConfig" do
69
+ optional :boot_disk_type, :string, 3
70
+ optional :boot_disk_size_gb, :int32, 1
71
+ optional :num_local_ssds, :int32, 2
72
+ end
73
+ add_message "google.cloud.dataproc.v1beta2.LifecycleConfig" do
74
+ optional :idle_delete_ttl, :message, 1, "google.protobuf.Duration"
75
+ oneof :ttl do
76
+ optional :auto_delete_time, :message, 2, "google.protobuf.Timestamp"
77
+ optional :auto_delete_ttl, :message, 3, "google.protobuf.Duration"
78
+ end
79
+ end
80
+ add_message "google.cloud.dataproc.v1beta2.NodeInitializationAction" do
81
+ optional :executable_file, :string, 1
82
+ optional :execution_timeout, :message, 2, "google.protobuf.Duration"
83
+ end
84
+ add_message "google.cloud.dataproc.v1beta2.ClusterStatus" do
85
+ optional :state, :enum, 1, "google.cloud.dataproc.v1beta2.ClusterStatus.State"
86
+ optional :detail, :string, 2
87
+ optional :state_start_time, :message, 3, "google.protobuf.Timestamp"
88
+ optional :substate, :enum, 4, "google.cloud.dataproc.v1beta2.ClusterStatus.Substate"
89
+ end
90
+ add_enum "google.cloud.dataproc.v1beta2.ClusterStatus.State" do
91
+ value :UNKNOWN, 0
92
+ value :CREATING, 1
93
+ value :RUNNING, 2
94
+ value :ERROR, 3
95
+ value :DELETING, 4
96
+ value :UPDATING, 5
97
+ end
98
+ add_enum "google.cloud.dataproc.v1beta2.ClusterStatus.Substate" do
99
+ value :UNSPECIFIED, 0
100
+ value :UNHEALTHY, 1
101
+ value :STALE_STATUS, 2
102
+ end
103
+ add_message "google.cloud.dataproc.v1beta2.SoftwareConfig" do
104
+ optional :image_version, :string, 1
105
+ map :properties, :string, :string, 2
106
+ end
107
+ add_message "google.cloud.dataproc.v1beta2.ClusterMetrics" do
108
+ map :hdfs_metrics, :string, :int64, 1
109
+ map :yarn_metrics, :string, :int64, 2
110
+ end
111
+ add_message "google.cloud.dataproc.v1beta2.CreateClusterRequest" do
112
+ optional :project_id, :string, 1
113
+ optional :region, :string, 3
114
+ optional :cluster, :message, 2, "google.cloud.dataproc.v1beta2.Cluster"
115
+ optional :request_id, :string, 4
116
+ end
117
+ add_message "google.cloud.dataproc.v1beta2.UpdateClusterRequest" do
118
+ optional :project_id, :string, 1
119
+ optional :region, :string, 5
120
+ optional :cluster_name, :string, 2
121
+ optional :cluster, :message, 3, "google.cloud.dataproc.v1beta2.Cluster"
122
+ optional :graceful_decommission_timeout, :message, 6, "google.protobuf.Duration"
123
+ optional :update_mask, :message, 4, "google.protobuf.FieldMask"
124
+ optional :request_id, :string, 7
125
+ end
126
+ add_message "google.cloud.dataproc.v1beta2.DeleteClusterRequest" do
127
+ optional :project_id, :string, 1
128
+ optional :region, :string, 3
129
+ optional :cluster_name, :string, 2
130
+ optional :cluster_uuid, :string, 4
131
+ optional :request_id, :string, 5
132
+ end
133
+ add_message "google.cloud.dataproc.v1beta2.GetClusterRequest" do
134
+ optional :project_id, :string, 1
135
+ optional :region, :string, 3
136
+ optional :cluster_name, :string, 2
137
+ end
138
+ add_message "google.cloud.dataproc.v1beta2.ListClustersRequest" do
139
+ optional :project_id, :string, 1
140
+ optional :region, :string, 4
141
+ optional :filter, :string, 5
142
+ optional :page_size, :int32, 2
143
+ optional :page_token, :string, 3
144
+ end
145
+ add_message "google.cloud.dataproc.v1beta2.ListClustersResponse" do
146
+ repeated :clusters, :message, 1, "google.cloud.dataproc.v1beta2.Cluster"
147
+ optional :next_page_token, :string, 2
148
+ end
149
+ add_message "google.cloud.dataproc.v1beta2.DiagnoseClusterRequest" do
150
+ optional :project_id, :string, 1
151
+ optional :region, :string, 3
152
+ optional :cluster_name, :string, 2
153
+ end
154
+ add_message "google.cloud.dataproc.v1beta2.DiagnoseClusterResults" do
155
+ optional :output_uri, :string, 1
156
+ end
157
+ end
158
+
159
+ module Google
160
+ module Cloud
161
+ module Dataproc
162
+ module V1beta2
163
+ Cluster = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.Cluster").msgclass
164
+ ClusterConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterConfig").msgclass
165
+ EncryptionConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.EncryptionConfig").msgclass
166
+ GceClusterConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.GceClusterConfig").msgclass
167
+ InstanceGroupConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.InstanceGroupConfig").msgclass
168
+ ManagedGroupConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ManagedGroupConfig").msgclass
169
+ AcceleratorConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.AcceleratorConfig").msgclass
170
+ DiskConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DiskConfig").msgclass
171
+ LifecycleConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.LifecycleConfig").msgclass
172
+ NodeInitializationAction = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.NodeInitializationAction").msgclass
173
+ ClusterStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterStatus").msgclass
174
+ ClusterStatus::State = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterStatus.State").enummodule
175
+ ClusterStatus::Substate = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterStatus.Substate").enummodule
176
+ SoftwareConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.SoftwareConfig").msgclass
177
+ ClusterMetrics = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterMetrics").msgclass
178
+ CreateClusterRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.CreateClusterRequest").msgclass
179
+ UpdateClusterRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.UpdateClusterRequest").msgclass
180
+ DeleteClusterRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DeleteClusterRequest").msgclass
181
+ GetClusterRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.GetClusterRequest").msgclass
182
+ ListClustersRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ListClustersRequest").msgclass
183
+ ListClustersResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ListClustersResponse").msgclass
184
+ DiagnoseClusterRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DiagnoseClusterRequest").msgclass
185
+ DiagnoseClusterResults = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DiagnoseClusterResults").msgclass
186
+ end
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,60 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/dataproc/v1beta2/clusters.proto for package 'google.cloud.dataproc.v1beta2'
3
+ # Original file comments:
4
+ # Copyright 2018 Google LLC.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+ #
19
+
20
+
21
+ require 'grpc'
22
+ require 'google/cloud/dataproc/v1beta2/clusters_pb'
23
+
24
+ module Google
25
+ module Cloud
26
+ module Dataproc
27
+ module V1beta2
28
+ module ClusterController
29
+ # The ClusterControllerService provides methods to manage clusters
30
+ # of Compute Engine instances.
31
+ class Service
32
+
33
+ include GRPC::GenericService
34
+
35
+ self.marshal_class_method = :encode
36
+ self.unmarshal_class_method = :decode
37
+ self.service_name = 'google.cloud.dataproc.v1beta2.ClusterController'
38
+
39
+ # Creates a cluster in a project.
40
+ rpc :CreateCluster, CreateClusterRequest, Google::Longrunning::Operation
41
+ # Updates a cluster in a project.
42
+ rpc :UpdateCluster, UpdateClusterRequest, Google::Longrunning::Operation
43
+ # Deletes a cluster in a project.
44
+ rpc :DeleteCluster, DeleteClusterRequest, Google::Longrunning::Operation
45
+ # Gets the resource representation for a cluster in a project.
46
+ rpc :GetCluster, GetClusterRequest, Cluster
47
+ # Lists all regions/\\{region}/clusters in a project.
48
+ rpc :ListClusters, ListClustersRequest, ListClustersResponse
49
+ # Gets cluster diagnostic information.
50
+ # After the operation completes, the Operation.response field
51
+ # contains `DiagnoseClusterOutputLocation`.
52
+ rpc :DiagnoseCluster, DiagnoseClusterRequest, Google::Longrunning::Operation
53
+ end
54
+
55
+ Stub = Service.rpc_stub_class
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,41 @@
1
+ # Copyright 2019 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
+ require "googleauth"
17
+
18
+ module Google
19
+ module Cloud
20
+ module Dataproc
21
+ module V1beta2
22
+ class Credentials < Google::Auth::Credentials
23
+ SCOPE = [
24
+ "https://www.googleapis.com/auth/cloud-platform"
25
+ ].freeze
26
+ PATH_ENV_VARS = %w(DATAPROC_CREDENTIALS
27
+ DATAPROC_KEYFILE
28
+ GOOGLE_CLOUD_CREDENTIALS
29
+ GOOGLE_CLOUD_KEYFILE
30
+ GCLOUD_KEYFILE)
31
+ JSON_ENV_VARS = %w(DATAPROC_CREDENTIALS_JSON
32
+ DATAPROC_KEYFILE_JSON
33
+ GOOGLE_CLOUD_CREDENTIALS_JSON
34
+ GOOGLE_CLOUD_KEYFILE_JSON
35
+ GCLOUD_KEYFILE_JSON)
36
+ DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,666 @@
1
+ # Copyright 2019 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 V1beta2
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::V1beta2::ClusterConfig]
31
+ # Required. The cluster config. Note that Cloud 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 1035](https://www.ietf.org/rfc/rfc1035.txt).
40
+ # No more than 32 labels can be associated with a cluster.
41
+ # @!attribute [rw] status
42
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterStatus]
43
+ # Output only. Cluster status.
44
+ # @!attribute [rw] status_history
45
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::ClusterStatus>]
46
+ # Output only. The previous cluster status.
47
+ # @!attribute [rw] cluster_uuid
48
+ # @return [String]
49
+ # Output only. A cluster UUID (Unique Universal Identifier). Cloud Dataproc
50
+ # generates this value when it creates the cluster.
51
+ # @!attribute [rw] metrics
52
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterMetrics]
53
+ # Output only. Contains cluster daemon metrics such as HDFS and YARN stats.
54
+ #
55
+ # **Beta Feature**: This report is available for testing purposes only. It may
56
+ # be changed before final release.
57
+ class Cluster; end
58
+
59
+ # The cluster config.
60
+ # @!attribute [rw] config_bucket
61
+ # @return [String]
62
+ # Optional. A Cloud Storage staging bucket used for sharing generated
63
+ # SSH keys and config. If you do not specify a staging bucket, Cloud
64
+ # Dataproc will determine an appropriate Cloud Storage location (US,
65
+ # ASIA, or EU) for your cluster's staging bucket according to the Google
66
+ # Compute Engine zone where your cluster is deployed, and then it will create
67
+ # and manage this project-level, per-location bucket for you.
68
+ # @!attribute [rw] gce_cluster_config
69
+ # @return [Google::Cloud::Dataproc::V1beta2::GceClusterConfig]
70
+ # Required. The shared Compute Engine config settings for
71
+ # all instances in a cluster.
72
+ # @!attribute [rw] master_config
73
+ # @return [Google::Cloud::Dataproc::V1beta2::InstanceGroupConfig]
74
+ # Optional. The Compute Engine config settings for
75
+ # the master instance in a cluster.
76
+ # @!attribute [rw] worker_config
77
+ # @return [Google::Cloud::Dataproc::V1beta2::InstanceGroupConfig]
78
+ # Optional. The Compute Engine config settings for
79
+ # worker instances in a cluster.
80
+ # @!attribute [rw] secondary_worker_config
81
+ # @return [Google::Cloud::Dataproc::V1beta2::InstanceGroupConfig]
82
+ # Optional. The Compute Engine config settings for
83
+ # additional worker instances in a cluster.
84
+ # @!attribute [rw] software_config
85
+ # @return [Google::Cloud::Dataproc::V1beta2::SoftwareConfig]
86
+ # Optional. The config settings for software inside the cluster.
87
+ # @!attribute [rw] lifecycle_config
88
+ # @return [Google::Cloud::Dataproc::V1beta2::LifecycleConfig]
89
+ # Optional. The config setting for auto delete cluster schedule.
90
+ # @!attribute [rw] initialization_actions
91
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::NodeInitializationAction>]
92
+ # Optional. Commands to execute on each node after config is
93
+ # completed. By default, executables are run on master and all worker nodes.
94
+ # You can test a node's <code>role</code> metadata to run an executable on
95
+ # a master or worker node, as shown below using `curl` (you can also use `wget`):
96
+ #
97
+ # ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1beta2/instance/attributes/dataproc-role)
98
+ # if [[ "${ROLE}" == 'Master' ]]; then
99
+ # ... master specific actions ...
100
+ # else
101
+ # ... worker specific actions ...
102
+ # fi
103
+ # @!attribute [rw] encryption_config
104
+ # @return [Google::Cloud::Dataproc::V1beta2::EncryptionConfig]
105
+ # Optional. Encryption settings for the cluster.
106
+ class ClusterConfig; end
107
+
108
+ # Encryption settings for the cluster.
109
+ # @!attribute [rw] gce_pd_kms_key_name
110
+ # @return [String]
111
+ # Optional. The Cloud KMS key name to use for PD disk encryption for all
112
+ # instances in the cluster.
113
+ class EncryptionConfig; end
114
+
115
+ # Common config settings for resources of Compute Engine cluster
116
+ # instances, applicable to all instances in the cluster.
117
+ # @!attribute [rw] zone_uri
118
+ # @return [String]
119
+ # Optional. The zone where the Compute Engine cluster will be located.
120
+ # On a create request, it is required in the "global" region. If omitted
121
+ # in a non-global Cloud Dataproc region, the service will pick a zone in the
122
+ # corresponding Compute Engine region. On a get request, zone will always be
123
+ # present.
124
+ #
125
+ # A full URL, partial URI, or short name are valid. Examples:
126
+ #
127
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`
128
+ # * `projects/[project_id]/zones/[zone]`
129
+ # * `us-central1-f`
130
+ # @!attribute [rw] network_uri
131
+ # @return [String]
132
+ # Optional. The Compute Engine network to be used for machine
133
+ # communications. Cannot be specified with subnetwork_uri. If neither
134
+ # `network_uri` nor `subnetwork_uri` is specified, the "default" network of
135
+ # the project is used, if it exists. Cannot be a "Custom Subnet Network" (see
136
+ # [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks) for more information).
137
+ #
138
+ # A full URL, partial URI, or short name are valid. Examples:
139
+ #
140
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`
141
+ # * `projects/[project_id]/regions/global/default`
142
+ # * `default`
143
+ # @!attribute [rw] subnetwork_uri
144
+ # @return [String]
145
+ # Optional. The Compute Engine subnetwork to be used for machine
146
+ # communications. Cannot be specified with network_uri.
147
+ #
148
+ # A full URL, partial URI, or short name are valid. Examples:
149
+ #
150
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`
151
+ # * `projects/[project_id]/regions/us-east1/sub0`
152
+ # * `sub0`
153
+ # @!attribute [rw] internal_ip_only
154
+ # @return [true, false]
155
+ # Optional. If true, all instances in the cluster will only have internal IP
156
+ # addresses. By default, clusters are not restricted to internal IP addresses,
157
+ # and will have ephemeral external IP addresses assigned to each instance.
158
+ # This `internal_ip_only` restriction can only be enabled for subnetwork
159
+ # enabled networks, and all off-cluster dependencies must be configured to be
160
+ # accessible without external IP addresses.
161
+ # @!attribute [rw] service_account
162
+ # @return [String]
163
+ # Optional. The service account of the instances. Defaults to the default
164
+ # Compute Engine service account. Custom service accounts need
165
+ # permissions equivalent to the following IAM roles:
166
+ #
167
+ # * roles/logging.logWriter
168
+ # * roles/storage.objectAdmin
169
+ #
170
+ # (see https://cloud.google.com/compute/docs/access/service-accounts#custom_service_accounts
171
+ # for more information).
172
+ # Example: `[account_id]@[project_id].iam.gserviceaccount.com`
173
+ # @!attribute [rw] service_account_scopes
174
+ # @return [Array<String>]
175
+ # Optional. The URIs of service account scopes to be included in
176
+ # Compute Engine instances. The following base set of scopes is always
177
+ # included:
178
+ #
179
+ # * https://www.googleapis.com/auth/cloud.useraccounts.readonly
180
+ # * https://www.googleapis.com/auth/devstorage.read_write
181
+ # * https://www.googleapis.com/auth/logging.write
182
+ #
183
+ # If no scopes are specified, the following defaults are also provided:
184
+ #
185
+ # * https://www.googleapis.com/auth/bigquery
186
+ # * https://www.googleapis.com/auth/bigtable.admin.table
187
+ # * https://www.googleapis.com/auth/bigtable.data
188
+ # * https://www.googleapis.com/auth/devstorage.full_control
189
+ # @!attribute [rw] tags
190
+ # @return [Array<String>]
191
+ # The Compute Engine tags to add to all instances (see
192
+ # [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
193
+ # @!attribute [rw] metadata
194
+ # @return [Hash{String => String}]
195
+ # The Compute Engine metadata entries to add to all instances (see
196
+ # [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
197
+ class GceClusterConfig; end
198
+
199
+ # Optional. The config settings for Compute Engine resources in
200
+ # an instance group, such as a master or worker group.
201
+ # @!attribute [rw] num_instances
202
+ # @return [Integer]
203
+ # Optional. The number of VM instances in the instance group.
204
+ # For master instance groups, must be set to 1.
205
+ # @!attribute [rw] instance_names
206
+ # @return [Array<String>]
207
+ # Output only. The list of instance names. Cloud Dataproc derives the names
208
+ # from `cluster_name`, `num_instances`, and the instance group.
209
+ # @!attribute [rw] image_uri
210
+ # @return [String]
211
+ # Optional. The Compute Engine image resource used for cluster
212
+ # instances. It can be specified or may be inferred from
213
+ # `SoftwareConfig.image_version`.
214
+ # @!attribute [rw] machine_type_uri
215
+ # @return [String]
216
+ # Optional. The Compute Engine machine type used for cluster instances.
217
+ #
218
+ # A full URL, partial URI, or short name are valid. Examples:
219
+ #
220
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
221
+ # * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
222
+ # * `n1-standard-2`
223
+ #
224
+ # **Auto Zone Exception**: If you are using the Cloud Dataproc
225
+ # [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
226
+ # feature, you must use the short name of the machine type
227
+ # resource, for example, `n1-standard-2`.
228
+ # @!attribute [rw] disk_config
229
+ # @return [Google::Cloud::Dataproc::V1beta2::DiskConfig]
230
+ # Optional. Disk option config settings.
231
+ # @!attribute [rw] is_preemptible
232
+ # @return [true, false]
233
+ # Optional. Specifies that this instance group contains preemptible instances.
234
+ # @!attribute [rw] managed_group_config
235
+ # @return [Google::Cloud::Dataproc::V1beta2::ManagedGroupConfig]
236
+ # Output only. The config for Compute Engine Instance Group
237
+ # Manager that manages this group.
238
+ # This is only used for preemptible instance groups.
239
+ # @!attribute [rw] accelerators
240
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::AcceleratorConfig>]
241
+ # Optional. The Compute Engine accelerator configuration for these
242
+ # instances.
243
+ #
244
+ # **Beta Feature**: This feature is still under development. It may be
245
+ # changed before final release.
246
+ # @!attribute [rw] min_cpu_platform
247
+ # @return [String]
248
+ # Optional. Specifies the minimum cpu platform for the Instance Group.
249
+ # See [Cloud Dataproc&rarr;Minimum CPU Platform]
250
+ # (/dataproc/docs/concepts/compute/dataproc-min-cpu).
251
+ class InstanceGroupConfig; end
252
+
253
+ # Specifies the resources used to actively manage an instance group.
254
+ # @!attribute [rw] instance_template_name
255
+ # @return [String]
256
+ # Output only. The name of the Instance Template used for the Managed
257
+ # Instance Group.
258
+ # @!attribute [rw] instance_group_manager_name
259
+ # @return [String]
260
+ # Output only. The name of the Instance Group Manager for this group.
261
+ class ManagedGroupConfig; end
262
+
263
+ # Specifies the type and number of accelerator cards attached to the instances
264
+ # of an instance group (see [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus/)).
265
+ # @!attribute [rw] accelerator_type_uri
266
+ # @return [String]
267
+ # Full URL, partial URI, or short name of the accelerator type resource to
268
+ # expose to this instance. See [Compute Engine AcceleratorTypes](
269
+ # /compute/docs/reference/beta/acceleratorTypes)
270
+ #
271
+ # Examples
272
+ # * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
273
+ # * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
274
+ # * `nvidia-tesla-k80`
275
+ #
276
+ # **Auto Zone Exception**: If you are using the Cloud Dataproc
277
+ # [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
278
+ # feature, you must use the short name of the accelerator type
279
+ # resource, for example, `nvidia-tesla-k80`.
280
+ # @!attribute [rw] accelerator_count
281
+ # @return [Integer]
282
+ # The number of the accelerator cards of this type exposed to this instance.
283
+ class AcceleratorConfig; end
284
+
285
+ # Specifies the config of disk options for a group of VM instances.
286
+ # @!attribute [rw] boot_disk_type
287
+ # @return [String]
288
+ # Optional. Type of the boot disk (default is "pd-standard").
289
+ # Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or
290
+ # "pd-standard" (Persistent Disk Hard Disk Drive).
291
+ # @!attribute [rw] boot_disk_size_gb
292
+ # @return [Integer]
293
+ # Optional. Size in GB of the boot disk (default is 500GB).
294
+ # @!attribute [rw] num_local_ssds
295
+ # @return [Integer]
296
+ # Optional. Number of attached SSDs, from 0 to 4 (default is 0).
297
+ # If SSDs are not attached, the boot disk is used to store runtime logs and
298
+ # [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data.
299
+ # If one or more SSDs are attached, this runtime bulk
300
+ # data is spread across them, and the boot disk contains only basic
301
+ # config and installed binaries.
302
+ class DiskConfig; end
303
+
304
+ # Specifies the cluster auto-delete schedule configuration.
305
+ # @!attribute [rw] idle_delete_ttl
306
+ # @return [Google::Protobuf::Duration]
307
+ # Optional. The duration to keep the cluster alive while idling.
308
+ # Passing this threshold will cause the cluster to be
309
+ # deleted. Valid range: **[10m, 14d]**.
310
+ #
311
+ # Example: **"10m"**, the minimum value, to delete the
312
+ # cluster when it has had no jobs running for 10 minutes.
313
+ # @!attribute [rw] auto_delete_time
314
+ # @return [Google::Protobuf::Timestamp]
315
+ # Optional. The time when cluster will be auto-deleted.
316
+ # @!attribute [rw] auto_delete_ttl
317
+ # @return [Google::Protobuf::Duration]
318
+ # Optional. The lifetime duration of cluster. The cluster will be
319
+ # auto-deleted at the end of this period. Valid range: **[10m, 14d]**.
320
+ #
321
+ # Example: **"1d"**, to delete the cluster 1 day after its creation..
322
+ class LifecycleConfig; end
323
+
324
+ # Specifies an executable to run on a fully configured node and a
325
+ # timeout period for executable completion.
326
+ # @!attribute [rw] executable_file
327
+ # @return [String]
328
+ # Required. Cloud Storage URI of executable file.
329
+ # @!attribute [rw] execution_timeout
330
+ # @return [Google::Protobuf::Duration]
331
+ # Optional. Amount of time executable has to complete. Default is
332
+ # 10 minutes. Cluster creation fails with an explanatory error message (the
333
+ # name of the executable that caused the error and the exceeded timeout
334
+ # period) if the executable is not completed at end of the timeout period.
335
+ class NodeInitializationAction; end
336
+
337
+ # The status of a cluster and its instances.
338
+ # @!attribute [rw] state
339
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterStatus::State]
340
+ # Output only. The cluster's state.
341
+ # @!attribute [rw] detail
342
+ # @return [String]
343
+ # Output only. Optional details of cluster's state.
344
+ # @!attribute [rw] state_start_time
345
+ # @return [Google::Protobuf::Timestamp]
346
+ # Output only. Time when this state was entered.
347
+ # @!attribute [rw] substate
348
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterStatus::Substate]
349
+ # Output only. Additional state information that includes
350
+ # status reported by the agent.
351
+ class ClusterStatus
352
+ # The cluster state.
353
+ module State
354
+ # The cluster state is unknown.
355
+ UNKNOWN = 0
356
+
357
+ # The cluster is being created and set up. It is not ready for use.
358
+ CREATING = 1
359
+
360
+ # The cluster is currently running and healthy. It is ready for use.
361
+ RUNNING = 2
362
+
363
+ # The cluster encountered an error. It is not ready for use.
364
+ ERROR = 3
365
+
366
+ # The cluster is being deleted. It cannot be used.
367
+ DELETING = 4
368
+
369
+ # The cluster is being updated. It continues to accept and process jobs.
370
+ UPDATING = 5
371
+ end
372
+
373
+ # The cluster substate.
374
+ module Substate
375
+ # The cluster substate is unknown.
376
+ UNSPECIFIED = 0
377
+
378
+ # The cluster is known to be in an unhealthy state
379
+ # (for example, critical daemons are not running or HDFS capacity is
380
+ # exhausted).
381
+ #
382
+ # Applies to RUNNING state.
383
+ UNHEALTHY = 1
384
+
385
+ # The agent-reported status is out of date (may occur if
386
+ # Cloud Dataproc loses communication with Agent).
387
+ #
388
+ # Applies to RUNNING state.
389
+ STALE_STATUS = 2
390
+ end
391
+ end
392
+
393
+ # Specifies the selection and config of software inside the cluster.
394
+ # @!attribute [rw] image_version
395
+ # @return [String]
396
+ # Optional. The version of software inside the cluster. It must be one of the supported
397
+ # [Cloud Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_cloud_dataproc_versions),
398
+ # such as "1.2" (including a subminor version, such as "1.2.29"), or the
399
+ # ["preview" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).
400
+ # If unspecified, it defaults to the latest version.
401
+ # @!attribute [rw] properties
402
+ # @return [Hash{String => String}]
403
+ # Optional. The properties to set on daemon config files.
404
+ #
405
+ # Property keys are specified in `prefix:property` format, such as
406
+ # `core:fs.defaultFS`. The following are supported prefixes
407
+ # and their mappings:
408
+ #
409
+ # * capacity-scheduler: `capacity-scheduler.xml`
410
+ # * core: `core-site.xml`
411
+ # * distcp: `distcp-default.xml`
412
+ # * hdfs: `hdfs-site.xml`
413
+ # * hive: `hive-site.xml`
414
+ # * mapred: `mapred-site.xml`
415
+ # * pig: `pig.properties`
416
+ # * spark: `spark-defaults.conf`
417
+ # * yarn: `yarn-site.xml`
418
+ #
419
+ # For more information, see
420
+ # [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
421
+ class SoftwareConfig; end
422
+
423
+ # Contains cluster daemon metrics, such as HDFS and YARN stats.
424
+ #
425
+ # **Beta Feature**: This report is available for testing purposes only. It may
426
+ # be changed before final release.
427
+ # @!attribute [rw] hdfs_metrics
428
+ # @return [Hash{String => Integer}]
429
+ # The HDFS metrics.
430
+ # @!attribute [rw] yarn_metrics
431
+ # @return [Hash{String => Integer}]
432
+ # The YARN metrics.
433
+ class ClusterMetrics; end
434
+
435
+ # A request to create a cluster.
436
+ # @!attribute [rw] project_id
437
+ # @return [String]
438
+ # Required. The ID of the Google Cloud Platform project that the cluster
439
+ # belongs to.
440
+ # @!attribute [rw] region
441
+ # @return [String]
442
+ # Required. The Cloud Dataproc region in which to handle the request.
443
+ # @!attribute [rw] cluster
444
+ # @return [Google::Cloud::Dataproc::V1beta2::Cluster]
445
+ # Required. The cluster to create.
446
+ # @!attribute [rw] request_id
447
+ # @return [String]
448
+ # Optional. A unique id used to identify the request. If the server
449
+ # receives two {Google::Cloud::Dataproc::V1beta2::CreateClusterRequest CreateClusterRequest} requests with the same
450
+ # id, then the second request will be ignored and the
451
+ # first {Google::Longrunning::Operation} created and stored in the backend
452
+ # is returned.
453
+ #
454
+ # It is recommended to always set this value to a
455
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
456
+ #
457
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
458
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
459
+ class CreateClusterRequest; end
460
+
461
+ # A request to update a cluster.
462
+ # @!attribute [rw] project_id
463
+ # @return [String]
464
+ # Required. The ID of the Google Cloud Platform project the
465
+ # cluster belongs to.
466
+ # @!attribute [rw] region
467
+ # @return [String]
468
+ # Required. The Cloud Dataproc region in which to handle the request.
469
+ # @!attribute [rw] cluster_name
470
+ # @return [String]
471
+ # Required. The cluster name.
472
+ # @!attribute [rw] cluster
473
+ # @return [Google::Cloud::Dataproc::V1beta2::Cluster]
474
+ # Required. The changes to the cluster.
475
+ # @!attribute [rw] graceful_decommission_timeout
476
+ # @return [Google::Protobuf::Duration]
477
+ # Optional. Timeout for graceful YARN decomissioning. Graceful
478
+ # decommissioning allows removing nodes from the cluster without
479
+ # interrupting jobs in progress. Timeout specifies how long to wait for jobs
480
+ # in progress to finish before forcefully removing nodes (and potentially
481
+ # interrupting jobs). Default timeout is 0 (for forceful decommission), and
482
+ # the maximum allowed timeout is 1 day.
483
+ #
484
+ # Only supported on Dataproc image versions 1.2 and higher.
485
+ # @!attribute [rw] update_mask
486
+ # @return [Google::Protobuf::FieldMask]
487
+ # Required. Specifies the path, relative to `Cluster`, of
488
+ # the field to update. For example, to change the number of workers
489
+ # in a cluster to 5, the `update_mask` parameter would be
490
+ # specified as `config.worker_config.num_instances`,
491
+ # and the `PATCH` request body would specify the new value, as follows:
492
+ #
493
+ # {
494
+ # "config":{
495
+ # "workerConfig":{
496
+ # "numInstances":"5"
497
+ # }
498
+ # }
499
+ # }
500
+ #
501
+ # Similarly, to change the number of preemptible workers in a cluster to 5, the
502
+ # `update_mask` parameter would be `config.secondary_worker_config.num_instances`,
503
+ # and the `PATCH` request body would be set as follows:
504
+ #
505
+ # {
506
+ # "config":{
507
+ # "secondaryWorkerConfig":{
508
+ # "numInstances":"5"
509
+ # }
510
+ # }
511
+ # }
512
+ # <strong>Note:</strong> currently only the following fields can be updated:
513
+ #
514
+ # <table>
515
+ # <tr>
516
+ # <td><strong>Mask</strong></td><td><strong>Purpose</strong></td>
517
+ # </tr>
518
+ # <tr>
519
+ # <td>labels</td><td>Updates labels</td>
520
+ # </tr>
521
+ # <tr>
522
+ # <td>config.worker_config.num_instances</td><td>Resize primary worker group</td>
523
+ # </tr>
524
+ # <tr>
525
+ # <td>config.secondary_worker_config.num_instances</td><td>Resize secondary worker group</td>
526
+ # </tr>
527
+ # <tr>
528
+ # <td>config.lifecycle_config.auto_delete_ttl</td><td>Reset MAX TTL duration</td>
529
+ # </tr>
530
+ # <tr>
531
+ # <td>config.lifecycle_config.auto_delete_time</td><td>Update MAX TTL deletion timestamp</td>
532
+ # </tr>
533
+ # <tr>
534
+ # <td>config.lifecycle_config.idle_delete_ttl</td><td>Update Idle TTL duration</td>
535
+ # </tr>
536
+ # </table>
537
+ # @!attribute [rw] request_id
538
+ # @return [String]
539
+ # Optional. A unique id used to identify the request. If the server
540
+ # receives two {Google::Cloud::Dataproc::V1beta2::UpdateClusterRequest UpdateClusterRequest} requests with the same
541
+ # id, then the second request will be ignored and the
542
+ # first {Google::Longrunning::Operation} created and stored in the
543
+ # backend is returned.
544
+ #
545
+ # It is recommended to always set this value to a
546
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
547
+ #
548
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
549
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
550
+ class UpdateClusterRequest; end
551
+
552
+ # A request to delete a cluster.
553
+ # @!attribute [rw] project_id
554
+ # @return [String]
555
+ # Required. The ID of the Google Cloud Platform project that the cluster
556
+ # belongs to.
557
+ # @!attribute [rw] region
558
+ # @return [String]
559
+ # Required. The Cloud Dataproc region in which to handle the request.
560
+ # @!attribute [rw] cluster_name
561
+ # @return [String]
562
+ # Required. The cluster name.
563
+ # @!attribute [rw] cluster_uuid
564
+ # @return [String]
565
+ # Optional. Specifying the `cluster_uuid` means the RPC should fail
566
+ # (with error NOT_FOUND) if cluster with specified UUID does not exist.
567
+ # @!attribute [rw] request_id
568
+ # @return [String]
569
+ # Optional. A unique id used to identify the request. If the server
570
+ # receives two {Google::Cloud::Dataproc::V1beta2::DeleteClusterRequest DeleteClusterRequest} requests with the same
571
+ # id, then the second request will be ignored and the
572
+ # first {Google::Longrunning::Operation} created and stored in the
573
+ # backend is returned.
574
+ #
575
+ # It is recommended to always set this value to a
576
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
577
+ #
578
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
579
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
580
+ class DeleteClusterRequest; end
581
+
582
+ # Request to get the resource representation for a cluster in a project.
583
+ # @!attribute [rw] project_id
584
+ # @return [String]
585
+ # Required. The ID of the Google Cloud Platform project that the cluster
586
+ # belongs to.
587
+ # @!attribute [rw] region
588
+ # @return [String]
589
+ # Required. The Cloud Dataproc region in which to handle the request.
590
+ # @!attribute [rw] cluster_name
591
+ # @return [String]
592
+ # Required. The cluster name.
593
+ class GetClusterRequest; end
594
+
595
+ # A request to list the clusters in a project.
596
+ # @!attribute [rw] project_id
597
+ # @return [String]
598
+ # Required. The ID of the Google Cloud Platform project that the cluster
599
+ # belongs to.
600
+ # @!attribute [rw] region
601
+ # @return [String]
602
+ # Required. The Cloud Dataproc region in which to handle the request.
603
+ # @!attribute [rw] filter
604
+ # @return [String]
605
+ # Optional. A filter constraining the clusters to list. Filters are
606
+ # case-sensitive and have the following syntax:
607
+ #
608
+ # field = value [AND [field = value]] ...
609
+ #
610
+ # where **field** is one of `status.state`, `clusterName`, or `labels.[KEY]`,
611
+ # and `[KEY]` is a label key. **value** can be `*` to match all values.
612
+ # `status.state` can be one of the following: `ACTIVE`, `INACTIVE`,
613
+ # `CREATING`, `RUNNING`, `ERROR`, `DELETING`, or `UPDATING`. `ACTIVE`
614
+ # contains the `CREATING`, `UPDATING`, and `RUNNING` states. `INACTIVE`
615
+ # contains the `DELETING` and `ERROR` states.
616
+ # `clusterName` is the name of the cluster provided at creation time.
617
+ # Only the logical `AND` operator is supported; space-separated items are
618
+ # treated as having an implicit `AND` operator.
619
+ #
620
+ # Example filter:
621
+ #
622
+ # status.state = ACTIVE AND clusterName = mycluster
623
+ # AND labels.env = staging AND labels.starred = *
624
+ # @!attribute [rw] page_size
625
+ # @return [Integer]
626
+ # Optional. The standard List page size.
627
+ # @!attribute [rw] page_token
628
+ # @return [String]
629
+ # Optional. The standard List page token.
630
+ class ListClustersRequest; end
631
+
632
+ # The list of all clusters in a project.
633
+ # @!attribute [rw] clusters
634
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::Cluster>]
635
+ # Output only. The clusters in the project.
636
+ # @!attribute [rw] next_page_token
637
+ # @return [String]
638
+ # Output only. This token is included in the response if there are more
639
+ # results to fetch. To fetch additional results, provide this value as the
640
+ # `page_token` in a subsequent <code>ListClustersRequest</code>.
641
+ class ListClustersResponse; end
642
+
643
+ # A request to collect cluster diagnostic information.
644
+ # @!attribute [rw] project_id
645
+ # @return [String]
646
+ # Required. The ID of the Google Cloud Platform project that the cluster
647
+ # belongs to.
648
+ # @!attribute [rw] region
649
+ # @return [String]
650
+ # Required. The Cloud Dataproc region in which to handle the request.
651
+ # @!attribute [rw] cluster_name
652
+ # @return [String]
653
+ # Required. The cluster name.
654
+ class DiagnoseClusterRequest; end
655
+
656
+ # The location of diagnostic output.
657
+ # @!attribute [rw] output_uri
658
+ # @return [String]
659
+ # Output only. The Cloud Storage URI of the diagnostic output.
660
+ # The output report is a plain text file with a summary of collected
661
+ # diagnostics.
662
+ class DiagnoseClusterResults; end
663
+ end
664
+ end
665
+ end
666
+ end