google-cloud-dataproc-v1beta2 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +71 -0
  6. data/lib/google-cloud-dataproc-v1beta2.rb +21 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/dataproc/v1beta2.rb +38 -0
  9. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policies_pb.rb +81 -0
  10. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policies_services_pb.rb +58 -0
  11. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policy_service.rb +50 -0
  12. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policy_service/client.rb +734 -0
  13. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policy_service/credentials.rb +51 -0
  14. data/lib/google/cloud/dataproc/v1beta2/autoscaling_policy_service/paths.rb +110 -0
  15. data/lib/google/cloud/dataproc/v1beta2/cluster_controller.rb +50 -0
  16. data/lib/google/cloud/dataproc/v1beta2/cluster_controller/client.rb +979 -0
  17. data/lib/google/cloud/dataproc/v1beta2/cluster_controller/credentials.rb +51 -0
  18. data/lib/google/cloud/dataproc/v1beta2/cluster_controller/operations.rb +564 -0
  19. data/lib/google/cloud/dataproc/v1beta2/clusters_pb.rb +255 -0
  20. data/lib/google/cloud/dataproc/v1beta2/clusters_services_pb.rb +68 -0
  21. data/lib/google/cloud/dataproc/v1beta2/job_controller.rb +49 -0
  22. data/lib/google/cloud/dataproc/v1beta2/job_controller/client.rb +980 -0
  23. data/lib/google/cloud/dataproc/v1beta2/job_controller/credentials.rb +51 -0
  24. data/lib/google/cloud/dataproc/v1beta2/job_controller/operations.rb +564 -0
  25. data/lib/google/cloud/dataproc/v1beta2/jobs_pb.rb +283 -0
  26. data/lib/google/cloud/dataproc/v1beta2/jobs_services_pb.rb +62 -0
  27. data/lib/google/cloud/dataproc/v1beta2/operations_pb.rb +45 -0
  28. data/lib/google/cloud/dataproc/v1beta2/shared_pb.rb +35 -0
  29. data/lib/google/cloud/dataproc/v1beta2/version.rb +28 -0
  30. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service.rb +51 -0
  31. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service/client.rb +1028 -0
  32. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service/credentials.rb +51 -0
  33. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service/operations.rb +564 -0
  34. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service/paths.rb +110 -0
  35. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_pb.rb +189 -0
  36. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_services_pb.rb +104 -0
  37. data/proto_docs/README.md +4 -0
  38. data/proto_docs/google/api/field_behavior.rb +59 -0
  39. data/proto_docs/google/api/resource.rb +247 -0
  40. data/proto_docs/google/cloud/dataproc/v1beta2/autoscaling_policies.rb +272 -0
  41. data/proto_docs/google/cloud/dataproc/v1beta2/clusters.rb +1032 -0
  42. data/proto_docs/google/cloud/dataproc/v1beta2/jobs.rb +984 -0
  43. data/proto_docs/google/cloud/dataproc/v1beta2/operations.rb +98 -0
  44. data/proto_docs/google/cloud/dataproc/v1beta2/shared.rb +68 -0
  45. data/proto_docs/google/cloud/dataproc/v1beta2/workflow_templates.rb +706 -0
  46. data/proto_docs/google/longrunning/operations.rb +150 -0
  47. data/proto_docs/google/protobuf/any.rb +138 -0
  48. data/proto_docs/google/protobuf/duration.rb +98 -0
  49. data/proto_docs/google/protobuf/empty.rb +36 -0
  50. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  51. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  52. data/proto_docs/google/rpc/status.rb +46 -0
  53. metadata +205 -0
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Dataproc
23
+ module V1beta2
24
+ # The status of the operation.
25
+ # @!attribute [rw] state
26
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterOperationStatus::State]
27
+ # Output only. A message containing the operation state.
28
+ # @!attribute [rw] inner_state
29
+ # @return [String]
30
+ # Output only. A message containing the detailed operation state.
31
+ # @!attribute [rw] details
32
+ # @return [String]
33
+ # Output only. A message containing any operation metadata details.
34
+ # @!attribute [rw] state_start_time
35
+ # @return [Google::Protobuf::Timestamp]
36
+ # Output only. The time this state was entered.
37
+ class ClusterOperationStatus
38
+ include Google::Protobuf::MessageExts
39
+ extend Google::Protobuf::MessageExts::ClassMethods
40
+
41
+ # The operation state.
42
+ module State
43
+ # Unused.
44
+ UNKNOWN = 0
45
+
46
+ # The operation has been created.
47
+ PENDING = 1
48
+
49
+ # The operation is running.
50
+ RUNNING = 2
51
+
52
+ # The operation is done; either cancelled or completed.
53
+ DONE = 3
54
+ end
55
+ end
56
+
57
+ # Metadata describing the operation.
58
+ # @!attribute [rw] cluster_name
59
+ # @return [String]
60
+ # Output only. Name of the cluster for the operation.
61
+ # @!attribute [rw] cluster_uuid
62
+ # @return [String]
63
+ # Output only. Cluster UUID for the operation.
64
+ # @!attribute [rw] status
65
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterOperationStatus]
66
+ # Output only. Current operation status.
67
+ # @!attribute [rw] status_history
68
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::ClusterOperationStatus>]
69
+ # Output only. The previous operation status.
70
+ # @!attribute [rw] operation_type
71
+ # @return [String]
72
+ # Output only. The operation type.
73
+ # @!attribute [rw] description
74
+ # @return [String]
75
+ # Output only. Short description of operation.
76
+ # @!attribute [rw] labels
77
+ # @return [Google::Protobuf::Map{String => String}]
78
+ # Output only. Labels associated with the operation
79
+ # @!attribute [rw] warnings
80
+ # @return [Array<String>]
81
+ # Output only. Errors encountered during operation execution.
82
+ class ClusterOperationMetadata
83
+ include Google::Protobuf::MessageExts
84
+ extend Google::Protobuf::MessageExts::ClassMethods
85
+
86
+ # @!attribute [rw] key
87
+ # @return [String]
88
+ # @!attribute [rw] value
89
+ # @return [String]
90
+ class LabelsEntry
91
+ include Google::Protobuf::MessageExts
92
+ extend Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Dataproc
23
+ module V1beta2
24
+ # Cluster components that can be activated.
25
+ module Component
26
+ # Unspecified component.
27
+ COMPONENT_UNSPECIFIED = 0
28
+
29
+ # The Anaconda python distribution.
30
+ ANACONDA = 5
31
+
32
+ # Docker
33
+ DOCKER = 13
34
+
35
+ # The Druid query engine.
36
+ DRUID = 9
37
+
38
+ # Flink
39
+ FLINK = 14
40
+
41
+ # The Hive Web HCatalog (the REST service for accessing HCatalog).
42
+ HIVE_WEBHCAT = 3
43
+
44
+ # The Jupyter Notebook.
45
+ JUPYTER = 1
46
+
47
+ # The Kerberos security feature.
48
+ KERBEROS = 7
49
+
50
+ # The Presto query engine.
51
+ PRESTO = 6
52
+
53
+ # The Ranger service.
54
+ RANGER = 12
55
+
56
+ # The Solr service.
57
+ SOLR = 10
58
+
59
+ # The Zeppelin notebook.
60
+ ZEPPELIN = 4
61
+
62
+ # The Zookeeper service.
63
+ ZOOKEEPER = 8
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,706 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Dataproc
23
+ module V1beta2
24
+ # A Dataproc workflow template resource.
25
+ # @!attribute [rw] id
26
+ # @return [String]
27
+ # Required. The template id.
28
+ #
29
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
30
+ # underscores (_), and hyphens (-). Cannot begin or end with underscore
31
+ # or hyphen. Must consist of between 3 and 50 characters.
32
+ #
33
+ # .
34
+ # @!attribute [r] name
35
+ # @return [String]
36
+ # Output only. The resource name of the workflow template, as described
37
+ # in https://cloud.google.com/apis/design/resource_names.
38
+ #
39
+ # * For `projects.regions.workflowTemplates`, the resource name of the
40
+ # template has the following format:
41
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
42
+ #
43
+ # * For `projects.locations.workflowTemplates`, the resource name of the
44
+ # template has the following format:
45
+ # `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
46
+ # @!attribute [rw] version
47
+ # @return [Integer]
48
+ # Optional. Used to perform a consistent read-modify-write.
49
+ #
50
+ # This field should be left blank for a `CreateWorkflowTemplate` request. It
51
+ # is required for an `UpdateWorkflowTemplate` request, and must match the
52
+ # current server version. A typical update template flow would fetch the
53
+ # current template with a `GetWorkflowTemplate` request, which will return
54
+ # the current template with the `version` field filled in with the
55
+ # current server version. The user updates other fields in the template,
56
+ # then returns it as part of the `UpdateWorkflowTemplate` request.
57
+ # @!attribute [r] create_time
58
+ # @return [Google::Protobuf::Timestamp]
59
+ # Output only. The time template was created.
60
+ # @!attribute [r] update_time
61
+ # @return [Google::Protobuf::Timestamp]
62
+ # Output only. The time template was last updated.
63
+ # @!attribute [rw] labels
64
+ # @return [Google::Protobuf::Map{String => String}]
65
+ # Optional. The labels to associate with this template. These labels
66
+ # will be propagated to all jobs and clusters created by the workflow
67
+ # instance.
68
+ #
69
+ # Label **keys** must contain 1 to 63 characters, and must conform to
70
+ # [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
71
+ #
72
+ # Label **values** may be empty, but, if present, must contain 1 to 63
73
+ # characters, and must conform to
74
+ # [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
75
+ #
76
+ # No more than 32 labels can be associated with a template.
77
+ # @!attribute [rw] placement
78
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplatePlacement]
79
+ # Required. WorkflowTemplate scheduling information.
80
+ # @!attribute [rw] jobs
81
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::OrderedJob>]
82
+ # Required. The Directed Acyclic Graph of Jobs to submit.
83
+ # @!attribute [rw] parameters
84
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::TemplateParameter>]
85
+ # Optional. Template parameters whose values are substituted into the
86
+ # template. Values for parameters must be provided when the template is
87
+ # instantiated.
88
+ class WorkflowTemplate
89
+ include Google::Protobuf::MessageExts
90
+ extend Google::Protobuf::MessageExts::ClassMethods
91
+
92
+ # @!attribute [rw] key
93
+ # @return [String]
94
+ # @!attribute [rw] value
95
+ # @return [String]
96
+ class LabelsEntry
97
+ include Google::Protobuf::MessageExts
98
+ extend Google::Protobuf::MessageExts::ClassMethods
99
+ end
100
+ end
101
+
102
+ # Specifies workflow execution target.
103
+ #
104
+ # Either `managed_cluster` or `cluster_selector` is required.
105
+ # @!attribute [rw] managed_cluster
106
+ # @return [Google::Cloud::Dataproc::V1beta2::ManagedCluster]
107
+ # Optional. A cluster that is managed by the workflow.
108
+ # @!attribute [rw] cluster_selector
109
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterSelector]
110
+ # Optional. A selector that chooses target cluster for jobs based
111
+ # on metadata.
112
+ #
113
+ # The selector is evaluated at the time each job is submitted.
114
+ class WorkflowTemplatePlacement
115
+ include Google::Protobuf::MessageExts
116
+ extend Google::Protobuf::MessageExts::ClassMethods
117
+ end
118
+
119
+ # Cluster that is managed by the workflow.
120
+ # @!attribute [rw] cluster_name
121
+ # @return [String]
122
+ # Required. The cluster name prefix. A unique cluster name will be formed by
123
+ # appending a random suffix.
124
+ #
125
+ # The name must contain only lower-case letters (a-z), numbers (0-9),
126
+ # and hyphens (-). Must begin with a letter. Cannot begin or end with
127
+ # hyphen. Must consist of between 2 and 35 characters.
128
+ # @!attribute [rw] config
129
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterConfig]
130
+ # Required. The cluster configuration.
131
+ # @!attribute [rw] labels
132
+ # @return [Google::Protobuf::Map{String => String}]
133
+ # Optional. The labels to associate with this cluster.
134
+ #
135
+ # Label keys must be between 1 and 63 characters long, and must conform to
136
+ # the following PCRE regular expression:
137
+ # [\p\\{Ll}\p\\{Lo}][\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,62}
138
+ #
139
+ # Label values must be between 1 and 63 characters long, and must conform to
140
+ # the following PCRE regular expression: [\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,63}
141
+ #
142
+ # No more than 32 labels can be associated with a given cluster.
143
+ class ManagedCluster
144
+ include Google::Protobuf::MessageExts
145
+ extend Google::Protobuf::MessageExts::ClassMethods
146
+
147
+ # @!attribute [rw] key
148
+ # @return [String]
149
+ # @!attribute [rw] value
150
+ # @return [String]
151
+ class LabelsEntry
152
+ include Google::Protobuf::MessageExts
153
+ extend Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+ end
156
+
157
+ # A selector that chooses target cluster for jobs based on metadata.
158
+ # @!attribute [rw] zone
159
+ # @return [String]
160
+ # Optional. The zone where workflow process executes. This parameter does not
161
+ # affect the selection of the cluster.
162
+ #
163
+ # If unspecified, the zone of the first cluster matching the selector
164
+ # is used.
165
+ # @!attribute [rw] cluster_labels
166
+ # @return [Google::Protobuf::Map{String => String}]
167
+ # Required. The cluster labels. Cluster must have all labels
168
+ # to match.
169
+ class ClusterSelector
170
+ include Google::Protobuf::MessageExts
171
+ extend Google::Protobuf::MessageExts::ClassMethods
172
+
173
+ # @!attribute [rw] key
174
+ # @return [String]
175
+ # @!attribute [rw] value
176
+ # @return [String]
177
+ class ClusterLabelsEntry
178
+ include Google::Protobuf::MessageExts
179
+ extend Google::Protobuf::MessageExts::ClassMethods
180
+ end
181
+ end
182
+
183
+ # A job executed by the workflow.
184
+ # @!attribute [rw] step_id
185
+ # @return [String]
186
+ # Required. The step id. The id must be unique among all jobs
187
+ # within the template.
188
+ #
189
+ # The step id is used as prefix for job id, as job
190
+ # `goog-dataproc-workflow-step-id` label, and in
191
+ # {Google::Cloud::Dataproc::V1beta2::OrderedJob#prerequisite_step_ids prerequisiteStepIds} field from other
192
+ # steps.
193
+ #
194
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
195
+ # underscores (_), and hyphens (-). Cannot begin or end with underscore
196
+ # or hyphen. Must consist of between 3 and 50 characters.
197
+ # @!attribute [rw] hadoop_job
198
+ # @return [Google::Cloud::Dataproc::V1beta2::HadoopJob]
199
+ # @!attribute [rw] spark_job
200
+ # @return [Google::Cloud::Dataproc::V1beta2::SparkJob]
201
+ # @!attribute [rw] pyspark_job
202
+ # @return [Google::Cloud::Dataproc::V1beta2::PySparkJob]
203
+ # @!attribute [rw] hive_job
204
+ # @return [Google::Cloud::Dataproc::V1beta2::HiveJob]
205
+ # @!attribute [rw] pig_job
206
+ # @return [Google::Cloud::Dataproc::V1beta2::PigJob]
207
+ # @!attribute [rw] spark_r_job
208
+ # @return [Google::Cloud::Dataproc::V1beta2::SparkRJob]
209
+ # Spark R job
210
+ # @!attribute [rw] spark_sql_job
211
+ # @return [Google::Cloud::Dataproc::V1beta2::SparkSqlJob]
212
+ # @!attribute [rw] presto_job
213
+ # @return [Google::Cloud::Dataproc::V1beta2::PrestoJob]
214
+ # Presto job
215
+ # @!attribute [rw] labels
216
+ # @return [Google::Protobuf::Map{String => String}]
217
+ # Optional. The labels to associate with this job.
218
+ #
219
+ # Label keys must be between 1 and 63 characters long, and must conform to
220
+ # the following regular expression:
221
+ # [\p\\{Ll}\p\\{Lo}][\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,62}
222
+ #
223
+ # Label values must be between 1 and 63 characters long, and must conform to
224
+ # the following regular expression: [\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,63}
225
+ #
226
+ # No more than 32 labels can be associated with a given job.
227
+ # @!attribute [rw] scheduling
228
+ # @return [Google::Cloud::Dataproc::V1beta2::JobScheduling]
229
+ # Optional. Job scheduling configuration.
230
+ # @!attribute [rw] prerequisite_step_ids
231
+ # @return [Array<String>]
232
+ # Optional. The optional list of prerequisite job step_ids.
233
+ # If not specified, the job will start at the beginning of workflow.
234
+ class OrderedJob
235
+ include Google::Protobuf::MessageExts
236
+ extend Google::Protobuf::MessageExts::ClassMethods
237
+
238
+ # @!attribute [rw] key
239
+ # @return [String]
240
+ # @!attribute [rw] value
241
+ # @return [String]
242
+ class LabelsEntry
243
+ include Google::Protobuf::MessageExts
244
+ extend Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+ end
247
+
248
+ # A configurable parameter that replaces one or more fields in the template.
249
+ # Parameterizable fields:
250
+ # - Labels
251
+ # - File uris
252
+ # - Job properties
253
+ # - Job arguments
254
+ # - Script variables
255
+ # - Main class (in HadoopJob and SparkJob)
256
+ # - Zone (in ClusterSelector)
257
+ # @!attribute [rw] name
258
+ # @return [String]
259
+ # Required. Parameter name.
260
+ # The parameter name is used as the key, and paired with the
261
+ # parameter value, which are passed to the template when the template
262
+ # is instantiated.
263
+ # The name must contain only capital letters (A-Z), numbers (0-9), and
264
+ # underscores (_), and must not start with a number. The maximum length is
265
+ # 40 characters.
266
+ # @!attribute [rw] fields
267
+ # @return [Array<String>]
268
+ # Required. Paths to all fields that the parameter replaces.
269
+ # A field is allowed to appear in at most one parameter's list of field
270
+ # paths.
271
+ #
272
+ # A field path is similar in syntax to a {Google::Protobuf::FieldMask google.protobuf.FieldMask}.
273
+ # For example, a field path that references the zone field of a workflow
274
+ # template's cluster selector would be specified as
275
+ # `placement.clusterSelector.zone`.
276
+ #
277
+ # Also, field paths can reference fields using the following syntax:
278
+ #
279
+ # * Values in maps can be referenced by key:
280
+ # * labels['key']
281
+ # * placement.clusterSelector.clusterLabels['key']
282
+ # * placement.managedCluster.labels['key']
283
+ # * placement.clusterSelector.clusterLabels['key']
284
+ # * jobs['step-id'].labels['key']
285
+ #
286
+ # * Jobs in the jobs list can be referenced by step-id:
287
+ # * jobs['step-id'].hadoopJob.mainJarFileUri
288
+ # * jobs['step-id'].hiveJob.queryFileUri
289
+ # * jobs['step-id'].pySparkJob.mainPythonFileUri
290
+ # * jobs['step-id'].hadoopJob.jarFileUris[0]
291
+ # * jobs['step-id'].hadoopJob.archiveUris[0]
292
+ # * jobs['step-id'].hadoopJob.fileUris[0]
293
+ # * jobs['step-id'].pySparkJob.pythonFileUris[0]
294
+ #
295
+ # * Items in repeated fields can be referenced by a zero-based index:
296
+ # * jobs['step-id'].sparkJob.args[0]
297
+ #
298
+ # * Other examples:
299
+ # * jobs['step-id'].hadoopJob.properties['key']
300
+ # * jobs['step-id'].hadoopJob.args[0]
301
+ # * jobs['step-id'].hiveJob.scriptVariables['key']
302
+ # * jobs['step-id'].hadoopJob.mainJarFileUri
303
+ # * placement.clusterSelector.zone
304
+ #
305
+ # It may not be possible to parameterize maps and repeated fields in their
306
+ # entirety since only individual map values and individual items in repeated
307
+ # fields can be referenced. For example, the following field paths are
308
+ # invalid:
309
+ #
310
+ # - placement.clusterSelector.clusterLabels
311
+ # - jobs['step-id'].sparkJob.args
312
+ # @!attribute [rw] description
313
+ # @return [String]
314
+ # Optional. Brief description of the parameter.
315
+ # Must not exceed 1024 characters.
316
+ # @!attribute [rw] validation
317
+ # @return [Google::Cloud::Dataproc::V1beta2::ParameterValidation]
318
+ # Optional. Validation rules to be applied to this parameter's value.
319
+ class TemplateParameter
320
+ include Google::Protobuf::MessageExts
321
+ extend Google::Protobuf::MessageExts::ClassMethods
322
+ end
323
+
324
+ # Configuration for parameter validation.
325
+ # @!attribute [rw] regex
326
+ # @return [Google::Cloud::Dataproc::V1beta2::RegexValidation]
327
+ # Validation based on regular expressions.
328
+ # @!attribute [rw] values
329
+ # @return [Google::Cloud::Dataproc::V1beta2::ValueValidation]
330
+ # Validation based on a list of allowed values.
331
+ class ParameterValidation
332
+ include Google::Protobuf::MessageExts
333
+ extend Google::Protobuf::MessageExts::ClassMethods
334
+ end
335
+
336
+ # Validation based on regular expressions.
337
+ # @!attribute [rw] regexes
338
+ # @return [Array<String>]
339
+ # Required. RE2 regular expressions used to validate the parameter's value.
340
+ # The value must match the regex in its entirety (substring
341
+ # matches are not sufficient).
342
+ class RegexValidation
343
+ include Google::Protobuf::MessageExts
344
+ extend Google::Protobuf::MessageExts::ClassMethods
345
+ end
346
+
347
+ # Validation based on a list of allowed values.
348
+ # @!attribute [rw] values
349
+ # @return [Array<String>]
350
+ # Required. List of allowed values for the parameter.
351
+ class ValueValidation
352
+ include Google::Protobuf::MessageExts
353
+ extend Google::Protobuf::MessageExts::ClassMethods
354
+ end
355
+
356
+ # A Dataproc workflow template resource.
357
+ # @!attribute [r] template
358
+ # @return [String]
359
+ # Output only. The resource name of the workflow template as described
360
+ # in https://cloud.google.com/apis/design/resource_names.
361
+ #
362
+ # * For `projects.regions.workflowTemplates`, the resource name of the
363
+ # template has the following format:
364
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
365
+ #
366
+ # * For `projects.locations.workflowTemplates`, the resource name of the
367
+ # template has the following format:
368
+ # `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
369
+ # @!attribute [r] version
370
+ # @return [Integer]
371
+ # Output only. The version of template at the time of
372
+ # workflow instantiation.
373
+ # @!attribute [r] create_cluster
374
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterOperation]
375
+ # Output only. The create cluster operation metadata.
376
+ # @!attribute [r] graph
377
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowGraph]
378
+ # Output only. The workflow graph.
379
+ # @!attribute [r] delete_cluster
380
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterOperation]
381
+ # Output only. The delete cluster operation metadata.
382
+ # @!attribute [r] state
383
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowMetadata::State]
384
+ # Output only. The workflow state.
385
+ # @!attribute [r] cluster_name
386
+ # @return [String]
387
+ # Output only. The name of the target cluster.
388
+ # @!attribute [rw] parameters
389
+ # @return [Google::Protobuf::Map{String => String}]
390
+ # Map from parameter names to values that were used for those parameters.
391
+ # @!attribute [r] start_time
392
+ # @return [Google::Protobuf::Timestamp]
393
+ # Output only. Workflow start time.
394
+ # @!attribute [r] end_time
395
+ # @return [Google::Protobuf::Timestamp]
396
+ # Output only. Workflow end time.
397
+ # @!attribute [r] cluster_uuid
398
+ # @return [String]
399
+ # Output only. The UUID of target cluster.
400
+ class WorkflowMetadata
401
+ include Google::Protobuf::MessageExts
402
+ extend Google::Protobuf::MessageExts::ClassMethods
403
+
404
+ # @!attribute [rw] key
405
+ # @return [String]
406
+ # @!attribute [rw] value
407
+ # @return [String]
408
+ class ParametersEntry
409
+ include Google::Protobuf::MessageExts
410
+ extend Google::Protobuf::MessageExts::ClassMethods
411
+ end
412
+
413
+ # The operation state.
414
+ module State
415
+ # Unused.
416
+ UNKNOWN = 0
417
+
418
+ # The operation has been created.
419
+ PENDING = 1
420
+
421
+ # The operation is running.
422
+ RUNNING = 2
423
+
424
+ # The operation is done; either cancelled or completed.
425
+ DONE = 3
426
+ end
427
+ end
428
+
429
+ # The cluster operation triggered by a workflow.
430
+ # @!attribute [r] operation_id
431
+ # @return [String]
432
+ # Output only. The id of the cluster operation.
433
+ # @!attribute [r] error
434
+ # @return [String]
435
+ # Output only. Error, if operation failed.
436
+ # @!attribute [r] done
437
+ # @return [Boolean]
438
+ # Output only. Indicates the operation is done.
439
+ class ClusterOperation
440
+ include Google::Protobuf::MessageExts
441
+ extend Google::Protobuf::MessageExts::ClassMethods
442
+ end
443
+
444
+ # The workflow graph.
445
+ # @!attribute [r] nodes
446
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::WorkflowNode>]
447
+ # Output only. The workflow nodes.
448
+ class WorkflowGraph
449
+ include Google::Protobuf::MessageExts
450
+ extend Google::Protobuf::MessageExts::ClassMethods
451
+ end
452
+
453
+ # The workflow node.
454
+ # @!attribute [r] step_id
455
+ # @return [String]
456
+ # Output only. The name of the node.
457
+ # @!attribute [r] prerequisite_step_ids
458
+ # @return [Array<String>]
459
+ # Output only. Node's prerequisite nodes.
460
+ # @!attribute [r] job_id
461
+ # @return [String]
462
+ # Output only. The job id; populated after the node enters RUNNING state.
463
+ # @!attribute [r] state
464
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowNode::NodeState]
465
+ # Output only. The node state.
466
+ # @!attribute [r] error
467
+ # @return [String]
468
+ # Output only. The error detail.
469
+ class WorkflowNode
470
+ include Google::Protobuf::MessageExts
471
+ extend Google::Protobuf::MessageExts::ClassMethods
472
+
473
+ # The workflow node state.
474
+ module NodeState
475
+ # State is unspecified.
476
+ NODE_STATUS_UNSPECIFIED = 0
477
+
478
+ # The node is awaiting prerequisite node to finish.
479
+ BLOCKED = 1
480
+
481
+ # The node is runnable but not running.
482
+ RUNNABLE = 2
483
+
484
+ # The node is running.
485
+ RUNNING = 3
486
+
487
+ # The node completed successfully.
488
+ COMPLETED = 4
489
+
490
+ # The node failed. A node can be marked FAILED because
491
+ # its ancestor or peer failed.
492
+ FAILED = 5
493
+ end
494
+ end
495
+
496
+ # A request to create a workflow template.
497
+ # @!attribute [rw] parent
498
+ # @return [String]
499
+ # Required. The resource name of the region or location, as described
500
+ # in https://cloud.google.com/apis/design/resource_names.
501
+ #
502
+ # * For `projects.regions.workflowTemplates,create`, the resource name of the
503
+ # region has the following format:
504
+ # `projects/{project_id}/regions/{region}`
505
+ #
506
+ # * For `projects.locations.workflowTemplates.create`, the resource name of
507
+ # the location has the following format:
508
+ # `projects/{project_id}/locations/{location}`
509
+ # @!attribute [rw] template
510
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplate]
511
+ # Required. The Dataproc workflow template to create.
512
+ class CreateWorkflowTemplateRequest
513
+ include Google::Protobuf::MessageExts
514
+ extend Google::Protobuf::MessageExts::ClassMethods
515
+ end
516
+
517
+ # A request to fetch a workflow template.
518
+ # @!attribute [rw] name
519
+ # @return [String]
520
+ # Required. The resource name of the workflow template, as described
521
+ # in https://cloud.google.com/apis/design/resource_names.
522
+ #
523
+ # * For `projects.regions.workflowTemplates.get`, the resource name of the
524
+ # template has the following format:
525
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
526
+ #
527
+ # * For `projects.locations.workflowTemplates.get`, the resource name of the
528
+ # template has the following format:
529
+ # `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
530
+ # @!attribute [rw] version
531
+ # @return [Integer]
532
+ # Optional. The version of workflow template to retrieve. Only previously
533
+ # instantiated versions can be retrieved.
534
+ #
535
+ # If unspecified, retrieves the current version.
536
+ class GetWorkflowTemplateRequest
537
+ include Google::Protobuf::MessageExts
538
+ extend Google::Protobuf::MessageExts::ClassMethods
539
+ end
540
+
541
+ # A request to instantiate a workflow template.
542
+ # @!attribute [rw] name
543
+ # @return [String]
544
+ # Required. The resource name of the workflow template, as described
545
+ # in https://cloud.google.com/apis/design/resource_names.
546
+ #
547
+ # * For `projects.regions.workflowTemplates.instantiate`, the resource name
548
+ # of the template has the following format:
549
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
550
+ #
551
+ # * For `projects.locations.workflowTemplates.instantiate`, the resource name
552
+ # of the template has the following format:
553
+ # `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
554
+ # @!attribute [rw] version
555
+ # @return [Integer]
556
+ # Optional. The version of workflow template to instantiate. If specified,
557
+ # the workflow will be instantiated only if the current version of
558
+ # the workflow template has the supplied version.
559
+ #
560
+ # This option cannot be used to instantiate a previous version of
561
+ # workflow template.
562
+ # @!attribute [rw] instance_id
563
+ # @return [String]
564
+ # Deprecated. Please use `request_id` field instead.
565
+ # @!attribute [rw] request_id
566
+ # @return [String]
567
+ # Optional. A tag that prevents multiple concurrent workflow
568
+ # instances with the same tag from running. This mitigates risk of
569
+ # concurrent instances started due to retries.
570
+ #
571
+ # It is recommended to always set this value to a
572
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
573
+ #
574
+ # The tag must contain only letters (a-z, A-Z), numbers (0-9),
575
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
576
+ # @!attribute [rw] parameters
577
+ # @return [Google::Protobuf::Map{String => String}]
578
+ # Optional. Map from parameter names to values that should be used for those
579
+ # parameters. Values may not exceed 100 characters.
580
+ class InstantiateWorkflowTemplateRequest
581
+ include Google::Protobuf::MessageExts
582
+ extend Google::Protobuf::MessageExts::ClassMethods
583
+
584
+ # @!attribute [rw] key
585
+ # @return [String]
586
+ # @!attribute [rw] value
587
+ # @return [String]
588
+ class ParametersEntry
589
+ include Google::Protobuf::MessageExts
590
+ extend Google::Protobuf::MessageExts::ClassMethods
591
+ end
592
+ end
593
+
594
+ # A request to instantiate an inline workflow template.
595
+ # @!attribute [rw] parent
596
+ # @return [String]
597
+ # Required. The resource name of the region or location, as described
598
+ # in https://cloud.google.com/apis/design/resource_names.
599
+ #
600
+ # * For `projects.regions.workflowTemplates,instantiateinline`, the resource
601
+ # name of the region has the following format:
602
+ # `projects/{project_id}/regions/{region}`
603
+ #
604
+ # * For `projects.locations.workflowTemplates.instantiateinline`, the
605
+ # resource name of the location has the following format:
606
+ # `projects/{project_id}/locations/{location}`
607
+ # @!attribute [rw] template
608
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplate]
609
+ # Required. The workflow template to instantiate.
610
+ # @!attribute [rw] instance_id
611
+ # @return [String]
612
+ # Deprecated. Please use `request_id` field instead.
613
+ # @!attribute [rw] request_id
614
+ # @return [String]
615
+ # Optional. A tag that prevents multiple concurrent workflow
616
+ # instances with the same tag from running. This mitigates risk of
617
+ # concurrent instances started due to retries.
618
+ #
619
+ # It is recommended to always set this value to a
620
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
621
+ #
622
+ # The tag must contain only letters (a-z, A-Z), numbers (0-9),
623
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
624
+ class InstantiateInlineWorkflowTemplateRequest
625
+ include Google::Protobuf::MessageExts
626
+ extend Google::Protobuf::MessageExts::ClassMethods
627
+ end
628
+
629
+ # A request to update a workflow template.
630
+ # @!attribute [rw] template
631
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplate]
632
+ # Required. The updated workflow template.
633
+ #
634
+ # The `template.version` field must match the current version.
635
+ class UpdateWorkflowTemplateRequest
636
+ include Google::Protobuf::MessageExts
637
+ extend Google::Protobuf::MessageExts::ClassMethods
638
+ end
639
+
640
+ # A request to list workflow templates in a project.
641
+ # @!attribute [rw] parent
642
+ # @return [String]
643
+ # Required. The resource name of the region or location, as described
644
+ # in https://cloud.google.com/apis/design/resource_names.
645
+ #
646
+ # * For `projects.regions.workflowTemplates,list`, the resource
647
+ # name of the region has the following format:
648
+ # `projects/{project_id}/regions/{region}`
649
+ #
650
+ # * For `projects.locations.workflowTemplates.list`, the
651
+ # resource name of the location has the following format:
652
+ # `projects/{project_id}/locations/{location}`
653
+ # @!attribute [rw] page_size
654
+ # @return [Integer]
655
+ # Optional. The maximum number of results to return in each response.
656
+ # @!attribute [rw] page_token
657
+ # @return [String]
658
+ # Optional. The page token, returned by a previous call, to request the
659
+ # next page of results.
660
+ class ListWorkflowTemplatesRequest
661
+ include Google::Protobuf::MessageExts
662
+ extend Google::Protobuf::MessageExts::ClassMethods
663
+ end
664
+
665
+ # A response to a request to list workflow templates in a project.
666
+ # @!attribute [r] templates
667
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::WorkflowTemplate>]
668
+ # Output only. WorkflowTemplates list.
669
+ # @!attribute [r] next_page_token
670
+ # @return [String]
671
+ # Output only. This token is included in the response if there are more
672
+ # results to fetch. To fetch additional results, provide this value as the
673
+ # page_token in a subsequent <code>ListWorkflowTemplatesRequest</code>.
674
+ class ListWorkflowTemplatesResponse
675
+ include Google::Protobuf::MessageExts
676
+ extend Google::Protobuf::MessageExts::ClassMethods
677
+ end
678
+
679
+ # A request to delete a workflow template.
680
+ #
681
+ # Currently started workflows will remain running.
682
+ # @!attribute [rw] name
683
+ # @return [String]
684
+ # Required. The resource name of the workflow template, as described
685
+ # in https://cloud.google.com/apis/design/resource_names.
686
+ #
687
+ # * For `projects.regions.workflowTemplates.delete`, the resource name
688
+ # of the template has the following format:
689
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
690
+ #
691
+ # * For `projects.locations.workflowTemplates.instantiate`, the resource name
692
+ # of the template has the following format:
693
+ # `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`
694
+ # @!attribute [rw] version
695
+ # @return [Integer]
696
+ # Optional. The version of workflow template to delete. If specified,
697
+ # will only delete the template if the current server version matches
698
+ # specified version.
699
+ class DeleteWorkflowTemplateRequest
700
+ include Google::Protobuf::MessageExts
701
+ extend Google::Protobuf::MessageExts::ClassMethods
702
+ end
703
+ end
704
+ end
705
+ end
706
+ end