google-cloud-dataproc 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/dataproc.rb +56 -3
  4. data/lib/google/cloud/dataproc/v1.rb +62 -3
  5. data/lib/google/cloud/dataproc/v1/cluster_controller_client.rb +65 -5
  6. data/lib/google/cloud/dataproc/v1/cluster_controller_client_config.json +10 -7
  7. data/lib/google/cloud/dataproc/v1/clusters_pb.rb +11 -0
  8. data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +3 -2
  9. data/lib/google/cloud/dataproc/v1/credentials.rb +1 -1
  10. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/clusters.rb +128 -45
  11. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/jobs.rb +32 -15
  12. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/workflow_templates.rb +519 -0
  13. data/lib/google/cloud/dataproc/v1/doc/google/longrunning/operations.rb +1 -43
  14. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/any.rb +1 -1
  15. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/duration.rb +1 -1
  16. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/empty.rb +1 -1
  17. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/field_mask.rb +1 -1
  18. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/timestamp.rb +1 -1
  19. data/lib/google/cloud/dataproc/v1/doc/google/rpc/status.rb +1 -1
  20. data/lib/google/cloud/dataproc/v1/job_controller_client.rb +16 -2
  21. data/lib/google/cloud/dataproc/v1/job_controller_client_config.json +9 -6
  22. data/lib/google/cloud/dataproc/v1/jobs_pb.rb +2 -0
  23. data/lib/google/cloud/dataproc/v1/jobs_services_pb.rb +2 -1
  24. data/lib/google/cloud/dataproc/v1/operations_pb.rb +0 -2
  25. data/lib/google/cloud/dataproc/v1/workflow_template_service_client.rb +690 -0
  26. data/lib/google/cloud/dataproc/v1/workflow_template_service_client_config.json +64 -0
  27. data/lib/google/cloud/dataproc/v1/workflow_templates_pb.rb +181 -0
  28. data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +102 -0
  29. data/lib/google/cloud/dataproc/v1beta2.rb +281 -0
  30. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client.rb +799 -0
  31. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client_config.json +59 -0
  32. data/lib/google/cloud/dataproc/v1beta2/clusters_pb.rb +189 -0
  33. data/lib/google/cloud/dataproc/v1beta2/clusters_services_pb.rb +60 -0
  34. data/lib/google/cloud/dataproc/v1beta2/credentials.rb +41 -0
  35. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/clusters.rb +666 -0
  36. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/jobs.rb +691 -0
  37. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/workflow_templates.rb +524 -0
  38. data/lib/google/cloud/dataproc/v1beta2/doc/google/longrunning/operations.rb +51 -0
  39. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/any.rb +130 -0
  40. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/duration.rb +91 -0
  41. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/empty.rb +29 -0
  42. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/field_mask.rb +230 -0
  43. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/timestamp.rb +109 -0
  44. data/lib/google/cloud/dataproc/v1beta2/doc/google/rpc/status.rb +84 -0
  45. data/lib/google/cloud/dataproc/v1beta2/job_controller_client.rb +581 -0
  46. data/lib/google/cloud/dataproc/v1beta2/job_controller_client_config.json +59 -0
  47. data/lib/google/cloud/dataproc/v1beta2/jobs_pb.rb +248 -0
  48. data/lib/google/cloud/dataproc/v1beta2/jobs_services_pb.rb +61 -0
  49. data/lib/google/cloud/dataproc/v1beta2/operations_pb.rb +44 -0
  50. data/lib/google/cloud/dataproc/v1beta2/shared_pb.rb +18 -0
  51. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client.rb +698 -0
  52. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client_config.json +64 -0
  53. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_pb.rb +183 -0
  54. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_services_pb.rb +102 -0
  55. metadata +36 -5
@@ -0,0 +1,524 @@
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
+ # A Cloud Dataproc workflow template resource.
21
+ # @!attribute [rw] id
22
+ # @return [String]
23
+ # Required. The template 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 template, as described
31
+ # in https://cloud.google.com/apis/design/resource_names of the form
32
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
33
+ # @!attribute [rw] version
34
+ # @return [Integer]
35
+ # Optional. Used to perform a consistent read-modify-write.
36
+ #
37
+ # This field should be left blank for a `CreateWorkflowTemplate` request. It
38
+ # is required for an `UpdateWorkflowTemplate` request, and must match the
39
+ # current server version. A typical update template flow would fetch the
40
+ # current template with a `GetWorkflowTemplate` request, which will return
41
+ # the current template with the `version` field filled in with the
42
+ # current server version. The user updates other fields in the template,
43
+ # then returns it as part of the `UpdateWorkflowTemplate` request.
44
+ # @!attribute [rw] create_time
45
+ # @return [Google::Protobuf::Timestamp]
46
+ # Output only. The time template was created.
47
+ # @!attribute [rw] update_time
48
+ # @return [Google::Protobuf::Timestamp]
49
+ # Output only. The time template was last updated.
50
+ # @!attribute [rw] labels
51
+ # @return [Hash{String => String}]
52
+ # Optional. The labels to associate with this template. These labels
53
+ # will be propagated to all jobs and clusters created by the workflow
54
+ # instance.
55
+ #
56
+ # Label **keys** must contain 1 to 63 characters, and must conform to
57
+ # [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
58
+ #
59
+ # Label **values** may be empty, but, if present, must contain 1 to 63
60
+ # characters, and must conform to
61
+ # [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
62
+ #
63
+ # No more than 32 labels can be associated with a template.
64
+ # @!attribute [rw] placement
65
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplatePlacement]
66
+ # Required. WorkflowTemplate scheduling information.
67
+ # @!attribute [rw] jobs
68
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::OrderedJob>]
69
+ # Required. The Directed Acyclic Graph of Jobs to submit.
70
+ # @!attribute [rw] parameters
71
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::TemplateParameter>]
72
+ # Optional. Template parameters whose values are substituted into the
73
+ # template. Values for parameters must be provided when the template is
74
+ # instantiated.
75
+ class WorkflowTemplate; end
76
+
77
+ # Specifies workflow execution target.
78
+ #
79
+ # Either `managed_cluster` or `cluster_selector` is required.
80
+ # @!attribute [rw] managed_cluster
81
+ # @return [Google::Cloud::Dataproc::V1beta2::ManagedCluster]
82
+ # Optional. A cluster that is managed by the workflow.
83
+ # @!attribute [rw] cluster_selector
84
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterSelector]
85
+ # Optional. A selector that chooses target cluster for jobs based
86
+ # on metadata.
87
+ #
88
+ # The selector is evaluated at the time each job is submitted.
89
+ class WorkflowTemplatePlacement; end
90
+
91
+ # Cluster that is managed by the workflow.
92
+ # @!attribute [rw] cluster_name
93
+ # @return [String]
94
+ # Required. The cluster name prefix. A unique cluster name will be formed by
95
+ # appending a random suffix.
96
+ #
97
+ # The name must contain only lower-case letters (a-z), numbers (0-9),
98
+ # and hyphens (-). Must begin with a letter. Cannot begin or end with
99
+ # hyphen. Must consist of between 2 and 35 characters.
100
+ # @!attribute [rw] config
101
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterConfig]
102
+ # Required. The cluster configuration.
103
+ # @!attribute [rw] labels
104
+ # @return [Hash{String => String}]
105
+ # Optional. The labels to associate with this cluster.
106
+ #
107
+ # Label keys must be between 1 and 63 characters long, and must conform to
108
+ # the following PCRE regular expression:
109
+ # [\p\\{Ll}\p\\{Lo}][\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,62}
110
+ #
111
+ # Label values must be between 1 and 63 characters long, and must conform to
112
+ # the following PCRE regular expression: [\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,63}
113
+ #
114
+ # No more than 32 labels can be associated with a given cluster.
115
+ class ManagedCluster; end
116
+
117
+ # A selector that chooses target cluster for jobs based on metadata.
118
+ # @!attribute [rw] zone
119
+ # @return [String]
120
+ # Optional. The zone where workflow process executes. This parameter does not
121
+ # affect the selection of the cluster.
122
+ #
123
+ # If unspecified, the zone of the first cluster matching the selector
124
+ # is used.
125
+ # @!attribute [rw] cluster_labels
126
+ # @return [Hash{String => String}]
127
+ # Required. The cluster labels. Cluster must have all labels
128
+ # to match.
129
+ class ClusterSelector; end
130
+
131
+ # A job executed by the workflow.
132
+ # @!attribute [rw] step_id
133
+ # @return [String]
134
+ # Required. The step id. The id must be unique among all jobs
135
+ # within the template.
136
+ #
137
+ # The step id is used as prefix for job id, as job
138
+ # `goog-dataproc-workflow-step-id` label, and in
139
+ # {Google::Cloud::Dataproc::V1beta2::OrderedJob#prerequisite_step_ids prerequisiteStepIds} field from other
140
+ # steps.
141
+ #
142
+ # The id must contain only letters (a-z, A-Z), numbers (0-9),
143
+ # underscores (_), and hyphens (-). Cannot begin or end with underscore
144
+ # or hyphen. Must consist of between 3 and 50 characters.
145
+ # @!attribute [rw] hadoop_job
146
+ # @return [Google::Cloud::Dataproc::V1beta2::HadoopJob]
147
+ # Job is a Hadoop job.
148
+ # @!attribute [rw] spark_job
149
+ # @return [Google::Cloud::Dataproc::V1beta2::SparkJob]
150
+ # Job is a Spark job.
151
+ # @!attribute [rw] pyspark_job
152
+ # @return [Google::Cloud::Dataproc::V1beta2::PySparkJob]
153
+ # Job is a Pyspark job.
154
+ # @!attribute [rw] hive_job
155
+ # @return [Google::Cloud::Dataproc::V1beta2::HiveJob]
156
+ # Job is a Hive job.
157
+ # @!attribute [rw] pig_job
158
+ # @return [Google::Cloud::Dataproc::V1beta2::PigJob]
159
+ # Job is a Pig job.
160
+ # @!attribute [rw] spark_sql_job
161
+ # @return [Google::Cloud::Dataproc::V1beta2::SparkSqlJob]
162
+ # Job is a SparkSql job.
163
+ # @!attribute [rw] labels
164
+ # @return [Hash{String => String}]
165
+ # Optional. The labels to associate with this job.
166
+ #
167
+ # Label keys must be between 1 and 63 characters long, and must conform to
168
+ # the following regular expression:
169
+ # [\p\\{Ll}\p\\{Lo}][\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,62}
170
+ #
171
+ # Label values must be between 1 and 63 characters long, and must conform to
172
+ # the following regular expression: [\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,63}
173
+ #
174
+ # No more than 32 labels can be associated with a given job.
175
+ # @!attribute [rw] scheduling
176
+ # @return [Google::Cloud::Dataproc::V1beta2::JobScheduling]
177
+ # Optional. Job scheduling configuration.
178
+ # @!attribute [rw] prerequisite_step_ids
179
+ # @return [Array<String>]
180
+ # Optional. The optional list of prerequisite job step_ids.
181
+ # If not specified, the job will start at the beginning of workflow.
182
+ class OrderedJob; end
183
+
184
+ # A configurable parameter that replaces one or more fields in the template.
185
+ # Parameterizable fields:
186
+ # * Labels
187
+ # * File uris
188
+ # * Job properties
189
+ # * Job arguments
190
+ # * Script variables
191
+ # * Main class (in HadoopJob and SparkJob)
192
+ # * Zone (in ClusterSelector)
193
+ # @!attribute [rw] name
194
+ # @return [String]
195
+ # Required. Parameter name.
196
+ # The parameter name is used as the key, and paired with the
197
+ # parameter value, which are passed to the template when the template
198
+ # is instantiated.
199
+ # The name must contain only capital letters (A-Z), numbers (0-9), and
200
+ # underscores (_), and must not start with a number. The maximum length is
201
+ # 40 characters.
202
+ # @!attribute [rw] fields
203
+ # @return [Array<String>]
204
+ # Required. Paths to all fields that the parameter replaces.
205
+ # A field is allowed to appear in at most one parameter's list of field paths.
206
+ #
207
+ # A field path is similar in syntax to a {Google::Protobuf::FieldMask}.
208
+ # For example, a field path that references the zone field of a workflow
209
+ # template's cluster selector would be specified as
210
+ # `placement.clusterSelector.zone`.
211
+ #
212
+ # Also, field paths can reference fields using the following syntax:
213
+ #
214
+ # * Values in maps can be referenced by key:
215
+ # * labels['key']
216
+ # * placement.clusterSelector.clusterLabels['key']
217
+ # * placement.managedCluster.labels['key']
218
+ # * placement.clusterSelector.clusterLabels['key']
219
+ # * jobs['step-id'].labels['key']
220
+ #
221
+ # * Jobs in the jobs list can be referenced by step-id:
222
+ # * jobs['step-id'].hadoopJob.mainJarFileUri
223
+ # * jobs['step-id'].hiveJob.queryFileUri
224
+ # * jobs['step-id'].pySparkJob.mainPythonFileUri
225
+ # * jobs['step-id'].hadoopJob.jarFileUris[0]
226
+ # * jobs['step-id'].hadoopJob.archiveUris[0]
227
+ # * jobs['step-id'].hadoopJob.fileUris[0]
228
+ # * jobs['step-id'].pySparkJob.pythonFileUris[0]
229
+ #
230
+ # * Items in repeated fields can be referenced by a zero-based index:
231
+ # * jobs['step-id'].sparkJob.args[0]
232
+ #
233
+ # * Other examples:
234
+ # * jobs['step-id'].hadoopJob.properties['key']
235
+ # * jobs['step-id'].hadoopJob.args[0]
236
+ # * jobs['step-id'].hiveJob.scriptVariables['key']
237
+ # * jobs['step-id'].hadoopJob.mainJarFileUri
238
+ # * placement.clusterSelector.zone
239
+ #
240
+ # It may not be possible to parameterize maps and repeated fields in their
241
+ # entirety since only individual map values and individual items in repeated
242
+ # fields can be referenced. For example, the following field paths are
243
+ # invalid:
244
+ #
245
+ # * placement.clusterSelector.clusterLabels
246
+ # * jobs['step-id'].sparkJob.args
247
+ # @!attribute [rw] description
248
+ # @return [String]
249
+ # Optional. Brief description of the parameter.
250
+ # Must not exceed 1024 characters.
251
+ # @!attribute [rw] validation
252
+ # @return [Google::Cloud::Dataproc::V1beta2::ParameterValidation]
253
+ # Optional. Validation rules to be applied to this parameter's value.
254
+ class TemplateParameter; end
255
+
256
+ # Configuration for parameter validation.
257
+ # @!attribute [rw] regex
258
+ # @return [Google::Cloud::Dataproc::V1beta2::RegexValidation]
259
+ # Validation based on regular expressions.
260
+ # @!attribute [rw] values
261
+ # @return [Google::Cloud::Dataproc::V1beta2::ValueValidation]
262
+ # Validation based on a list of allowed values.
263
+ class ParameterValidation; end
264
+
265
+ # Validation based on regular expressions.
266
+ # @!attribute [rw] regexes
267
+ # @return [Array<String>]
268
+ # Required. RE2 regular expressions used to validate the parameter's value.
269
+ # The value must match the regex in its entirety (substring
270
+ # matches are not sufficient).
271
+ class RegexValidation; end
272
+
273
+ # Validation based on a list of allowed values.
274
+ # @!attribute [rw] values
275
+ # @return [Array<String>]
276
+ # Required. List of allowed values for the parameter.
277
+ class ValueValidation; end
278
+
279
+ # A Cloud Dataproc workflow template resource.
280
+ # @!attribute [rw] template
281
+ # @return [String]
282
+ # Output only. The "resource name" of the template.
283
+ # @!attribute [rw] version
284
+ # @return [Integer]
285
+ # Output only. The version of template at the time of
286
+ # workflow instantiation.
287
+ # @!attribute [rw] create_cluster
288
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterOperation]
289
+ # Output only. The create cluster operation metadata.
290
+ # @!attribute [rw] graph
291
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowGraph]
292
+ # Output only. The workflow graph.
293
+ # @!attribute [rw] delete_cluster
294
+ # @return [Google::Cloud::Dataproc::V1beta2::ClusterOperation]
295
+ # Output only. The delete cluster operation metadata.
296
+ # @!attribute [rw] state
297
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowMetadata::State]
298
+ # Output only. The workflow state.
299
+ # @!attribute [rw] cluster_name
300
+ # @return [String]
301
+ # Output only. The name of the target cluster.
302
+ # @!attribute [rw] parameters
303
+ # @return [Hash{String => String}]
304
+ # Map from parameter names to values that were used for those parameters.
305
+ # @!attribute [rw] start_time
306
+ # @return [Google::Protobuf::Timestamp]
307
+ # Output only. Workflow start time.
308
+ # @!attribute [rw] end_time
309
+ # @return [Google::Protobuf::Timestamp]
310
+ # Output only. Workflow end time.
311
+ # @!attribute [rw] cluster_uuid
312
+ # @return [String]
313
+ # Output only. The UUID of target cluster.
314
+ class WorkflowMetadata
315
+ # The operation state.
316
+ module State
317
+ # Unused.
318
+ UNKNOWN = 0
319
+
320
+ # The operation has been created.
321
+ PENDING = 1
322
+
323
+ # The operation is running.
324
+ RUNNING = 2
325
+
326
+ # The operation is done; either cancelled or completed.
327
+ DONE = 3
328
+ end
329
+ end
330
+
331
+ # The cluster operation triggered by a workflow.
332
+ # @!attribute [rw] operation_id
333
+ # @return [String]
334
+ # Output only. The id of the cluster operation.
335
+ # @!attribute [rw] error
336
+ # @return [String]
337
+ # Output only. Error, if operation failed.
338
+ # @!attribute [rw] done
339
+ # @return [true, false]
340
+ # Output only. Indicates the operation is done.
341
+ class ClusterOperation; end
342
+
343
+ # The workflow graph.
344
+ # @!attribute [rw] nodes
345
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::WorkflowNode>]
346
+ # Output only. The workflow nodes.
347
+ class WorkflowGraph; end
348
+
349
+ # The workflow node.
350
+ # @!attribute [rw] step_id
351
+ # @return [String]
352
+ # Output only. The name of the node.
353
+ # @!attribute [rw] prerequisite_step_ids
354
+ # @return [Array<String>]
355
+ # Output only. Node's prerequisite nodes.
356
+ # @!attribute [rw] job_id
357
+ # @return [String]
358
+ # Output only. The job id; populated after the node enters RUNNING state.
359
+ # @!attribute [rw] state
360
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowNode::NodeState]
361
+ # Output only. The node state.
362
+ # @!attribute [rw] error
363
+ # @return [String]
364
+ # Output only. The error detail.
365
+ class WorkflowNode
366
+ # The workflow node state.
367
+ module NodeState
368
+ # State is unspecified.
369
+ NODE_STATUS_UNSPECIFIED = 0
370
+
371
+ # The node is awaiting prerequisite node to finish.
372
+ BLOCKED = 1
373
+
374
+ # The node is runnable but not running.
375
+ RUNNABLE = 2
376
+
377
+ # The node is running.
378
+ RUNNING = 3
379
+
380
+ # The node completed successfully.
381
+ COMPLETED = 4
382
+
383
+ # The node failed. A node can be marked FAILED because
384
+ # its ancestor or peer failed.
385
+ FAILED = 5
386
+ end
387
+ end
388
+
389
+ # A request to create a workflow template.
390
+ # @!attribute [rw] parent
391
+ # @return [String]
392
+ # Required. The "resource name" of the region, as described
393
+ # in https://cloud.google.com/apis/design/resource_names of the form
394
+ # `projects/{project_id}/regions/{region}`
395
+ # @!attribute [rw] template
396
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplate]
397
+ # Required. The Dataproc workflow template to create.
398
+ class CreateWorkflowTemplateRequest; end
399
+
400
+ # A request to fetch a workflow template.
401
+ # @!attribute [rw] name
402
+ # @return [String]
403
+ # Required. The "resource name" of the workflow template, as described
404
+ # in https://cloud.google.com/apis/design/resource_names of the form
405
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
406
+ # @!attribute [rw] version
407
+ # @return [Integer]
408
+ # Optional. The version of workflow template to retrieve. Only previously
409
+ # instatiated versions can be retrieved.
410
+ #
411
+ # If unspecified, retrieves the current version.
412
+ class GetWorkflowTemplateRequest; end
413
+
414
+ # A request to instantiate a workflow template.
415
+ # @!attribute [rw] name
416
+ # @return [String]
417
+ # Required. The "resource name" of the workflow template, as described
418
+ # in https://cloud.google.com/apis/design/resource_names of the form
419
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
420
+ # @!attribute [rw] version
421
+ # @return [Integer]
422
+ # Optional. The version of workflow template to instantiate. If specified,
423
+ # the workflow will be instantiated only if the current version of
424
+ # the workflow template has the supplied version.
425
+ #
426
+ # This option cannot be used to instantiate a previous version of
427
+ # workflow template.
428
+ # @!attribute [rw] instance_id
429
+ # @return [String]
430
+ # Deprecated. Please use `request_id` field instead.
431
+ # @!attribute [rw] request_id
432
+ # @return [String]
433
+ # Optional. A tag that prevents multiple concurrent workflow
434
+ # instances with the same tag from running. This mitigates risk of
435
+ # concurrent instances started due to retries.
436
+ #
437
+ # It is recommended to always set this value to a
438
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
439
+ #
440
+ # The tag must contain only letters (a-z, A-Z), numbers (0-9),
441
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
442
+ # @!attribute [rw] parameters
443
+ # @return [Hash{String => String}]
444
+ # Optional. Map from parameter names to values that should be used for those
445
+ # parameters. Values may not exceed 100 characters.
446
+ class InstantiateWorkflowTemplateRequest; end
447
+
448
+ # A request to instantiate an inline workflow template.
449
+ # @!attribute [rw] parent
450
+ # @return [String]
451
+ # Required. The "resource name" of the workflow template region, as described
452
+ # in https://cloud.google.com/apis/design/resource_names of the form
453
+ # `projects/{project_id}/regions/{region}`
454
+ # @!attribute [rw] template
455
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplate]
456
+ # Required. The workflow template to instantiate.
457
+ # @!attribute [rw] instance_id
458
+ # @return [String]
459
+ # Deprecated. Please use `request_id` field instead.
460
+ # @!attribute [rw] request_id
461
+ # @return [String]
462
+ # Optional. A tag that prevents multiple concurrent workflow
463
+ # instances with the same tag from running. This mitigates risk of
464
+ # concurrent instances started due to retries.
465
+ #
466
+ # It is recommended to always set this value to a
467
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
468
+ #
469
+ # The tag must contain only letters (a-z, A-Z), numbers (0-9),
470
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
471
+ class InstantiateInlineWorkflowTemplateRequest; end
472
+
473
+ # A request to update a workflow template.
474
+ # @!attribute [rw] template
475
+ # @return [Google::Cloud::Dataproc::V1beta2::WorkflowTemplate]
476
+ # Required. The updated workflow template.
477
+ #
478
+ # The `template.version` field must match the current version.
479
+ class UpdateWorkflowTemplateRequest; end
480
+
481
+ # A request to list workflow templates in a project.
482
+ # @!attribute [rw] parent
483
+ # @return [String]
484
+ # Required. The "resource name" of the region, as described
485
+ # in https://cloud.google.com/apis/design/resource_names of the form
486
+ # `projects/{project_id}/regions/{region}`
487
+ # @!attribute [rw] page_size
488
+ # @return [Integer]
489
+ # Optional. The maximum number of results to return in each response.
490
+ # @!attribute [rw] page_token
491
+ # @return [String]
492
+ # Optional. The page token, returned by a previous call, to request the
493
+ # next page of results.
494
+ class ListWorkflowTemplatesRequest; end
495
+
496
+ # A response to a request to list workflow templates in a project.
497
+ # @!attribute [rw] templates
498
+ # @return [Array<Google::Cloud::Dataproc::V1beta2::WorkflowTemplate>]
499
+ # Output only. WorkflowTemplates list.
500
+ # @!attribute [rw] next_page_token
501
+ # @return [String]
502
+ # Output only. This token is included in the response if there are more results
503
+ # to fetch. To fetch additional results, provide this value as the
504
+ # page_token in a subsequent <code>ListWorkflowTemplatesRequest</code>.
505
+ class ListWorkflowTemplatesResponse; end
506
+
507
+ # A request to delete a workflow template.
508
+ #
509
+ # Currently started workflows will remain running.
510
+ # @!attribute [rw] name
511
+ # @return [String]
512
+ # Required. The "resource name" of the workflow template, as described
513
+ # in https://cloud.google.com/apis/design/resource_names of the form
514
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
515
+ # @!attribute [rw] version
516
+ # @return [Integer]
517
+ # Optional. The version of workflow template to delete. If specified,
518
+ # will only delete the template if the current server version matches
519
+ # specified version.
520
+ class DeleteWorkflowTemplateRequest; end
521
+ end
522
+ end
523
+ end
524
+ end