google-cloud-dataflow-v1beta3 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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