google-cloud-dataproc 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/dataproc.rb +56 -3
  4. data/lib/google/cloud/dataproc/v1.rb +62 -3
  5. data/lib/google/cloud/dataproc/v1/cluster_controller_client.rb +65 -5
  6. data/lib/google/cloud/dataproc/v1/cluster_controller_client_config.json +10 -7
  7. data/lib/google/cloud/dataproc/v1/clusters_pb.rb +11 -0
  8. data/lib/google/cloud/dataproc/v1/clusters_services_pb.rb +3 -2
  9. data/lib/google/cloud/dataproc/v1/credentials.rb +1 -1
  10. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/clusters.rb +128 -45
  11. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/jobs.rb +32 -15
  12. data/lib/google/cloud/dataproc/v1/doc/google/cloud/dataproc/v1/workflow_templates.rb +519 -0
  13. data/lib/google/cloud/dataproc/v1/doc/google/longrunning/operations.rb +1 -43
  14. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/any.rb +1 -1
  15. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/duration.rb +1 -1
  16. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/empty.rb +1 -1
  17. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/field_mask.rb +1 -1
  18. data/lib/google/cloud/dataproc/v1/doc/google/protobuf/timestamp.rb +1 -1
  19. data/lib/google/cloud/dataproc/v1/doc/google/rpc/status.rb +1 -1
  20. data/lib/google/cloud/dataproc/v1/job_controller_client.rb +16 -2
  21. data/lib/google/cloud/dataproc/v1/job_controller_client_config.json +9 -6
  22. data/lib/google/cloud/dataproc/v1/jobs_pb.rb +2 -0
  23. data/lib/google/cloud/dataproc/v1/jobs_services_pb.rb +2 -1
  24. data/lib/google/cloud/dataproc/v1/operations_pb.rb +0 -2
  25. data/lib/google/cloud/dataproc/v1/workflow_template_service_client.rb +690 -0
  26. data/lib/google/cloud/dataproc/v1/workflow_template_service_client_config.json +64 -0
  27. data/lib/google/cloud/dataproc/v1/workflow_templates_pb.rb +181 -0
  28. data/lib/google/cloud/dataproc/v1/workflow_templates_services_pb.rb +102 -0
  29. data/lib/google/cloud/dataproc/v1beta2.rb +281 -0
  30. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client.rb +799 -0
  31. data/lib/google/cloud/dataproc/v1beta2/cluster_controller_client_config.json +59 -0
  32. data/lib/google/cloud/dataproc/v1beta2/clusters_pb.rb +189 -0
  33. data/lib/google/cloud/dataproc/v1beta2/clusters_services_pb.rb +60 -0
  34. data/lib/google/cloud/dataproc/v1beta2/credentials.rb +41 -0
  35. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/clusters.rb +666 -0
  36. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/jobs.rb +691 -0
  37. data/lib/google/cloud/dataproc/v1beta2/doc/google/cloud/dataproc/v1beta2/workflow_templates.rb +524 -0
  38. data/lib/google/cloud/dataproc/v1beta2/doc/google/longrunning/operations.rb +51 -0
  39. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/any.rb +130 -0
  40. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/duration.rb +91 -0
  41. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/empty.rb +29 -0
  42. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/field_mask.rb +230 -0
  43. data/lib/google/cloud/dataproc/v1beta2/doc/google/protobuf/timestamp.rb +109 -0
  44. data/lib/google/cloud/dataproc/v1beta2/doc/google/rpc/status.rb +84 -0
  45. data/lib/google/cloud/dataproc/v1beta2/job_controller_client.rb +581 -0
  46. data/lib/google/cloud/dataproc/v1beta2/job_controller_client_config.json +59 -0
  47. data/lib/google/cloud/dataproc/v1beta2/jobs_pb.rb +248 -0
  48. data/lib/google/cloud/dataproc/v1beta2/jobs_services_pb.rb +61 -0
  49. data/lib/google/cloud/dataproc/v1beta2/operations_pb.rb +44 -0
  50. data/lib/google/cloud/dataproc/v1beta2/shared_pb.rb +18 -0
  51. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client.rb +698 -0
  52. data/lib/google/cloud/dataproc/v1beta2/workflow_template_service_client_config.json +64 -0
  53. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_pb.rb +183 -0
  54. data/lib/google/cloud/dataproc/v1beta2/workflow_templates_services_pb.rb +102 -0
  55. metadata +36 -5
@@ -0,0 +1,519 @@
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 V1
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::V1::WorkflowTemplatePlacement]
66
+ # Required. WorkflowTemplate scheduling information.
67
+ # @!attribute [rw] jobs
68
+ # @return [Array<Google::Cloud::Dataproc::V1::OrderedJob>]
69
+ # Required. The Directed Acyclic Graph of Jobs to submit.
70
+ # @!attribute [rw] parameters
71
+ # @return [Array<Google::Cloud::Dataproc::V1::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::V1::ManagedCluster]
82
+ # Optional. A cluster that is managed by the workflow.
83
+ # @!attribute [rw] cluster_selector
84
+ # @return [Google::Cloud::Dataproc::V1::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::V1::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::V1::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::V1::HadoopJob]
147
+ # Job is a Hadoop job.
148
+ # @!attribute [rw] spark_job
149
+ # @return [Google::Cloud::Dataproc::V1::SparkJob]
150
+ # Job is a Spark job.
151
+ # @!attribute [rw] pyspark_job
152
+ # @return [Google::Cloud::Dataproc::V1::PySparkJob]
153
+ # Job is a Pyspark job.
154
+ # @!attribute [rw] hive_job
155
+ # @return [Google::Cloud::Dataproc::V1::HiveJob]
156
+ # Job is a Hive job.
157
+ # @!attribute [rw] pig_job
158
+ # @return [Google::Cloud::Dataproc::V1::PigJob]
159
+ # Job is a Pig job.
160
+ # @!attribute [rw] spark_sql_job
161
+ # @return [Google::Cloud::Dataproc::V1::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::V1::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
206
+ # paths.
207
+ #
208
+ # A field path is similar in syntax to a {Google::Protobuf::FieldMask}.
209
+ # For example, a field path that references the zone field of a workflow
210
+ # template's cluster selector would be specified as
211
+ # `placement.clusterSelector.zone`.
212
+ #
213
+ # Also, field paths can reference fields using the following syntax:
214
+ #
215
+ # * Values in maps can be referenced by key:
216
+ # * labels['key']
217
+ # * placement.clusterSelector.clusterLabels['key']
218
+ # * placement.managedCluster.labels['key']
219
+ # * placement.clusterSelector.clusterLabels['key']
220
+ # * jobs['step-id'].labels['key']
221
+ #
222
+ # * Jobs in the jobs list can be referenced by step-id:
223
+ # * jobs['step-id'].hadoopJob.mainJarFileUri
224
+ # * jobs['step-id'].hiveJob.queryFileUri
225
+ # * jobs['step-id'].pySparkJob.mainPythonFileUri
226
+ # * jobs['step-id'].hadoopJob.jarFileUris[0]
227
+ # * jobs['step-id'].hadoopJob.archiveUris[0]
228
+ # * jobs['step-id'].hadoopJob.fileUris[0]
229
+ # * jobs['step-id'].pySparkJob.pythonFileUris[0]
230
+ #
231
+ # * Items in repeated fields can be referenced by a zero-based index:
232
+ # * jobs['step-id'].sparkJob.args[0]
233
+ #
234
+ # * Other examples:
235
+ # * jobs['step-id'].hadoopJob.properties['key']
236
+ # * jobs['step-id'].hadoopJob.args[0]
237
+ # * jobs['step-id'].hiveJob.scriptVariables['key']
238
+ # * jobs['step-id'].hadoopJob.mainJarFileUri
239
+ # * placement.clusterSelector.zone
240
+ #
241
+ # It may not be possible to parameterize maps and repeated fields in their
242
+ # entirety since only individual map values and individual items in repeated
243
+ # fields can be referenced. For example, the following field paths are
244
+ # invalid:
245
+ #
246
+ # * placement.clusterSelector.clusterLabels
247
+ # * jobs['step-id'].sparkJob.args
248
+ # @!attribute [rw] description
249
+ # @return [String]
250
+ # Optional. Brief description of the parameter.
251
+ # Must not exceed 1024 characters.
252
+ # @!attribute [rw] validation
253
+ # @return [Google::Cloud::Dataproc::V1::ParameterValidation]
254
+ # Optional. Validation rules to be applied to this parameter's value.
255
+ class TemplateParameter; end
256
+
257
+ # Configuration for parameter validation.
258
+ # @!attribute [rw] regex
259
+ # @return [Google::Cloud::Dataproc::V1::RegexValidation]
260
+ # Validation based on regular expressions.
261
+ # @!attribute [rw] values
262
+ # @return [Google::Cloud::Dataproc::V1::ValueValidation]
263
+ # Validation based on a list of allowed values.
264
+ class ParameterValidation; end
265
+
266
+ # Validation based on regular expressions.
267
+ # @!attribute [rw] regexes
268
+ # @return [Array<String>]
269
+ # Required. RE2 regular expressions used to validate the parameter's value.
270
+ # The value must match the regex in its entirety (substring
271
+ # matches are not sufficient).
272
+ class RegexValidation; end
273
+
274
+ # Validation based on a list of allowed values.
275
+ # @!attribute [rw] values
276
+ # @return [Array<String>]
277
+ # Required. List of allowed values for the parameter.
278
+ class ValueValidation; end
279
+
280
+ # A Cloud Dataproc workflow template resource.
281
+ # @!attribute [rw] template
282
+ # @return [String]
283
+ # Output only. The "resource name" of the template.
284
+ # @!attribute [rw] version
285
+ # @return [Integer]
286
+ # Output only. The version of template at the time of
287
+ # workflow instantiation.
288
+ # @!attribute [rw] create_cluster
289
+ # @return [Google::Cloud::Dataproc::V1::ClusterOperation]
290
+ # Output only. The create cluster operation metadata.
291
+ # @!attribute [rw] graph
292
+ # @return [Google::Cloud::Dataproc::V1::WorkflowGraph]
293
+ # Output only. The workflow graph.
294
+ # @!attribute [rw] delete_cluster
295
+ # @return [Google::Cloud::Dataproc::V1::ClusterOperation]
296
+ # Output only. The delete cluster operation metadata.
297
+ # @!attribute [rw] state
298
+ # @return [Google::Cloud::Dataproc::V1::WorkflowMetadata::State]
299
+ # Output only. The workflow state.
300
+ # @!attribute [rw] cluster_name
301
+ # @return [String]
302
+ # Output only. The name of the target cluster.
303
+ # @!attribute [rw] parameters
304
+ # @return [Hash{String => String}]
305
+ # Map from parameter names to values that were used for those parameters.
306
+ # @!attribute [rw] start_time
307
+ # @return [Google::Protobuf::Timestamp]
308
+ # Output only. Workflow start time.
309
+ # @!attribute [rw] end_time
310
+ # @return [Google::Protobuf::Timestamp]
311
+ # Output only. Workflow end time.
312
+ # @!attribute [rw] cluster_uuid
313
+ # @return [String]
314
+ # Output only. The UUID of target cluster.
315
+ class WorkflowMetadata
316
+ # The operation state.
317
+ module State
318
+ # Unused.
319
+ UNKNOWN = 0
320
+
321
+ # The operation has been created.
322
+ PENDING = 1
323
+
324
+ # The operation is running.
325
+ RUNNING = 2
326
+
327
+ # The operation is done; either cancelled or completed.
328
+ DONE = 3
329
+ end
330
+ end
331
+
332
+ # The cluster operation triggered by a workflow.
333
+ # @!attribute [rw] operation_id
334
+ # @return [String]
335
+ # Output only. The id of the cluster operation.
336
+ # @!attribute [rw] error
337
+ # @return [String]
338
+ # Output only. Error, if operation failed.
339
+ # @!attribute [rw] done
340
+ # @return [true, false]
341
+ # Output only. Indicates the operation is done.
342
+ class ClusterOperation; end
343
+
344
+ # The workflow graph.
345
+ # @!attribute [rw] nodes
346
+ # @return [Array<Google::Cloud::Dataproc::V1::WorkflowNode>]
347
+ # Output only. The workflow nodes.
348
+ class WorkflowGraph; end
349
+
350
+ # The workflow node.
351
+ # @!attribute [rw] step_id
352
+ # @return [String]
353
+ # Output only. The name of the node.
354
+ # @!attribute [rw] prerequisite_step_ids
355
+ # @return [Array<String>]
356
+ # Output only. Node's prerequisite nodes.
357
+ # @!attribute [rw] job_id
358
+ # @return [String]
359
+ # Output only. The job id; populated after the node enters RUNNING state.
360
+ # @!attribute [rw] state
361
+ # @return [Google::Cloud::Dataproc::V1::WorkflowNode::NodeState]
362
+ # Output only. The node state.
363
+ # @!attribute [rw] error
364
+ # @return [String]
365
+ # Output only. The error detail.
366
+ class WorkflowNode
367
+ # The workflow node state.
368
+ module NodeState
369
+ # State is unspecified.
370
+ NODE_STATE_UNSPECIFIED = 0
371
+
372
+ # The node is awaiting prerequisite node to finish.
373
+ BLOCKED = 1
374
+
375
+ # The node is runnable but not running.
376
+ RUNNABLE = 2
377
+
378
+ # The node is running.
379
+ RUNNING = 3
380
+
381
+ # The node completed successfully.
382
+ COMPLETED = 4
383
+
384
+ # The node failed. A node can be marked FAILED because
385
+ # its ancestor or peer failed.
386
+ FAILED = 5
387
+ end
388
+ end
389
+
390
+ # A request to create a workflow template.
391
+ # @!attribute [rw] parent
392
+ # @return [String]
393
+ # Required. The "resource name" of the region, as described
394
+ # in https://cloud.google.com/apis/design/resource_names of the form
395
+ # `projects/{project_id}/regions/{region}`
396
+ # @!attribute [rw] template
397
+ # @return [Google::Cloud::Dataproc::V1::WorkflowTemplate]
398
+ # Required. The Dataproc workflow template to create.
399
+ class CreateWorkflowTemplateRequest; end
400
+
401
+ # A request to fetch a workflow template.
402
+ # @!attribute [rw] name
403
+ # @return [String]
404
+ # Required. The "resource name" of the workflow template, as described
405
+ # in https://cloud.google.com/apis/design/resource_names of the form
406
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
407
+ # @!attribute [rw] version
408
+ # @return [Integer]
409
+ # Optional. The version of workflow template to retrieve. Only previously
410
+ # instatiated versions can be retrieved.
411
+ #
412
+ # If unspecified, retrieves the current version.
413
+ class GetWorkflowTemplateRequest; end
414
+
415
+ # A request to instantiate a workflow template.
416
+ # @!attribute [rw] name
417
+ # @return [String]
418
+ # Required. The "resource name" of the workflow template, as described
419
+ # in https://cloud.google.com/apis/design/resource_names of the form
420
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
421
+ # @!attribute [rw] version
422
+ # @return [Integer]
423
+ # Optional. The version of workflow template to instantiate. If specified,
424
+ # the workflow will be instantiated only if the current version of
425
+ # the workflow template has the supplied version.
426
+ #
427
+ # This option cannot be used to instantiate a previous version of
428
+ # workflow template.
429
+ # @!attribute [rw] request_id
430
+ # @return [String]
431
+ # Optional. A tag that prevents multiple concurrent workflow
432
+ # instances with the same tag from running. This mitigates risk of
433
+ # concurrent instances started due to retries.
434
+ #
435
+ # It is recommended to always set this value to a
436
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
437
+ #
438
+ # The tag must contain only letters (a-z, A-Z), numbers (0-9),
439
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
440
+ # @!attribute [rw] parameters
441
+ # @return [Hash{String => String}]
442
+ # Optional. Map from parameter names to values that should be used for those
443
+ # parameters. Values may not exceed 100 characters.
444
+ class InstantiateWorkflowTemplateRequest; end
445
+
446
+ # A request to instantiate an inline workflow template.
447
+ # @!attribute [rw] parent
448
+ # @return [String]
449
+ # Required. The "resource name" of the workflow template region, as described
450
+ # in https://cloud.google.com/apis/design/resource_names of the form
451
+ # `projects/{project_id}/regions/{region}`
452
+ # @!attribute [rw] template
453
+ # @return [Google::Cloud::Dataproc::V1::WorkflowTemplate]
454
+ # Required. The workflow template to instantiate.
455
+ # @!attribute [rw] request_id
456
+ # @return [String]
457
+ # Optional. A tag that prevents multiple concurrent workflow
458
+ # instances with the same tag from running. This mitigates risk of
459
+ # concurrent instances started due to retries.
460
+ #
461
+ # It is recommended to always set this value to a
462
+ # [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
463
+ #
464
+ # The tag must contain only letters (a-z, A-Z), numbers (0-9),
465
+ # underscores (_), and hyphens (-). The maximum length is 40 characters.
466
+ class InstantiateInlineWorkflowTemplateRequest; end
467
+
468
+ # A request to update a workflow template.
469
+ # @!attribute [rw] template
470
+ # @return [Google::Cloud::Dataproc::V1::WorkflowTemplate]
471
+ # Required. The updated workflow template.
472
+ #
473
+ # The `template.version` field must match the current version.
474
+ class UpdateWorkflowTemplateRequest; end
475
+
476
+ # A request to list workflow templates in a project.
477
+ # @!attribute [rw] parent
478
+ # @return [String]
479
+ # Required. The "resource name" of the region, as described
480
+ # in https://cloud.google.com/apis/design/resource_names of the form
481
+ # `projects/{project_id}/regions/{region}`
482
+ # @!attribute [rw] page_size
483
+ # @return [Integer]
484
+ # Optional. The maximum number of results to return in each response.
485
+ # @!attribute [rw] page_token
486
+ # @return [String]
487
+ # Optional. The page token, returned by a previous call, to request the
488
+ # next page of results.
489
+ class ListWorkflowTemplatesRequest; end
490
+
491
+ # A response to a request to list workflow templates in a project.
492
+ # @!attribute [rw] templates
493
+ # @return [Array<Google::Cloud::Dataproc::V1::WorkflowTemplate>]
494
+ # Output only. WorkflowTemplates list.
495
+ # @!attribute [rw] next_page_token
496
+ # @return [String]
497
+ # Output only. This token is included in the response if there are more
498
+ # results to fetch. To fetch additional results, provide this value as the
499
+ # page_token in a subsequent <code>ListWorkflowTemplatesRequest</code>.
500
+ class ListWorkflowTemplatesResponse; end
501
+
502
+ # A request to delete a workflow template.
503
+ #
504
+ # Currently started workflows will remain running.
505
+ # @!attribute [rw] name
506
+ # @return [String]
507
+ # Required. The "resource name" of the workflow template, as described
508
+ # in https://cloud.google.com/apis/design/resource_names of the form
509
+ # `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`
510
+ # @!attribute [rw] version
511
+ # @return [Integer]
512
+ # Optional. The version of workflow template to delete. If specified,
513
+ # will only delete the template if the current server version matches
514
+ # specified version.
515
+ class DeleteWorkflowTemplateRequest; end
516
+ end
517
+ end
518
+ end
519
+ end