google-cloud-dataproc 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/dataproc.rb +53 -0
  3. data/lib/google/cloud/dataproc/v1/cluster_controller_client.rb +14 -16
  4. data/lib/google/cloud/dataproc/v1/clusters_pb.rb +2 -0
  5. data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +1 -1
  6. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/clusters.rb +29 -26
  7. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/jobs.rb +8 -7
  8. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/workflow_templates.rb +6 -6
  9. data/lib/google/cloud/dataproc/v1/job_controller_client.rb +4 -3
  10. data/lib/google/cloud/dataproc/v1/jobs_services_pb.rb +1 -1
  11. data/lib/google/cloud/dataproc/v1/shared_pb.rb +26 -0
  12. data/lib/google/cloud/dataproc/v1/workflow_template_service_client.rb +3 -3
  13. data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +2 -3
  14. data/lib/google/cloud/dataproc/v1beta2.rb +58 -0
  15. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policies_pb.rb +81 -0
  16. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policies_services_pb.rb +60 -0
  17. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policy_service_client.rb +457 -0
  18. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policy_service_client_config.json +51 -0
  19. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client.rb +18 -16
  20. data/lib/google/cloud/dataproc/v1beta2/clusters_pb.rb +48 -0
  21. data/lib/google/cloud/dataproc/v1beta2/clusters_services_pb.rb +1 -1
  22. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/autoscaling_policies.rb +202 -0
  23. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/clusters.rb +172 -28
  24. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/jobs.rb +44 -9
  25. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/workflow_templates.rb +8 -6
  26. data/lib/google/cloud/dataproc/v1beta2/job_controller_client.rb +5 -5
  27. data/lib/google/cloud/dataproc/v1beta2/jobs_pb.rb +10 -0
  28. data/lib/google/cloud/dataproc/v1beta2/jobs_services_pb.rb +1 -1
  29. data/lib/google/cloud/dataproc/v1beta2/shared_pb.rb +12 -0
  30. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client.rb +3 -3
  31. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_services_pb.rb +2 -3
  32. data/lib/google/cloud/dataproc/version.rb +22 -0
  33. metadata +9 -2
@@ -0,0 +1,51 @@
1
+ {
2
+ "interfaces": {
3
+ "google.cloud.dataproc.v1beta2.AutoscalingPolicyService": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "UNAVAILABLE"
8
+ ],
9
+ "non_idempotent": []
10
+ },
11
+ "retry_params": {
12
+ "default": {
13
+ "initial_retry_delay_millis": 100,
14
+ "retry_delay_multiplier": 1.3,
15
+ "max_retry_delay_millis": 60000,
16
+ "initial_rpc_timeout_millis": 20000,
17
+ "rpc_timeout_multiplier": 1.0,
18
+ "max_rpc_timeout_millis": 20000,
19
+ "total_timeout_millis": 600000
20
+ }
21
+ },
22
+ "methods": {
23
+ "CreateAutoscalingPolicy": {
24
+ "timeout_millis": 60000,
25
+ "retry_codes_name": "non_idempotent",
26
+ "retry_params_name": "default"
27
+ },
28
+ "UpdateAutoscalingPolicy": {
29
+ "timeout_millis": 60000,
30
+ "retry_codes_name": "idempotent",
31
+ "retry_params_name": "default"
32
+ },
33
+ "GetAutoscalingPolicy": {
34
+ "timeout_millis": 60000,
35
+ "retry_codes_name": "idempotent",
36
+ "retry_params_name": "default"
37
+ },
38
+ "ListAutoscalingPolicies": {
39
+ "timeout_millis": 60000,
40
+ "retry_codes_name": "idempotent",
41
+ "retry_params_name": "default"
42
+ },
43
+ "DeleteAutoscalingPolicy": {
44
+ "timeout_millis": 60000,
45
+ "retry_codes_name": "non_idempotent",
46
+ "retry_params_name": "default"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
@@ -29,6 +29,7 @@ require "google/longrunning/operations_client"
29
29
 
30
30
  require "google/cloud/dataproc/v1beta2/clusters_pb"
31
31
  require "google/cloud/dataproc/v1beta2/credentials"
32
+ require "google/cloud/dataproc/version"
32
33
 
33
34
  module Google
34
35
  module Cloud
@@ -146,7 +147,7 @@ module Google
146
147
  updater_proc = credentials.updater_proc
147
148
  end
148
149
 
149
- package_version = Gem.loaded_specs['google-cloud-dataproc'].version.version
150
+ package_version = Google::Cloud::Dataproc::VERSION
150
151
 
151
152
  google_api_client = "gl-ruby/#{RUBY_VERSION}"
152
153
  google_api_client << " #{lib_name}/#{lib_version}" if lib_name
@@ -234,11 +235,10 @@ module Google
234
235
  # can also be provided.
235
236
  # @param request_id [String]
236
237
  # Optional. A unique id used to identify the request. If the server
237
- # receives two
238
- # {Google::Cloud::Dataproc::V1beta2::CreateClusterRequest CreateClusterRequest}
239
- # requests with the same id, then the second request will be ignored and the
240
- # first {Google::Longrunning::Operation} created
241
- # and stored in the backend is returned.
238
+ # receives two {Google::Cloud::Dataproc::V1beta2::CreateClusterRequest CreateClusterRequest} requests with the same
239
+ # id, then the second request will be ignored and the
240
+ # first {Google::Longrunning::Operation} created and stored in the backend
241
+ # is returned.
242
242
  #
243
243
  # It is recommended to always set this value to a
244
244
  # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
@@ -384,6 +384,10 @@ module Google
384
384
  # <td>config.lifecycle_config.idle_delete_ttl</td><td>Update Idle TTL
385
385
  # duration</td>
386
386
  # </tr>
387
+ # <tr>
388
+ # <td>config.autoscaling_config.policy_uri</td><td>Use, stop using, or change
389
+ # autoscaling policies</td>
390
+ # </tr>
387
391
  # </table>
388
392
  # A hash of the same form as `Google::Protobuf::FieldMask`
389
393
  # can also be provided.
@@ -400,11 +404,10 @@ module Google
400
404
  # can also be provided.
401
405
  # @param request_id [String]
402
406
  # Optional. A unique id used to identify the request. If the server
403
- # receives two
404
- # {Google::Cloud::Dataproc::V1beta2::UpdateClusterRequest UpdateClusterRequest}
405
- # requests with the same id, then the second request will be ignored and the
406
- # first {Google::Longrunning::Operation} created
407
- # and stored in the backend is returned.
407
+ # receives two {Google::Cloud::Dataproc::V1beta2::UpdateClusterRequest UpdateClusterRequest} requests with the same
408
+ # id, then the second request will be ignored and the
409
+ # first {Google::Longrunning::Operation} created and stored in the
410
+ # backend is returned.
408
411
  #
409
412
  # It is recommended to always set this value to a
410
413
  # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
@@ -507,11 +510,10 @@ module Google
507
510
  # (with error NOT_FOUND) if cluster with specified UUID does not exist.
508
511
  # @param request_id [String]
509
512
  # Optional. A unique id used to identify the request. If the server
510
- # receives two
511
- # {Google::Cloud::Dataproc::V1beta2::DeleteClusterRequest DeleteClusterRequest}
512
- # requests with the same id, then the second request will be ignored and the
513
- # first {Google::Longrunning::Operation} created
514
- # and stored in the backend is returned.
513
+ # receives two {Google::Cloud::Dataproc::V1beta2::DeleteClusterRequest DeleteClusterRequest} requests with the same
514
+ # id, then the second request will be ignored and the
515
+ # first {Google::Longrunning::Operation} created and stored in the
516
+ # backend is returned.
515
517
  #
516
518
  # It is recommended to always set this value to a
517
519
  # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
@@ -32,6 +32,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
32
32
  optional :lifecycle_config, :message, 14, "google.cloud.dataproc.v1beta2.LifecycleConfig"
33
33
  repeated :initialization_actions, :message, 11, "google.cloud.dataproc.v1beta2.NodeInitializationAction"
34
34
  optional :encryption_config, :message, 15, "google.cloud.dataproc.v1beta2.EncryptionConfig"
35
+ optional :autoscaling_config, :message, 16, "google.cloud.dataproc.v1beta2.AutoscalingConfig"
36
+ optional :endpoint_config, :message, 17, "google.cloud.dataproc.v1beta2.EndpointConfig"
37
+ optional :security_config, :message, 18, "google.cloud.dataproc.v1beta2.SecurityConfig"
38
+ end
39
+ add_message "google.cloud.dataproc.v1beta2.EndpointConfig" do
40
+ map :http_ports, :string, :string, 1
41
+ optional :enable_http_port_access, :bool, 2
42
+ end
43
+ add_message "google.cloud.dataproc.v1beta2.AutoscalingConfig" do
44
+ optional :policy_uri, :string, 1
35
45
  end
36
46
  add_message "google.cloud.dataproc.v1beta2.EncryptionConfig" do
37
47
  optional :gce_pd_kms_key_name, :string, 1
@@ -45,6 +55,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
45
55
  repeated :service_account_scopes, :string, 3
46
56
  repeated :tags, :string, 4
47
57
  map :metadata, :string, :string, 5
58
+ optional :reservation_affinity, :message, 11, "google.cloud.dataproc.v1beta2.ReservationAffinity"
48
59
  end
49
60
  add_message "google.cloud.dataproc.v1beta2.InstanceGroupConfig" do
50
61
  optional :num_instances, :int32, 1
@@ -77,6 +88,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
77
88
  optional :auto_delete_ttl, :message, 3, "google.protobuf.Duration"
78
89
  end
79
90
  end
91
+ add_message "google.cloud.dataproc.v1beta2.SecurityConfig" do
92
+ optional :kerberos_config, :message, 1, "google.cloud.dataproc.v1beta2.KerberosConfig"
93
+ end
94
+ add_message "google.cloud.dataproc.v1beta2.KerberosConfig" do
95
+ optional :enable_kerberos, :bool, 1
96
+ optional :root_principal_password_uri, :string, 2
97
+ optional :kms_key_uri, :string, 3
98
+ optional :keystore_uri, :string, 4
99
+ optional :truststore_uri, :string, 5
100
+ optional :keystore_password_uri, :string, 6
101
+ optional :key_password_uri, :string, 7
102
+ optional :truststore_password_uri, :string, 8
103
+ optional :cross_realm_trust_realm, :string, 9
104
+ optional :cross_realm_trust_kdc, :string, 10
105
+ optional :cross_realm_trust_admin_server, :string, 11
106
+ optional :cross_realm_trust_shared_password_uri, :string, 12
107
+ optional :kdc_db_key_uri, :string, 13
108
+ optional :tgt_lifetime_hours, :int32, 14
109
+ end
80
110
  add_message "google.cloud.dataproc.v1beta2.NodeInitializationAction" do
81
111
  optional :executable_file, :string, 1
82
112
  optional :execution_timeout, :message, 2, "google.protobuf.Duration"
@@ -103,6 +133,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
103
133
  add_message "google.cloud.dataproc.v1beta2.SoftwareConfig" do
104
134
  optional :image_version, :string, 1
105
135
  map :properties, :string, :string, 2
136
+ repeated :optional_components, :enum, 3, "google.cloud.dataproc.v1beta2.Component"
106
137
  end
107
138
  add_message "google.cloud.dataproc.v1beta2.ClusterMetrics" do
108
139
  map :hdfs_metrics, :string, :int64, 1
@@ -154,6 +185,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
154
185
  add_message "google.cloud.dataproc.v1beta2.DiagnoseClusterResults" do
155
186
  optional :output_uri, :string, 1
156
187
  end
188
+ add_message "google.cloud.dataproc.v1beta2.ReservationAffinity" do
189
+ optional :consume_reservation_type, :enum, 1, "google.cloud.dataproc.v1beta2.ReservationAffinity.Type"
190
+ optional :key, :string, 2
191
+ repeated :values, :string, 3
192
+ end
193
+ add_enum "google.cloud.dataproc.v1beta2.ReservationAffinity.Type" do
194
+ value :TYPE_UNSPECIFIED, 0
195
+ value :NO_RESERVATION, 1
196
+ value :ANY_RESERVATION, 2
197
+ value :SPECIFIC_RESERVATION, 3
198
+ end
157
199
  end
158
200
 
159
201
  module Google
@@ -162,6 +204,8 @@ module Google
162
204
  module V1beta2
163
205
  Cluster = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.Cluster").msgclass
164
206
  ClusterConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterConfig").msgclass
207
+ EndpointConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.EndpointConfig").msgclass
208
+ AutoscalingConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.AutoscalingConfig").msgclass
165
209
  EncryptionConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.EncryptionConfig").msgclass
166
210
  GceClusterConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.GceClusterConfig").msgclass
167
211
  InstanceGroupConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.InstanceGroupConfig").msgclass
@@ -169,6 +213,8 @@ module Google
169
213
  AcceleratorConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.AcceleratorConfig").msgclass
170
214
  DiskConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DiskConfig").msgclass
171
215
  LifecycleConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.LifecycleConfig").msgclass
216
+ SecurityConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.SecurityConfig").msgclass
217
+ KerberosConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.KerberosConfig").msgclass
172
218
  NodeInitializationAction = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.NodeInitializationAction").msgclass
173
219
  ClusterStatus = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterStatus").msgclass
174
220
  ClusterStatus::State = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ClusterStatus.State").enummodule
@@ -183,6 +229,8 @@ module Google
183
229
  ListClustersResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ListClustersResponse").msgclass
184
230
  DiagnoseClusterRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DiagnoseClusterRequest").msgclass
185
231
  DiagnoseClusterResults = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.DiagnoseClusterResults").msgclass
232
+ ReservationAffinity = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ReservationAffinity").msgclass
233
+ ReservationAffinity::Type = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataproc.v1beta2.ReservationAffinity.Type").enummodule
186
234
  end
187
235
  end
188
236
  end
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/cloud/dataproc/v1beta2/clusters.proto for package 'google.cloud.dataproc.v1beta2'
3
3
  # Original file comments:
4
- # Copyright 2018 Google LLC.
4
+ # Copyright 2019 Google LLC.
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -0,0 +1,202 @@
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 an autoscaling policy for Dataproc cluster autoscaler.
21
+ # @!attribute [rw] id
22
+ # @return [String]
23
+ # Required. The policy id.
24
+ #
25
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
26
+ # underscores (_), and hyphens (-). Cannot begin or end with underscore
27
+ # or hyphen. Must consist of between 3 and 50 characters.
28
+ # @!attribute [rw] name
29
+ # @return [String]
30
+ # Output only. The "resource name" of the policy, as described
31
+ # in https://cloud.google.com/apis/design/resource_names of the form
32
+ # `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}`.
33
+ # @!attribute [rw] basic_algorithm
34
+ # @return [Google::Cloud::Dataproc::V1beta2::BasicAutoscalingAlgorithm]
35
+ # @!attribute [rw] worker_config
36
+ # @return [Google::Cloud::Dataproc::V1beta2::InstanceGroupAutoscalingPolicyConfig]
37
+ # Required. Describes how the autoscaler will operate for primary workers.
38
+ # @!attribute [rw] secondary_worker_config
39
+ # @return [Google::Cloud::Dataproc::V1beta2::InstanceGroupAutoscalingPolicyConfig]
40
+ # Optional. Describes how the autoscaler will operate for secondary workers.
41
+ class AutoscalingPolicy; end
42
+
43
+ # Basic algorithm for autoscaling.
44
+ # @!attribute [rw] yarn_config
45
+ # @return [Google::Cloud::Dataproc::V1beta2::BasicYarnAutoscalingConfig]
46
+ # Required. YARN autoscaling configuration.
47
+ # @!attribute [rw] cooldown_period
48
+ # @return [Google::Protobuf::Duration]
49
+ # Optional. Duration between scaling events. A scaling period starts after
50
+ # the update operation from the previous event has completed.
51
+ #
52
+ # Bounds: [2m, 1d]. Default: 2m.
53
+ class BasicAutoscalingAlgorithm; end
54
+
55
+ # Basic autoscaling configurations for YARN.
56
+ # @!attribute [rw] graceful_decommission_timeout
57
+ # @return [Google::Protobuf::Duration]
58
+ # Required. Timeout for YARN graceful decommissioning of Node Managers.
59
+ # Specifies the duration to wait for jobs to complete before forcefully
60
+ # removing workers (and potentially interrupting jobs). Only applicable to
61
+ # downscaling operations.
62
+ #
63
+ # Bounds: [0s, 1d].
64
+ # @!attribute [rw] scale_up_factor
65
+ # @return [Float]
66
+ # Required. Fraction of average pending memory in the last cooldown period
67
+ # for which to add workers. A scale-up factor of 1.0 will result in scaling
68
+ # up so that there is no pending memory remaining after the update (more
69
+ # aggressive scaling). A scale-up factor closer to 0 will result in a smaller
70
+ # magnitude of scaling up (less aggressive scaling).
71
+ #
72
+ # Bounds: [0.0, 1.0].
73
+ # @!attribute [rw] scale_down_factor
74
+ # @return [Float]
75
+ # Required. Fraction of average pending memory in the last cooldown period
76
+ # for which to remove workers. A scale-down factor of 1 will result in
77
+ # scaling down so that there is no available memory remaining after the
78
+ # update (more aggressive scaling). A scale-down factor of 0 disables
79
+ # removing workers, which can be beneficial for autoscaling a single job.
80
+ #
81
+ # Bounds: [0.0, 1.0].
82
+ # @!attribute [rw] scale_up_min_worker_fraction
83
+ # @return [Float]
84
+ # Optional. Minimum scale-up threshold as a fraction of total cluster size
85
+ # before scaling occurs. For example, in a 20-worker cluster, a threshold of
86
+ # 0.1 means the autoscaler must recommend at least a 2-worker scale-up for
87
+ # the cluster to scale. A threshold of 0 means the autoscaler will scale up
88
+ # on any recommended change.
89
+ #
90
+ # Bounds: [0.0, 1.0]. Default: 0.0.
91
+ # @!attribute [rw] scale_down_min_worker_fraction
92
+ # @return [Float]
93
+ # Optional. Minimum scale-down threshold as a fraction of total cluster size
94
+ # before scaling occurs. For example, in a 20-worker cluster, a threshold of
95
+ # 0.1 means the autoscaler must recommend at least a 2 worker scale-down for
96
+ # the cluster to scale. A threshold of 0 means the autoscaler will scale down
97
+ # on any recommended change.
98
+ #
99
+ # Bounds: [0.0, 1.0]. Default: 0.0.
100
+ class BasicYarnAutoscalingConfig; end
101
+
102
+ # Configuration for the size bounds of an instance group, including its
103
+ # proportional size to other groups.
104
+ # @!attribute [rw] min_instances
105
+ # @return [Integer]
106
+ # Optional. Minimum number of instances for this group.
107
+ #
108
+ # Primary workers - Bounds: [2, max_instances]. Default: 2.
109
+ # Secondary workers - Bounds: [0, max_instances]. Default: 0.
110
+ # @!attribute [rw] max_instances
111
+ # @return [Integer]
112
+ # Optional. Maximum number of instances for this group. Required for primary
113
+ # workers. Note that by default, clusters will not use secondary workers.
114
+ # Required for secondary workers if the minimum secondary instances is set.
115
+ #
116
+ # Primary workers - Bounds: [min_instances, ). Required.
117
+ # Secondary workers - Bounds: [min_instances, ). Default: 0.
118
+ # @!attribute [rw] weight
119
+ # @return [Integer]
120
+ # Optional. Weight for the instance group, which is used to determine the
121
+ # fraction of total workers in the cluster from this instance group.
122
+ # For example, if primary workers have weight 2, and secondary workers have
123
+ # weight 1, the cluster will have approximately 2 primary workers for each
124
+ # secondary worker.
125
+ #
126
+ # The cluster may not reach the specified balance if constrained
127
+ # by min/max bounds or other autoscaling settings. For example, if
128
+ # `max_instances` for secondary workers is 0, then only primary workers will
129
+ # be added. The cluster can also be out of balance when created.
130
+ #
131
+ # If weight is not set on any instance group, the cluster will default to
132
+ # equal weight for all groups: the cluster will attempt to maintain an equal
133
+ # number of workers in each group within the configured size bounds for each
134
+ # group. If weight is set for one group only, the cluster will default to
135
+ # zero weight on the unset group. For example if weight is set only on
136
+ # primary workers, the cluster will use primary workers only and no
137
+ # secondary workers.
138
+ class InstanceGroupAutoscalingPolicyConfig; end
139
+
140
+ # A request to create an autoscaling policy.
141
+ # @!attribute [rw] parent
142
+ # @return [String]
143
+ # Required. The "resource name" of the region, as described
144
+ # in https://cloud.google.com/apis/design/resource_names of the form
145
+ # `projects/{project_id}/regions/{region}`.
146
+ # @!attribute [rw] policy
147
+ # @return [Google::Cloud::Dataproc::V1beta2::AutoscalingPolicy]
148
+ # The autoscaling policy to create.
149
+ class CreateAutoscalingPolicyRequest; end
150
+
151
+ # A request to fetch an autoscaling policy.
152
+ # @!attribute [rw] name
153
+ # @return [String]
154
+ # Required. The "resource name" of the autoscaling policy, as described
155
+ # in https://cloud.google.com/apis/design/resource_names of the form
156
+ # `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}`.
157
+ class GetAutoscalingPolicyRequest; end
158
+
159
+ # A request to update an autoscaling policy.
160
+ # @!attribute [rw] policy
161
+ # @return [Google::Cloud::Dataproc::V1beta2::AutoscalingPolicy]
162
+ # Required. The updated autoscaling policy.
163
+ class UpdateAutoscalingPolicyRequest; end
164
+
165
+ # A request to delete an autoscaling policy.
166
+ #
167
+ # Autoscaling policies in use by one or more clusters will not be deleted.
168
+ # @!attribute [rw] name
169
+ # @return [String]
170
+ # Required. The "resource name" of the autoscaling policy, as described
171
+ # in https://cloud.google.com/apis/design/resource_names of the form
172
+ # `projects/{project_id}/regions/{region}/autoscalingPolicies/{policy_id}`.
173
+ class DeleteAutoscalingPolicyRequest; end
174
+
175
+ # A request to list autoscaling policies in a project.
176
+ # @!attribute [rw] parent
177
+ # @return [String]
178
+ # Required. The "resource name" of the region, as described
179
+ # in https://cloud.google.com/apis/design/resource_names of the form
180
+ # `projects/{project_id}/regions/{region}`
181
+ # @!attribute [rw] page_size
182
+ # @return [Integer]
183
+ # Optional. The maximum number of results to return in each response.
184
+ # @!attribute [rw] page_token
185
+ # @return [String]
186
+ # Optional. The page token, returned by a previous call, to request the
187
+ # next page of results.
188
+ class ListAutoscalingPoliciesRequest; end
189
+
190
+ # A response to a request to list autoscaling policies in a project.
191
+ # @!attribute [rw] policies
192
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::AutoscalingPolicy>]
193
+ # Output only. Autoscaling policies list.
194
+ # @!attribute [rw] next_page_token
195
+ # @return [String]
196
+ # Output only. This token is included in the response if there are more
197
+ # results to fetch.
198
+ class ListAutoscalingPoliciesResponse; end
199
+ end
200
+ end
201
+ end
202
+ end
@@ -60,15 +60,18 @@ module Google
60
60
  # The cluster config.
61
61
  # @!attribute [rw] config_bucket
62
62
  # @return [String]
63
- # Optional. A Cloud Storage staging bucket used for sharing generated
64
- # SSH keys and config. If you do not specify a staging bucket, Cloud
65
- # Dataproc will determine an appropriate Cloud Storage location (US,
63
+ # Optional. A Google 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,
66
67
  # ASIA, or EU) for your cluster's staging bucket according to the Google
67
- # Compute Engine zone where your cluster is deployed, and then it will create
68
- # and manage this project-level, per-location bucket for you.
68
+ # Compute Engine zone where your cluster is deployed, and then create
69
+ # and manage this project-level, per-location bucket (see
70
+ # [Cloud Dataproc staging
71
+ # bucket](/dataproc/docs/concepts/configuring-clusters/staging-bucket)).
69
72
  # @!attribute [rw] gce_cluster_config
70
73
  # @return [Google::Cloud::Dataproc::V1beta2::GceClusterConfig]
71
- # Required. The shared Compute Engine config settings for
74
+ # Optional. The shared Compute Engine config settings for
72
75
  # all instances in a cluster.
73
76
  # @!attribute [rw] master_config
74
77
  # @return [Google::Cloud::Dataproc::V1beta2::InstanceGroupConfig]
@@ -106,8 +109,43 @@ module Google
106
109
  # @!attribute [rw] encryption_config
107
110
  # @return [Google::Cloud::Dataproc::V1beta2::EncryptionConfig]
108
111
  # Optional. Encryption settings for the cluster.
112
+ # @!attribute [rw] autoscaling_config
113
+ # @return [Google::Cloud::Dataproc::V1beta2::AutoscalingConfig]
114
+ # Optional. Autoscaling config for the policy associated with the cluster.
115
+ # Cluster does not autoscale if this field is unset.
116
+ # @!attribute [rw] endpoint_config
117
+ # @return [Google::Cloud::Dataproc::V1beta2::EndpointConfig]
118
+ # Optional. Port/endpoint configuration for this cluster
119
+ # @!attribute [rw] security_config
120
+ # @return [Google::Cloud::Dataproc::V1beta2::SecurityConfig]
121
+ # Optional. Security related configuration.
109
122
  class ClusterConfig; end
110
123
 
124
+ # Endpoint config for this cluster
125
+ # @!attribute [rw] http_ports
126
+ # @return [Hash{String => String}]
127
+ # Output only. The map of port descriptions to URLs. Will only be populated
128
+ # if enable_http_port_access is true.
129
+ # @!attribute [rw] enable_http_port_access
130
+ # @return [true, false]
131
+ # Optional. If true, enable http access to specific ports on the cluster
132
+ # from external sources. Defaults to false.
133
+ class EndpointConfig; end
134
+
135
+ # Autoscaling Policy config associated with the cluster.
136
+ # @!attribute [rw] policy_uri
137
+ # @return [String]
138
+ # Optional. The autoscaling policy used by the cluster.
139
+ #
140
+ # Only resource names including projectid and location (region) are valid.
141
+ # Examples:
142
+ #
143
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`
144
+ # * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`
145
+ #
146
+ # Note that the policy must be in the same project and Cloud Dataproc region.
147
+ class AutoscalingConfig; end
148
+
111
149
  # Encryption settings for the cluster.
112
150
  # @!attribute [rw] gce_pd_kms_key_name
113
151
  # @return [String]
@@ -150,8 +188,8 @@ module Google
150
188
  #
151
189
  # A full URL, partial URI, or short name are valid. Examples:
152
190
  #
153
- # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`
154
- # * `projects/[project_id]/regions/us-east1/sub0`
191
+ # * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`
192
+ # * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
155
193
  # * `sub0`
156
194
  # @!attribute [rw] internal_ip_only
157
195
  # @return [true, false]
@@ -199,6 +237,9 @@ module Google
199
237
  # The Compute Engine metadata entries to add to all instances (see
200
238
  # [Project and instance
201
239
  # metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
240
+ # @!attribute [rw] reservation_affinity
241
+ # @return [Google::Cloud::Dataproc::V1beta2::ReservationAffinity]
242
+ # Optional. Reservation Affinity for consuming Zonal reservation.
202
243
  class GceClusterConfig; end
203
244
 
204
245
  # Optional. The config settings for Compute Engine resources in
@@ -272,8 +313,9 @@ module Google
272
313
  # @!attribute [rw] accelerator_type_uri
273
314
  # @return [String]
274
315
  # Full URL, partial URI, or short name of the accelerator type resource to
275
- # expose to this instance. See [Compute Engine AcceleratorTypes](
276
- # /compute/docs/reference/beta/acceleratorTypes)
316
+ # expose to this instance. See
317
+ # [Compute Engine
318
+ # AcceleratorTypes](/compute/docs/reference/beta/acceleratorTypes)
277
319
  #
278
320
  # Examples
279
321
  # * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
@@ -329,6 +371,77 @@ module Google
329
371
  # Example: **"1d"**, to delete the cluster 1 day after its creation..
330
372
  class LifecycleConfig; end
331
373
 
374
+ # Security related configuration, including encryption, Kerberos, etc.
375
+ # @!attribute [rw] kerberos_config
376
+ # @return [Google::Cloud::Dataproc::V1beta2::KerberosConfig]
377
+ # Kerberos related configuration.
378
+ class SecurityConfig; end
379
+
380
+ # Specifies Kerberos related configuration.
381
+ # @!attribute [rw] enable_kerberos
382
+ # @return [true, false]
383
+ # Optional. Flag to indicate whether to Kerberize the cluster.
384
+ # @!attribute [rw] root_principal_password_uri
385
+ # @return [String]
386
+ # Required. The Cloud Storage URI of a KMS encrypted file containing the root
387
+ # principal password.
388
+ # @!attribute [rw] kms_key_uri
389
+ # @return [String]
390
+ # Required. The uri of the KMS key used to encrypt various sensitive
391
+ # files.
392
+ # @!attribute [rw] keystore_uri
393
+ # @return [String]
394
+ # Optional. The Cloud Storage URI of the keystore file used for SSL
395
+ # encryption. If not provided, Dataproc will provide a self-signed
396
+ # certificate.
397
+ # @!attribute [rw] truststore_uri
398
+ # @return [String]
399
+ # Optional. The Cloud Storage URI of the truststore file used for SSL
400
+ # encryption. If not provided, Dataproc will provide a self-signed
401
+ # certificate.
402
+ # @!attribute [rw] keystore_password_uri
403
+ # @return [String]
404
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
405
+ # password to the user provided keystore. For the self-signed certificate,
406
+ # this password is generated by Dataproc.
407
+ # @!attribute [rw] key_password_uri
408
+ # @return [String]
409
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
410
+ # password to the user provided key. For the self-signed certificate, this
411
+ # password is generated by Dataproc.
412
+ # @!attribute [rw] truststore_password_uri
413
+ # @return [String]
414
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
415
+ # password to the user provided truststore. For the self-signed certificate,
416
+ # this password is generated by Dataproc.
417
+ # @!attribute [rw] cross_realm_trust_realm
418
+ # @return [String]
419
+ # Optional. The remote realm the Dataproc on-cluster KDC will trust, should
420
+ # the user enable cross realm trust.
421
+ # @!attribute [rw] cross_realm_trust_kdc
422
+ # @return [String]
423
+ # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross
424
+ # realm trust relationship.
425
+ # @!attribute [rw] cross_realm_trust_admin_server
426
+ # @return [String]
427
+ # Optional. The admin server (IP or hostname) for the remote trusted realm in
428
+ # a cross realm trust relationship.
429
+ # @!attribute [rw] cross_realm_trust_shared_password_uri
430
+ # @return [String]
431
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
432
+ # shared password between the on-cluster Kerberos realm and the remote
433
+ # trusted realm, in a cross realm trust relationship.
434
+ # @!attribute [rw] kdc_db_key_uri
435
+ # @return [String]
436
+ # Optional. The Cloud Storage URI of a KMS encrypted file containing the
437
+ # master key of the KDC database.
438
+ # @!attribute [rw] tgt_lifetime_hours
439
+ # @return [Integer]
440
+ # Optional. The lifetime of the ticket granting ticket, in hours.
441
+ # If not specified, or user specifies 0, then default value 10
442
+ # will be used.
443
+ class KerberosConfig; end
444
+
332
445
  # Specifies an executable to run on a fully configured node and a
333
446
  # timeout period for executable completion.
334
447
  # @!attribute [rw] executable_file
@@ -407,13 +520,13 @@ module Google
407
520
  # such as "1.2" (including a subminor version, such as "1.2.29"), or the
408
521
  # ["preview"
409
522
  # version](/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).
410
- # If unspecified, it defaults to the latest version.
523
+ # If unspecified, it defaults to the latest Debian version.
411
524
  # @!attribute [rw] properties
412
525
  # @return [Hash{String => String}]
413
526
  # Optional. The properties to set on daemon config files.
414
527
  #
415
- # Property keys are specified in `prefix:property` format, such as
416
- # `core:fs.defaultFS`. The following are supported prefixes
528
+ # Property keys are specified in `prefix:property` format, for example
529
+ # `core:hadoop.tmp.dir`. The following are supported prefixes
417
530
  # and their mappings:
418
531
  #
419
532
  # * capacity-scheduler: `capacity-scheduler.xml`
@@ -428,6 +541,9 @@ module Google
428
541
  #
429
542
  # For more information, see
430
543
  # [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).
544
+ # @!attribute [rw] optional_components
545
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::Component>]
546
+ # The set of optional components to activate on the cluster.
431
547
  class SoftwareConfig; end
432
548
 
433
549
  # Contains cluster daemon metrics, such as HDFS and YARN stats.
@@ -456,11 +572,10 @@ module Google
456
572
  # @!attribute [rw] request_id
457
573
  # @return [String]
458
574
  # Optional. A unique id used to identify the request. If the server
459
- # receives two
460
- # {Google::Cloud::Dataproc::V1beta2::CreateClusterRequest CreateClusterRequest}
461
- # requests with the same id, then the second request will be ignored and the
462
- # first {Google::Longrunning::Operation} created
463
- # and stored in the backend is returned.
575
+ # receives two {Google::Cloud::Dataproc::V1beta2::CreateClusterRequest CreateClusterRequest} requests with the same
576
+ # id, then the second request will be ignored and the
577
+ # first {Google::Longrunning::Operation} created and stored in the backend
578
+ # is returned.
464
579
  #
465
580
  # It is recommended to always set this value to a
466
581
  # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
@@ -550,15 +665,18 @@ module Google
550
665
  # <td>config.lifecycle_config.idle_delete_ttl</td><td>Update Idle TTL
551
666
  # duration</td>
552
667
  # </tr>
668
+ # <tr>
669
+ # <td>config.autoscaling_config.policy_uri</td><td>Use, stop using, or change
670
+ # autoscaling policies</td>
671
+ # </tr>
553
672
  # </table>
554
673
  # @!attribute [rw] request_id
555
674
  # @return [String]
556
675
  # Optional. A unique id used to identify the request. If the server
557
- # receives two
558
- # {Google::Cloud::Dataproc::V1beta2::UpdateClusterRequest UpdateClusterRequest}
559
- # requests with the same id, then the second request will be ignored and the
560
- # first {Google::Longrunning::Operation} created
561
- # and stored in the backend is returned.
676
+ # receives two {Google::Cloud::Dataproc::V1beta2::UpdateClusterRequest UpdateClusterRequest} requests with the same
677
+ # id, then the second request will be ignored and the
678
+ # first {Google::Longrunning::Operation} created and stored in the
679
+ # backend is returned.
562
680
  #
563
681
  # It is recommended to always set this value to a
564
682
  # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
@@ -585,11 +703,10 @@ module Google
585
703
  # @!attribute [rw] request_id
586
704
  # @return [String]
587
705
  # Optional. A unique id used to identify the request. If the server
588
- # receives two
589
- # {Google::Cloud::Dataproc::V1beta2::DeleteClusterRequest DeleteClusterRequest}
590
- # requests with the same id, then the second request will be ignored and the
591
- # first {Google::Longrunning::Operation} created
592
- # and stored in the backend is returned.
706
+ # receives two {Google::Cloud::Dataproc::V1beta2::DeleteClusterRequest DeleteClusterRequest} requests with the same
707
+ # id, then the second request will be ignored and the
708
+ # first {Google::Longrunning::Operation} created and stored in the
709
+ # backend is returned.
593
710
  #
594
711
  # It is recommended to always set this value to a
595
712
  # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
@@ -679,6 +796,33 @@ module Google
679
796
  # The output report is a plain text file with a summary of collected
680
797
  # diagnostics.
681
798
  class DiagnoseClusterResults; end
799
+
800
+ # Reservation Affinity for consuming Zonal reservation.
801
+ # @!attribute [rw] consume_reservation_type
802
+ # @return [Google::Cloud::Dataproc::V1beta2::ReservationAffinity::Type]
803
+ # Optional. Type of reservation to consume
804
+ # @!attribute [rw] key
805
+ # @return [String]
806
+ # Optional. Corresponds to the label key of reservation resource.
807
+ # @!attribute [rw] values
808
+ # @return [Array<String>]
809
+ # Optional. Corresponds to the label values of reservation resource.
810
+ class ReservationAffinity
811
+ # Indicates whether to consume capacity from an reservation or not.
812
+ module Type
813
+ TYPE_UNSPECIFIED = 0
814
+
815
+ # Do not consume from any allocated capacity.
816
+ NO_RESERVATION = 1
817
+
818
+ # Consume any reservation available.
819
+ ANY_RESERVATION = 2
820
+
821
+ # Must consume from a specific reservation. Must specify key value fields
822
+ # for specifying the reservations.
823
+ SPECIFIC_RESERVATION = 3
824
+ end
825
+ end
682
826
  end
683
827
  end
684
828
  end