google-cloud-dataflow-v1beta3 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 (54) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-dataflow-v1beta3.rb +21 -0
  7. data/lib/google/cloud/dataflow/v1beta3.rb +43 -0
  8. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service.rb +48 -0
  9. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service/client.rb +376 -0
  10. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service/credentials.rb +54 -0
  11. data/lib/google/cloud/dataflow/v1beta3/jobs.rb +49 -0
  12. data/lib/google/cloud/dataflow/v1beta3/jobs/client.rb +868 -0
  13. data/lib/google/cloud/dataflow/v1beta3/jobs/credentials.rb +54 -0
  14. data/lib/google/cloud/dataflow/v1beta3/messages.rb +49 -0
  15. data/lib/google/cloud/dataflow/v1beta3/messages/client.rb +399 -0
  16. data/lib/google/cloud/dataflow/v1beta3/messages/credentials.rb +54 -0
  17. data/lib/google/cloud/dataflow/v1beta3/metrics.rb +49 -0
  18. data/lib/google/cloud/dataflow/v1beta3/metrics/client.rb +560 -0
  19. data/lib/google/cloud/dataflow/v1beta3/metrics/credentials.rb +54 -0
  20. data/lib/google/cloud/dataflow/v1beta3/snapshots.rb +48 -0
  21. data/lib/google/cloud/dataflow/v1beta3/snapshots/client.rb +515 -0
  22. data/lib/google/cloud/dataflow/v1beta3/snapshots/credentials.rb +54 -0
  23. data/lib/google/cloud/dataflow/v1beta3/templates_service.rb +48 -0
  24. data/lib/google/cloud/dataflow/v1beta3/templates_service/client.rb +543 -0
  25. data/lib/google/cloud/dataflow/v1beta3/templates_service/credentials.rb +54 -0
  26. data/lib/google/cloud/dataflow/v1beta3/version.rb +28 -0
  27. data/lib/google/dataflow/v1beta3/environment_pb.rb +167 -0
  28. data/lib/google/dataflow/v1beta3/jobs_pb.rb +292 -0
  29. data/lib/google/dataflow/v1beta3/jobs_services_pb.rb +83 -0
  30. data/lib/google/dataflow/v1beta3/messages_pb.rb +83 -0
  31. data/lib/google/dataflow/v1beta3/messages_services_pb.rb +52 -0
  32. data/lib/google/dataflow/v1beta3/metrics_pb.rb +126 -0
  33. data/lib/google/dataflow/v1beta3/metrics_services_pb.rb +61 -0
  34. data/lib/google/dataflow/v1beta3/snapshots_pb.rb +75 -0
  35. data/lib/google/dataflow/v1beta3/snapshots_services_pb.rb +49 -0
  36. data/lib/google/dataflow/v1beta3/streaming_pb.rb +105 -0
  37. data/lib/google/dataflow/v1beta3/templates_pb.rb +213 -0
  38. data/lib/google/dataflow/v1beta3/templates_services_pb.rb +65 -0
  39. data/proto_docs/README.md +4 -0
  40. data/proto_docs/google/api/field_behavior.rb +65 -0
  41. data/proto_docs/google/api/resource.rb +283 -0
  42. data/proto_docs/google/dataflow/v1beta3/environment.rb +583 -0
  43. data/proto_docs/google/dataflow/v1beta3/jobs.rb +927 -0
  44. data/proto_docs/google/dataflow/v1beta3/messages.rb +226 -0
  45. data/proto_docs/google/dataflow/v1beta3/metrics.rb +367 -0
  46. data/proto_docs/google/dataflow/v1beta3/snapshots.rb +160 -0
  47. data/proto_docs/google/dataflow/v1beta3/streaming.rb +280 -0
  48. data/proto_docs/google/dataflow/v1beta3/templates.rb +669 -0
  49. data/proto_docs/google/protobuf/any.rb +141 -0
  50. data/proto_docs/google/protobuf/duration.rb +98 -0
  51. data/proto_docs/google/protobuf/struct.rb +96 -0
  52. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  53. data/proto_docs/google/rpc/status.rb +46 -0
  54. metadata +243 -0
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
190
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
194
+ # @!attribute [rw] singular
195
+ # @return [::String]
196
+ # The same concept of the `singular` field in k8s CRD spec
197
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
198
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
204
+ class ResourceDescriptor
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # A description of the historical or future-looking state of the
209
+ # resource pattern.
210
+ module History
211
+ # The "unset" value.
212
+ HISTORY_UNSPECIFIED = 0
213
+
214
+ # The resource originally had one pattern and launched as such, and
215
+ # additional patterns were added later.
216
+ ORIGINALLY_SINGLE_PATTERN = 1
217
+
218
+ # The resource has one pattern, but the API owner expects to add more
219
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
220
+ # that from being necessary once there are multiple patterns.)
221
+ FUTURE_MULTI_PATTERN = 2
222
+ end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
239
+ end
240
+
241
+ # Defines a proto annotation that describes a string field that refers to
242
+ # an API resource.
243
+ # @!attribute [rw] type
244
+ # @return [::String]
245
+ # The resource type that the annotated field references.
246
+ #
247
+ # Example:
248
+ #
249
+ # message Subscription {
250
+ # string topic = 2 [(google.api.resource_reference) = {
251
+ # type: "pubsub.googleapis.com/Topic"
252
+ # }];
253
+ # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
265
+ # @!attribute [rw] child_type
266
+ # @return [::String]
267
+ # The resource type of a child collection that the annotated field
268
+ # references. This is useful for annotating the `parent` field that
269
+ # doesn't have a fixed resource type.
270
+ #
271
+ # Example:
272
+ #
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
278
+ class ResourceReference
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,583 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 Dataflow
23
+ module V1beta3
24
+ # Describes the environment in which a Dataflow Job runs.
25
+ # @!attribute [rw] temp_storage_prefix
26
+ # @return [::String]
27
+ # The prefix of the resources the system should use for temporary
28
+ # storage. The system will append the suffix "/temp-\\{JOBNAME} to
29
+ # this resource prefix, where \\{JOBNAME} is the value of the
30
+ # job_name field. The resulting bucket and object prefix is used
31
+ # as the prefix of the resources used to store temporary data
32
+ # needed during the job execution. NOTE: This will override the
33
+ # value in taskrunner_settings.
34
+ # The supported resource type is:
35
+ #
36
+ # Google Cloud Storage:
37
+ #
38
+ # storage.googleapis.com/\\{bucket}/\\{object}
39
+ # bucket.storage.googleapis.com/\\{object}
40
+ # @!attribute [rw] cluster_manager_api_service
41
+ # @return [::String]
42
+ # The type of cluster manager API to use. If unknown or
43
+ # unspecified, the service will attempt to choose a reasonable
44
+ # default. This should be in the form of the API service name,
45
+ # e.g. "compute.googleapis.com".
46
+ # @!attribute [rw] experiments
47
+ # @return [::Array<::String>]
48
+ # The list of experiments to enable. This field should be used for SDK
49
+ # related experiments and not for service related experiments. The proper
50
+ # field for service related experiments is service_options.
51
+ # @!attribute [rw] service_options
52
+ # @return [::Array<::String>]
53
+ # The list of service options to enable. This field should be used for
54
+ # service related experiments only. These experiments, when graduating to GA,
55
+ # should be replaced by dedicated fields or become default (i.e. always on).
56
+ # @!attribute [rw] service_kms_key_name
57
+ # @return [::String]
58
+ # If set, contains the Cloud KMS key identifier used to encrypt data
59
+ # at rest, AKA a Customer Managed Encryption Key (CMEK).
60
+ #
61
+ # Format:
62
+ # projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY
63
+ # @!attribute [rw] worker_pools
64
+ # @return [::Array<::Google::Cloud::Dataflow::V1beta3::WorkerPool>]
65
+ # The worker pools. At least one "harness" worker pool must be
66
+ # specified in order for the job to have workers.
67
+ # @!attribute [rw] user_agent
68
+ # @return [::Google::Protobuf::Struct]
69
+ # A description of the process that generated the request.
70
+ # @!attribute [rw] version
71
+ # @return [::Google::Protobuf::Struct]
72
+ # A structure describing which components and their versions of the service
73
+ # are required in order to run the job.
74
+ # @!attribute [rw] dataset
75
+ # @return [::String]
76
+ # The dataset for the current project where various workflow
77
+ # related tables are stored.
78
+ #
79
+ # The supported resource type is:
80
+ #
81
+ # Google BigQuery:
82
+ # bigquery.googleapis.com/\\{dataset}
83
+ # @!attribute [rw] sdk_pipeline_options
84
+ # @return [::Google::Protobuf::Struct]
85
+ # The Cloud Dataflow SDK pipeline options specified by the user. These
86
+ # options are passed through the service and are used to recreate the
87
+ # SDK pipeline options on the worker in a language agnostic and platform
88
+ # independent way.
89
+ # @!attribute [rw] internal_experiments
90
+ # @return [::Google::Protobuf::Any]
91
+ # Experimental settings.
92
+ # @!attribute [rw] service_account_email
93
+ # @return [::String]
94
+ # Identity to run virtual machines as. Defaults to the default account.
95
+ # @!attribute [rw] flex_resource_scheduling_goal
96
+ # @return [::Google::Cloud::Dataflow::V1beta3::FlexResourceSchedulingGoal]
97
+ # Which Flexible Resource Scheduling mode to run in.
98
+ # @!attribute [rw] worker_region
99
+ # @return [::String]
100
+ # The Compute Engine region
101
+ # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
102
+ # which worker processing should occur, e.g. "us-west1". Mutually exclusive
103
+ # with worker_zone. If neither worker_region nor worker_zone is specified,
104
+ # default to the control plane's region.
105
+ # @!attribute [rw] worker_zone
106
+ # @return [::String]
107
+ # The Compute Engine zone
108
+ # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
109
+ # which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
110
+ # with worker_region. If neither worker_region nor worker_zone is specified,
111
+ # a zone in the control plane's region is chosen based on available capacity.
112
+ # @!attribute [r] shuffle_mode
113
+ # @return [::Google::Cloud::Dataflow::V1beta3::ShuffleMode]
114
+ # Output only. The shuffle mode used for the job.
115
+ # @!attribute [rw] debug_options
116
+ # @return [::Google::Cloud::Dataflow::V1beta3::DebugOptions]
117
+ # Any debugging options to be supplied to the job.
118
+ class Environment
119
+ include ::Google::Protobuf::MessageExts
120
+ extend ::Google::Protobuf::MessageExts::ClassMethods
121
+ end
122
+
123
+ # The packages that must be installed in order for a worker to run the
124
+ # steps of the Cloud Dataflow job that will be assigned to its worker
125
+ # pool.
126
+ #
127
+ # This is the mechanism by which the Cloud Dataflow SDK causes code to
128
+ # be loaded onto the workers. For example, the Cloud Dataflow Java SDK
129
+ # might use this to install jars containing the user's code and all of the
130
+ # various dependencies (libraries, data files, etc.) required in order
131
+ # for that code to run.
132
+ # @!attribute [rw] name
133
+ # @return [::String]
134
+ # The name of the package.
135
+ # @!attribute [rw] location
136
+ # @return [::String]
137
+ # The resource to read the package from. The supported resource type is:
138
+ #
139
+ # Google Cloud Storage:
140
+ #
141
+ # storage.googleapis.com/\\{bucket}
142
+ # bucket.storage.googleapis.com/
143
+ class Package
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # Describes the data disk used by a workflow job.
149
+ # @!attribute [rw] size_gb
150
+ # @return [::Integer]
151
+ # Size of disk in GB. If zero or unspecified, the service will
152
+ # attempt to choose a reasonable default.
153
+ # @!attribute [rw] disk_type
154
+ # @return [::String]
155
+ # Disk storage type, as defined by Google Compute Engine. This
156
+ # must be a disk type appropriate to the project and zone in which
157
+ # the workers will run. If unknown or unspecified, the service
158
+ # will attempt to choose a reasonable default.
159
+ #
160
+ # For example, the standard persistent disk type is a resource name
161
+ # typically ending in "pd-standard". If SSD persistent disks are
162
+ # available, the resource name typically ends with "pd-ssd". The
163
+ # actual valid values are defined the Google Compute Engine API,
164
+ # not by the Cloud Dataflow API; consult the Google Compute Engine
165
+ # documentation for more information about determining the set of
166
+ # available disk types for a particular project and zone.
167
+ #
168
+ # Google Compute Engine Disk types are local to a particular
169
+ # project in a particular zone, and so the resource name will
170
+ # typically look something like this:
171
+ #
172
+ # compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard
173
+ # @!attribute [rw] mount_point
174
+ # @return [::String]
175
+ # Directory in a VM where disk is mounted.
176
+ class Disk
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # Provides data to pass through to the worker harness.
182
+ # @!attribute [rw] base_url
183
+ # @return [::String]
184
+ # The base URL for accessing Google Cloud APIs.
185
+ #
186
+ # When workers access Google Cloud APIs, they logically do so via
187
+ # relative URLs. If this field is specified, it supplies the base
188
+ # URL to use for resolving these relative URLs. The normative
189
+ # algorithm used is defined by RFC 1808, "Relative Uniform Resource
190
+ # Locators".
191
+ #
192
+ # If not specified, the default value is "http://www.googleapis.com/"
193
+ # @!attribute [rw] reporting_enabled
194
+ # @return [::Boolean]
195
+ # Whether to send work progress updates to the service.
196
+ # @!attribute [rw] service_path
197
+ # @return [::String]
198
+ # The Cloud Dataflow service path relative to the root URL, for example,
199
+ # "dataflow/v1b3/projects".
200
+ # @!attribute [rw] shuffle_service_path
201
+ # @return [::String]
202
+ # The Shuffle service path relative to the root URL, for example,
203
+ # "shuffle/v1beta1".
204
+ # @!attribute [rw] worker_id
205
+ # @return [::String]
206
+ # The ID of the worker running this pipeline.
207
+ # @!attribute [rw] temp_storage_prefix
208
+ # @return [::String]
209
+ # The prefix of the resources the system should use for temporary
210
+ # storage.
211
+ #
212
+ # The supported resource type is:
213
+ #
214
+ # Google Cloud Storage:
215
+ #
216
+ # storage.googleapis.com/\\{bucket}/\\{object}
217
+ # bucket.storage.googleapis.com/\\{object}
218
+ class WorkerSettings
219
+ include ::Google::Protobuf::MessageExts
220
+ extend ::Google::Protobuf::MessageExts::ClassMethods
221
+ end
222
+
223
+ # Taskrunner configuration settings.
224
+ # @!attribute [rw] task_user
225
+ # @return [::String]
226
+ # The UNIX user ID on the worker VM to use for tasks launched by
227
+ # taskrunner; e.g. "root".
228
+ # @!attribute [rw] task_group
229
+ # @return [::String]
230
+ # The UNIX group ID on the worker VM to use for tasks launched by
231
+ # taskrunner; e.g. "wheel".
232
+ # @!attribute [rw] oauth_scopes
233
+ # @return [::Array<::String>]
234
+ # The OAuth2 scopes to be requested by the taskrunner in order to
235
+ # access the Cloud Dataflow API.
236
+ # @!attribute [rw] base_url
237
+ # @return [::String]
238
+ # The base URL for the taskrunner to use when accessing Google Cloud APIs.
239
+ #
240
+ # When workers access Google Cloud APIs, they logically do so via
241
+ # relative URLs. If this field is specified, it supplies the base
242
+ # URL to use for resolving these relative URLs. The normative
243
+ # algorithm used is defined by RFC 1808, "Relative Uniform Resource
244
+ # Locators".
245
+ #
246
+ # If not specified, the default value is "http://www.googleapis.com/"
247
+ # @!attribute [rw] dataflow_api_version
248
+ # @return [::String]
249
+ # The API version of endpoint, e.g. "v1b3"
250
+ # @!attribute [rw] parallel_worker_settings
251
+ # @return [::Google::Cloud::Dataflow::V1beta3::WorkerSettings]
252
+ # The settings to pass to the parallel worker harness.
253
+ # @!attribute [rw] base_task_dir
254
+ # @return [::String]
255
+ # The location on the worker for task-specific subdirectories.
256
+ # @!attribute [rw] continue_on_exception
257
+ # @return [::Boolean]
258
+ # Whether to continue taskrunner if an exception is hit.
259
+ # @!attribute [rw] log_to_serialconsole
260
+ # @return [::Boolean]
261
+ # Whether to send taskrunner log info to Google Compute Engine VM serial
262
+ # console.
263
+ # @!attribute [rw] alsologtostderr
264
+ # @return [::Boolean]
265
+ # Whether to also send taskrunner log info to stderr.
266
+ # @!attribute [rw] log_upload_location
267
+ # @return [::String]
268
+ # Indicates where to put logs. If this is not specified, the logs
269
+ # will not be uploaded.
270
+ #
271
+ # The supported resource type is:
272
+ #
273
+ # Google Cloud Storage:
274
+ # storage.googleapis.com/\\{bucket}/\\{object}
275
+ # bucket.storage.googleapis.com/\\{object}
276
+ # @!attribute [rw] log_dir
277
+ # @return [::String]
278
+ # The directory on the VM to store logs.
279
+ # @!attribute [rw] temp_storage_prefix
280
+ # @return [::String]
281
+ # The prefix of the resources the taskrunner should use for
282
+ # temporary storage.
283
+ #
284
+ # The supported resource type is:
285
+ #
286
+ # Google Cloud Storage:
287
+ # storage.googleapis.com/\\{bucket}/\\{object}
288
+ # bucket.storage.googleapis.com/\\{object}
289
+ # @!attribute [rw] harness_command
290
+ # @return [::String]
291
+ # The command to launch the worker harness.
292
+ # @!attribute [rw] workflow_file_name
293
+ # @return [::String]
294
+ # The file to store the workflow in.
295
+ # @!attribute [rw] commandlines_file_name
296
+ # @return [::String]
297
+ # The file to store preprocessing commands in.
298
+ # @!attribute [rw] vm_id
299
+ # @return [::String]
300
+ # The ID string of the VM.
301
+ # @!attribute [rw] language_hint
302
+ # @return [::String]
303
+ # The suggested backend language.
304
+ # @!attribute [rw] streaming_worker_main_class
305
+ # @return [::String]
306
+ # The streaming worker main class name.
307
+ class TaskRunnerSettings
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+ end
311
+
312
+ # Settings for WorkerPool autoscaling.
313
+ # @!attribute [rw] algorithm
314
+ # @return [::Google::Cloud::Dataflow::V1beta3::AutoscalingAlgorithm]
315
+ # The algorithm to use for autoscaling.
316
+ # @!attribute [rw] max_num_workers
317
+ # @return [::Integer]
318
+ # The maximum number of workers to cap scaling at.
319
+ class AutoscalingSettings
320
+ include ::Google::Protobuf::MessageExts
321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
322
+ end
323
+
324
+ # Defines a SDK harness container for executing Dataflow pipelines.
325
+ # @!attribute [rw] container_image
326
+ # @return [::String]
327
+ # A docker container image that resides in Google Container Registry.
328
+ # @!attribute [rw] use_single_core_per_container
329
+ # @return [::Boolean]
330
+ # If true, recommends the Dataflow service to use only one core per SDK
331
+ # container instance with this image. If false (or unset) recommends using
332
+ # more than one core per SDK container instance with this image for
333
+ # efficiency. Note that Dataflow service may choose to override this property
334
+ # if needed.
335
+ # @!attribute [rw] environment_id
336
+ # @return [::String]
337
+ # Environment ID for the Beam runner API proto Environment that corresponds
338
+ # to the current SDK Harness.
339
+ class SdkHarnessContainerImage
340
+ include ::Google::Protobuf::MessageExts
341
+ extend ::Google::Protobuf::MessageExts::ClassMethods
342
+ end
343
+
344
+ # Describes one particular pool of Cloud Dataflow workers to be
345
+ # instantiated by the Cloud Dataflow service in order to perform the
346
+ # computations required by a job. Note that a workflow job may use
347
+ # multiple pools, in order to match the various computational
348
+ # requirements of the various stages of the job.
349
+ # @!attribute [rw] kind
350
+ # @return [::String]
351
+ # The kind of the worker pool; currently only `harness` and `shuffle`
352
+ # are supported.
353
+ # @!attribute [rw] num_workers
354
+ # @return [::Integer]
355
+ # Number of Google Compute Engine workers in this pool needed to
356
+ # execute the job. If zero or unspecified, the service will
357
+ # attempt to choose a reasonable default.
358
+ # @!attribute [rw] packages
359
+ # @return [::Array<::Google::Cloud::Dataflow::V1beta3::Package>]
360
+ # Packages to be installed on workers.
361
+ # @!attribute [rw] default_package_set
362
+ # @return [::Google::Cloud::Dataflow::V1beta3::DefaultPackageSet]
363
+ # The default package set to install. This allows the service to
364
+ # select a default set of packages which are useful to worker
365
+ # harnesses written in a particular language.
366
+ # @!attribute [rw] machine_type
367
+ # @return [::String]
368
+ # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the
369
+ # service will attempt to choose a reasonable default.
370
+ # @!attribute [rw] teardown_policy
371
+ # @return [::Google::Cloud::Dataflow::V1beta3::TeardownPolicy]
372
+ # Sets the policy for determining when to turndown worker pool.
373
+ # Allowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and
374
+ # `TEARDOWN_NEVER`.
375
+ # `TEARDOWN_ALWAYS` means workers are always torn down regardless of whether
376
+ # the job succeeds. `TEARDOWN_ON_SUCCESS` means workers are torn down
377
+ # if the job succeeds. `TEARDOWN_NEVER` means the workers are never torn
378
+ # down.
379
+ #
380
+ # If the workers are not torn down by the service, they will
381
+ # continue to run and use Google Compute Engine VM resources in the
382
+ # user's project until they are explicitly terminated by the user.
383
+ # Because of this, Google recommends using the `TEARDOWN_ALWAYS`
384
+ # policy except for small, manually supervised test jobs.
385
+ #
386
+ # If unknown or unspecified, the service will attempt to choose a reasonable
387
+ # default.
388
+ # @!attribute [rw] disk_size_gb
389
+ # @return [::Integer]
390
+ # Size of root disk for VMs, in GB. If zero or unspecified, the service will
391
+ # attempt to choose a reasonable default.
392
+ # @!attribute [rw] disk_type
393
+ # @return [::String]
394
+ # Type of root disk for VMs. If empty or unspecified, the service will
395
+ # attempt to choose a reasonable default.
396
+ # @!attribute [rw] disk_source_image
397
+ # @return [::String]
398
+ # Fully qualified source image for disks.
399
+ # @!attribute [rw] zone
400
+ # @return [::String]
401
+ # Zone to run the worker pools in. If empty or unspecified, the service
402
+ # will attempt to choose a reasonable default.
403
+ # @!attribute [rw] taskrunner_settings
404
+ # @return [::Google::Cloud::Dataflow::V1beta3::TaskRunnerSettings]
405
+ # Settings passed through to Google Compute Engine workers when
406
+ # using the standard Dataflow task runner. Users should ignore
407
+ # this field.
408
+ # @!attribute [rw] on_host_maintenance
409
+ # @return [::String]
410
+ # The action to take on host maintenance, as defined by the Google
411
+ # Compute Engine API.
412
+ # @!attribute [rw] data_disks
413
+ # @return [::Array<::Google::Cloud::Dataflow::V1beta3::Disk>]
414
+ # Data disks that are used by a VM in this workflow.
415
+ # @!attribute [rw] metadata
416
+ # @return [::Google::Protobuf::Map{::String => ::String}]
417
+ # Metadata to set on the Google Compute Engine VMs.
418
+ # @!attribute [rw] autoscaling_settings
419
+ # @return [::Google::Cloud::Dataflow::V1beta3::AutoscalingSettings]
420
+ # Settings for autoscaling of this WorkerPool.
421
+ # @!attribute [rw] pool_args
422
+ # @return [::Google::Protobuf::Any]
423
+ # Extra arguments for this worker pool.
424
+ # @!attribute [rw] network
425
+ # @return [::String]
426
+ # Network to which VMs will be assigned. If empty or unspecified,
427
+ # the service will use the network "default".
428
+ # @!attribute [rw] subnetwork
429
+ # @return [::String]
430
+ # Subnetwork to which VMs will be assigned, if desired. Expected to be of
431
+ # the form "regions/REGION/subnetworks/SUBNETWORK".
432
+ # @!attribute [rw] worker_harness_container_image
433
+ # @return [::String]
434
+ # Required. Docker container image that executes the Cloud Dataflow worker
435
+ # harness, residing in Google Container Registry.
436
+ #
437
+ # Deprecated for the Fn API path. Use sdk_harness_container_images instead.
438
+ # @!attribute [rw] num_threads_per_worker
439
+ # @return [::Integer]
440
+ # The number of threads per worker harness. If empty or unspecified, the
441
+ # service will choose a number of threads (according to the number of cores
442
+ # on the selected machine type for batch, or 1 by convention for streaming).
443
+ # @!attribute [rw] ip_configuration
444
+ # @return [::Google::Cloud::Dataflow::V1beta3::WorkerIPAddressConfiguration]
445
+ # Configuration for VM IPs.
446
+ # @!attribute [rw] sdk_harness_container_images
447
+ # @return [::Array<::Google::Cloud::Dataflow::V1beta3::SdkHarnessContainerImage>]
448
+ # Set of SDK harness containers needed to execute this pipeline. This will
449
+ # only be set in the Fn API path. For non-cross-language pipelines this
450
+ # should have only one entry. Cross-language pipelines will have two or more
451
+ # entries.
452
+ class WorkerPool
453
+ include ::Google::Protobuf::MessageExts
454
+ extend ::Google::Protobuf::MessageExts::ClassMethods
455
+
456
+ # @!attribute [rw] key
457
+ # @return [::String]
458
+ # @!attribute [rw] value
459
+ # @return [::String]
460
+ class MetadataEntry
461
+ include ::Google::Protobuf::MessageExts
462
+ extend ::Google::Protobuf::MessageExts::ClassMethods
463
+ end
464
+ end
465
+
466
+ # Describes any options that have an effect on the debugging of pipelines.
467
+ # @!attribute [rw] enable_hot_key_logging
468
+ # @return [::Boolean]
469
+ # When true, enables the logging of the literal hot key to the user's Cloud
470
+ # Logging.
471
+ class DebugOptions
472
+ include ::Google::Protobuf::MessageExts
473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
474
+ end
475
+
476
+ # Specifies the processing model used by a
477
+ # [google.dataflow.v1beta3.Job], which determines the way the Job is
478
+ # managed by the Cloud Dataflow service (how workers are scheduled, how
479
+ # inputs are sharded, etc).
480
+ module JobType
481
+ # The type of the job is unspecified, or unknown.
482
+ JOB_TYPE_UNKNOWN = 0
483
+
484
+ # A batch job with a well-defined end point: data is read, data is
485
+ # processed, data is written, and the job is done.
486
+ JOB_TYPE_BATCH = 1
487
+
488
+ # A continuously streaming job with no end: data is read,
489
+ # processed, and written continuously.
490
+ JOB_TYPE_STREAMING = 2
491
+ end
492
+
493
+ # Specifies the resource to optimize for in Flexible Resource Scheduling.
494
+ module FlexResourceSchedulingGoal
495
+ # Run in the default mode.
496
+ FLEXRS_UNSPECIFIED = 0
497
+
498
+ # Optimize for lower execution time.
499
+ FLEXRS_SPEED_OPTIMIZED = 1
500
+
501
+ # Optimize for lower cost.
502
+ FLEXRS_COST_OPTIMIZED = 2
503
+ end
504
+
505
+ # Specifies what happens to a resource when a Cloud Dataflow
506
+ # {::Google::Cloud::Dataflow::V1beta3::Job google.dataflow.v1beta3.Job} has completed.
507
+ module TeardownPolicy
508
+ # The teardown policy isn't specified, or is unknown.
509
+ TEARDOWN_POLICY_UNKNOWN = 0
510
+
511
+ # Always teardown the resource.
512
+ TEARDOWN_ALWAYS = 1
513
+
514
+ # Teardown the resource on success. This is useful for debugging
515
+ # failures.
516
+ TEARDOWN_ON_SUCCESS = 2
517
+
518
+ # Never teardown the resource. This is useful for debugging and
519
+ # development.
520
+ TEARDOWN_NEVER = 3
521
+ end
522
+
523
+ # The default set of packages to be staged on a pool of workers.
524
+ module DefaultPackageSet
525
+ # The default set of packages to stage is unknown, or unspecified.
526
+ DEFAULT_PACKAGE_SET_UNKNOWN = 0
527
+
528
+ # Indicates that no packages should be staged at the worker unless
529
+ # explicitly specified by the job.
530
+ DEFAULT_PACKAGE_SET_NONE = 1
531
+
532
+ # Stage packages typically useful to workers written in Java.
533
+ DEFAULT_PACKAGE_SET_JAVA = 2
534
+
535
+ # Stage packages typically useful to workers written in Python.
536
+ DEFAULT_PACKAGE_SET_PYTHON = 3
537
+ end
538
+
539
+ # Specifies the algorithm used to determine the number of worker
540
+ # processes to run at any given point in time, based on the amount of
541
+ # data left to process, the number of workers, and how quickly
542
+ # existing workers are processing data.
543
+ module AutoscalingAlgorithm
544
+ # The algorithm is unknown, or unspecified.
545
+ AUTOSCALING_ALGORITHM_UNKNOWN = 0
546
+
547
+ # Disable autoscaling.
548
+ AUTOSCALING_ALGORITHM_NONE = 1
549
+
550
+ # Increase worker count over time to reduce job execution time.
551
+ AUTOSCALING_ALGORITHM_BASIC = 2
552
+ end
553
+
554
+ # Specifies how IP addresses should be allocated to the worker machines.
555
+ module WorkerIPAddressConfiguration
556
+ # The configuration is unknown, or unspecified.
557
+ WORKER_IP_UNSPECIFIED = 0
558
+
559
+ # Workers should have public IP addresses.
560
+ WORKER_IP_PUBLIC = 1
561
+
562
+ # Workers should have private IP addresses.
563
+ WORKER_IP_PRIVATE = 2
564
+ end
565
+
566
+ # Specifies the shuffle mode used by a
567
+ # [google.dataflow.v1beta3.Job], which determines the approach data is shuffled
568
+ # during processing. More details in:
569
+ # https://cloud.google.com/dataflow/docs/guides/deploying-a-pipeline#dataflow-shuffle
570
+ module ShuffleMode
571
+ # Shuffle mode information is not available.
572
+ SHUFFLE_MODE_UNSPECIFIED = 0
573
+
574
+ # Shuffle is done on the worker VMs.
575
+ VM_BASED = 1
576
+
577
+ # Shuffle is done on the service side.
578
+ SERVICE_BASED = 2
579
+ end
580
+ end
581
+ end
582
+ end
583
+ end