google-cloud-dataproc 0.3.1 → 0.4.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 (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