google-cloud-orchestration-airflow-service-v1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +167 -0
- data/LICENSE.md +201 -0
- data/README.md +139 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments/client.rb +818 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments/credentials.rb +51 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments/operations.rb +668 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments/paths.rb +56 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments.rb +54 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments_pb.rb +173 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/environments_services_pb.rb +57 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/image_versions/client.rb +380 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/image_versions/credentials.rb +51 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/image_versions.rb +52 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/image_versions_pb.rb +46 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/image_versions_services_pb.rb +49 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/operations_pb.rb +50 -0
- data/lib/google/cloud/orchestration/airflow/service/v1/version.rb +32 -0
- data/lib/google/cloud/orchestration/airflow/service/v1.rb +43 -0
- data/lib/google-cloud-orchestration-airflow-service-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +71 -0
- data/proto_docs/google/api/resource.rb +283 -0
- data/proto_docs/google/cloud/orchestration/airflow/service/v1/environments.rb +762 -0
- data/proto_docs/google/cloud/orchestration/airflow/service/v1/image_versions.rb +88 -0
- data/proto_docs/google/cloud/orchestration/airflow/service/v1/operations.rb +94 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +141 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +129 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- data/proto_docs/google/type/date.rb +53 -0
- metadata +228 -0
@@ -0,0 +1,762 @@
|
|
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 Orchestration
|
23
|
+
module Airflow
|
24
|
+
module Service
|
25
|
+
module V1
|
26
|
+
# Create a new environment.
|
27
|
+
# @!attribute [rw] parent
|
28
|
+
# @return [::String]
|
29
|
+
# The parent must be of the form
|
30
|
+
# "projects/\\{projectId}/locations/\\{locationId}".
|
31
|
+
# @!attribute [rw] environment
|
32
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::Environment]
|
33
|
+
# The environment to create.
|
34
|
+
class CreateEnvironmentRequest
|
35
|
+
include ::Google::Protobuf::MessageExts
|
36
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
37
|
+
end
|
38
|
+
|
39
|
+
# Get an environment.
|
40
|
+
# @!attribute [rw] name
|
41
|
+
# @return [::String]
|
42
|
+
# The resource name of the environment to get, in the form:
|
43
|
+
# "projects/\\{projectId}/locations/\\{locationId}/environments/\\{environmentId}"
|
44
|
+
class GetEnvironmentRequest
|
45
|
+
include ::Google::Protobuf::MessageExts
|
46
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
47
|
+
end
|
48
|
+
|
49
|
+
# List environments in a project and location.
|
50
|
+
# @!attribute [rw] parent
|
51
|
+
# @return [::String]
|
52
|
+
# List environments in the given project and location, in the form:
|
53
|
+
# "projects/\\{projectId}/locations/\\{locationId}"
|
54
|
+
# @!attribute [rw] page_size
|
55
|
+
# @return [::Integer]
|
56
|
+
# The maximum number of environments to return.
|
57
|
+
# @!attribute [rw] page_token
|
58
|
+
# @return [::String]
|
59
|
+
# The next_page_token value returned from a previous List request, if any.
|
60
|
+
class ListEnvironmentsRequest
|
61
|
+
include ::Google::Protobuf::MessageExts
|
62
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
63
|
+
end
|
64
|
+
|
65
|
+
# The environments in a project and location.
|
66
|
+
# @!attribute [rw] environments
|
67
|
+
# @return [::Array<::Google::Cloud::Orchestration::Airflow::Service::V1::Environment>]
|
68
|
+
# The list of environments returned by a ListEnvironmentsRequest.
|
69
|
+
# @!attribute [rw] next_page_token
|
70
|
+
# @return [::String]
|
71
|
+
# The page token used to query for the next page if one exists.
|
72
|
+
class ListEnvironmentsResponse
|
73
|
+
include ::Google::Protobuf::MessageExts
|
74
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
75
|
+
end
|
76
|
+
|
77
|
+
# Delete an environment.
|
78
|
+
# @!attribute [rw] name
|
79
|
+
# @return [::String]
|
80
|
+
# The environment to delete, in the form:
|
81
|
+
# "projects/\\{projectId}/locations/\\{locationId}/environments/\\{environmentId}"
|
82
|
+
class DeleteEnvironmentRequest
|
83
|
+
include ::Google::Protobuf::MessageExts
|
84
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
85
|
+
end
|
86
|
+
|
87
|
+
# Update an environment.
|
88
|
+
# @!attribute [rw] name
|
89
|
+
# @return [::String]
|
90
|
+
# The relative resource name of the environment to update, in the form:
|
91
|
+
# "projects/\\{projectId}/locations/\\{locationId}/environments/\\{environmentId}"
|
92
|
+
# @!attribute [rw] environment
|
93
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::Environment]
|
94
|
+
# A patch environment. Fields specified by the `updateMask` will be copied
|
95
|
+
# from the patch environment into the environment under update.
|
96
|
+
# @!attribute [rw] update_mask
|
97
|
+
# @return [::Google::Protobuf::FieldMask]
|
98
|
+
# Required. A comma-separated list of paths, relative to `Environment`, of
|
99
|
+
# fields to update.
|
100
|
+
# For example, to set the version of scikit-learn to install in the
|
101
|
+
# environment to 0.19.0 and to remove an existing installation of
|
102
|
+
# numpy, the `updateMask` parameter would include the following two
|
103
|
+
# `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and
|
104
|
+
# "config.softwareConfig.pypiPackages.numpy". The included patch
|
105
|
+
# environment would specify the scikit-learn version as follows:
|
106
|
+
#
|
107
|
+
# {
|
108
|
+
# "config":{
|
109
|
+
# "softwareConfig":{
|
110
|
+
# "pypiPackages":{
|
111
|
+
# "scikit-learn":"==0.19.0"
|
112
|
+
# }
|
113
|
+
# }
|
114
|
+
# }
|
115
|
+
# }
|
116
|
+
#
|
117
|
+
# Note that in the above example, any existing PyPI packages
|
118
|
+
# other than scikit-learn and numpy will be unaffected.
|
119
|
+
#
|
120
|
+
# Only one update type may be included in a single request's `updateMask`.
|
121
|
+
# For example, one cannot update both the PyPI packages and
|
122
|
+
# labels in the same request. However, it is possible to update multiple
|
123
|
+
# members of a map field simultaneously in the same request. For example,
|
124
|
+
# to set the labels "label1" and "label2" while clearing "label3" (assuming
|
125
|
+
# it already exists), one can
|
126
|
+
# provide the paths "labels.label1", "labels.label2", and "labels.label3"
|
127
|
+
# and populate the patch environment as follows:
|
128
|
+
#
|
129
|
+
# {
|
130
|
+
# "labels":{
|
131
|
+
# "label1":"new-label1-value"
|
132
|
+
# "label2":"new-label2-value"
|
133
|
+
# }
|
134
|
+
# }
|
135
|
+
#
|
136
|
+
# Note that in the above example, any existing labels that are not
|
137
|
+
# included in the `updateMask` will be unaffected.
|
138
|
+
#
|
139
|
+
# It is also possible to replace an entire map field by providing the
|
140
|
+
# map field's path in the `updateMask`. The new value of the field will
|
141
|
+
# be that which is provided in the patch environment. For example, to
|
142
|
+
# delete all pre-existing user-specified PyPI packages and
|
143
|
+
# install botocore at version 1.7.14, the `updateMask` would contain
|
144
|
+
# the path "config.softwareConfig.pypiPackages", and
|
145
|
+
# the patch environment would be the following:
|
146
|
+
#
|
147
|
+
# {
|
148
|
+
# "config":{
|
149
|
+
# "softwareConfig":{
|
150
|
+
# "pypiPackages":{
|
151
|
+
# "botocore":"==1.7.14"
|
152
|
+
# }
|
153
|
+
# }
|
154
|
+
# }
|
155
|
+
# }
|
156
|
+
#
|
157
|
+
# **Note:** Only the following fields can be updated:
|
158
|
+
#
|
159
|
+
# * `config.softwareConfig.pypiPackages`
|
160
|
+
# * Replace all custom custom PyPI packages. If a replacement
|
161
|
+
# package map is not included in `environment`, all custom
|
162
|
+
# PyPI packages are cleared. It is an error to provide both
|
163
|
+
# this mask and a mask specifying an individual package.
|
164
|
+
# * `config.softwareConfig.pypiPackages.`packagename
|
165
|
+
# * Update the custom PyPI package *packagename*,
|
166
|
+
# preserving other packages. To delete the package, include it in
|
167
|
+
# `updateMask`, and omit the mapping for it in
|
168
|
+
# `environment.config.softwareConfig.pypiPackages`. It is an error
|
169
|
+
# to provide both a mask of this form and the
|
170
|
+
# `config.softwareConfig.pypiPackages` mask.
|
171
|
+
# * `labels`
|
172
|
+
# * Replace all environment labels. If a replacement labels map is not
|
173
|
+
# included in `environment`, all labels are cleared. It is an error to
|
174
|
+
# provide both this mask and a mask specifying one or more individual
|
175
|
+
# labels.
|
176
|
+
# * `labels.`labelName
|
177
|
+
# * Set the label named *labelName*, while preserving other
|
178
|
+
# labels. To delete the label, include it in `updateMask` and omit its
|
179
|
+
# mapping in `environment.labels`. It is an error to provide both a
|
180
|
+
# mask of this form and the `labels` mask.
|
181
|
+
# * `config.nodeCount`
|
182
|
+
# * Horizontally scale the number of nodes in the environment. An integer
|
183
|
+
# greater than or equal to 3 must be provided in the `config.nodeCount`
|
184
|
+
# field.
|
185
|
+
# * `config.webServerNetworkAccessControl`
|
186
|
+
# * Replace the environment's current `WebServerNetworkAccessControl`.
|
187
|
+
# * `config.databaseConfig`
|
188
|
+
# * Replace the environment's current `DatabaseConfig`.
|
189
|
+
# * `config.webServerConfig`
|
190
|
+
# * Replace the environment's current `WebServerConfig`.
|
191
|
+
# * `config.softwareConfig.airflowConfigOverrides`
|
192
|
+
# * Replace all Apache Airflow config overrides. If a replacement config
|
193
|
+
# overrides map is not included in `environment`, all config overrides
|
194
|
+
# are cleared.
|
195
|
+
# It is an error to provide both this mask and a mask specifying one or
|
196
|
+
# more individual config overrides.
|
197
|
+
# * `config.softwareConfig.airflowConfigOverrides.`section-name
|
198
|
+
# * Override the Apache Airflow config property *name* in the
|
199
|
+
# section named *section*, preserving other properties. To
|
200
|
+
# delete the property override, include it in `updateMask` and omit its
|
201
|
+
# mapping in
|
202
|
+
# `environment.config.softwareConfig.airflowConfigOverrides`.
|
203
|
+
# It is an error to provide both a mask of this form and the
|
204
|
+
# `config.softwareConfig.airflowConfigOverrides` mask.
|
205
|
+
# * `config.softwareConfig.envVariables`
|
206
|
+
# * Replace all environment variables. If a replacement environment
|
207
|
+
# variable map is not included in `environment`, all custom environment
|
208
|
+
# variables are cleared.
|
209
|
+
# It is an error to provide both this mask and a mask specifying one or
|
210
|
+
# more individual environment variables.
|
211
|
+
class UpdateEnvironmentRequest
|
212
|
+
include ::Google::Protobuf::MessageExts
|
213
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
214
|
+
end
|
215
|
+
|
216
|
+
# Configuration information for an environment.
|
217
|
+
# @!attribute [rw] gke_cluster
|
218
|
+
# @return [::String]
|
219
|
+
# Output only. The Kubernetes Engine cluster used to run this environment.
|
220
|
+
# @!attribute [rw] dag_gcs_prefix
|
221
|
+
# @return [::String]
|
222
|
+
# Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud
|
223
|
+
# Storage objects reside in a flat namespace, a hierarchical file tree
|
224
|
+
# can be simulated using "/"-delimited object name prefixes. DAG objects for
|
225
|
+
# this environment reside in a simulated directory with the given prefix.
|
226
|
+
# @!attribute [rw] node_count
|
227
|
+
# @return [::Integer]
|
228
|
+
# The number of nodes in the Kubernetes Engine cluster that will be
|
229
|
+
# used to run this environment.
|
230
|
+
# @!attribute [rw] software_config
|
231
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::SoftwareConfig]
|
232
|
+
# The configuration settings for software inside the environment.
|
233
|
+
# @!attribute [rw] node_config
|
234
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::NodeConfig]
|
235
|
+
# The configuration used for the Kubernetes Engine cluster.
|
236
|
+
# @!attribute [rw] private_environment_config
|
237
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::PrivateEnvironmentConfig]
|
238
|
+
# The configuration used for the Private IP Cloud Composer environment.
|
239
|
+
# @!attribute [rw] web_server_network_access_control
|
240
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WebServerNetworkAccessControl]
|
241
|
+
# Optional. The network-level access control policy for the Airflow web server. If
|
242
|
+
# unspecified, no network-level access restrictions will be applied.
|
243
|
+
# @!attribute [rw] database_config
|
244
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::DatabaseConfig]
|
245
|
+
# Optional. The configuration settings for Cloud SQL instance used internally by Apache
|
246
|
+
# Airflow software.
|
247
|
+
# @!attribute [rw] web_server_config
|
248
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WebServerConfig]
|
249
|
+
# Optional. The configuration settings for the Airflow web server App Engine instance.
|
250
|
+
# @!attribute [rw] encryption_config
|
251
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::EncryptionConfig]
|
252
|
+
# Optional. The encryption options for the Cloud Composer environment
|
253
|
+
# and its dependencies. Cannot be updated.
|
254
|
+
# @!attribute [rw] airflow_uri
|
255
|
+
# @return [::String]
|
256
|
+
# Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
|
257
|
+
# [Airflow web
|
258
|
+
# interface](/composer/docs/how-to/accessing/airflow-web-interface)).
|
259
|
+
class EnvironmentConfig
|
260
|
+
include ::Google::Protobuf::MessageExts
|
261
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
262
|
+
end
|
263
|
+
|
264
|
+
# Network-level access control policy for the Airflow web server.
|
265
|
+
# @!attribute [rw] allowed_ip_ranges
|
266
|
+
# @return [::Array<::Google::Cloud::Orchestration::Airflow::Service::V1::WebServerNetworkAccessControl::AllowedIpRange>]
|
267
|
+
# A collection of allowed IP ranges with descriptions.
|
268
|
+
class WebServerNetworkAccessControl
|
269
|
+
include ::Google::Protobuf::MessageExts
|
270
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
271
|
+
|
272
|
+
# Allowed IP range with user-provided description.
|
273
|
+
# @!attribute [rw] value
|
274
|
+
# @return [::String]
|
275
|
+
# IP address or range, defined using CIDR notation, of requests that this
|
276
|
+
# rule applies to.
|
277
|
+
# Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32`
|
278
|
+
# or `2001:0db8:0000:0042:0000:8a2e:0370:7334`.
|
279
|
+
#
|
280
|
+
# IP range prefixes should be properly truncated. For example,
|
281
|
+
# `1.2.3.4/24` should be truncated to `1.2.3.0/24`. Similarly, for IPv6,
|
282
|
+
# `2001:db8::1/32` should be truncated to `2001:db8::/32`.
|
283
|
+
# @!attribute [rw] description
|
284
|
+
# @return [::String]
|
285
|
+
# Optional. User-provided description. It must contain at most 300 characters.
|
286
|
+
class AllowedIpRange
|
287
|
+
include ::Google::Protobuf::MessageExts
|
288
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
# The configuration of Cloud SQL instance that is used by the Apache Airflow
|
293
|
+
# software.
|
294
|
+
# @!attribute [rw] machine_type
|
295
|
+
# @return [::String]
|
296
|
+
# Optional. Cloud SQL machine type used by Airflow database.
|
297
|
+
# It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8
|
298
|
+
# or db-n1-standard-16. If not specified, db-n1-standard-2 will be used.
|
299
|
+
class DatabaseConfig
|
300
|
+
include ::Google::Protobuf::MessageExts
|
301
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
302
|
+
end
|
303
|
+
|
304
|
+
# The configuration settings for the Airflow web server App Engine instance.
|
305
|
+
# @!attribute [rw] machine_type
|
306
|
+
# @return [::String]
|
307
|
+
# Optional. Machine type on which Airflow web server is running.
|
308
|
+
# It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or
|
309
|
+
# composer-n1-webserver-8.
|
310
|
+
# If not specified, composer-n1-webserver-2 will be used.
|
311
|
+
# Value custom is returned only in response, if Airflow web server parameters
|
312
|
+
# were manually changed to a non-standard values.
|
313
|
+
class WebServerConfig
|
314
|
+
include ::Google::Protobuf::MessageExts
|
315
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
316
|
+
end
|
317
|
+
|
318
|
+
# The encryption options for the Cloud Composer environment
|
319
|
+
# and its dependencies.
|
320
|
+
# @!attribute [rw] kms_key_name
|
321
|
+
# @return [::String]
|
322
|
+
# Optional. Customer-managed Encryption Key available through Google's Key Management
|
323
|
+
# Service. Cannot be updated.
|
324
|
+
# If not specified, Google-managed key will be used.
|
325
|
+
class EncryptionConfig
|
326
|
+
include ::Google::Protobuf::MessageExts
|
327
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
328
|
+
end
|
329
|
+
|
330
|
+
# Specifies the selection and configuration of software inside the environment.
|
331
|
+
# @!attribute [rw] image_version
|
332
|
+
# @return [::String]
|
333
|
+
# The version of the software running in the environment.
|
334
|
+
# This encapsulates both the version of Cloud Composer functionality and the
|
335
|
+
# version of Apache Airflow. It must match the regular expression
|
336
|
+
# `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
|
337
|
+
# When used as input, the server also checks if the provided version is
|
338
|
+
# supported and denies the request for an unsupported version.
|
339
|
+
#
|
340
|
+
# The Cloud Composer portion of the version is a
|
341
|
+
# [semantic version](https://semver.org) or `latest`. When the patch version
|
342
|
+
# is omitted, the current Cloud Composer patch version is selected.
|
343
|
+
# When `latest` is provided instead of an explicit version number,
|
344
|
+
# the server replaces `latest` with the current Cloud Composer version
|
345
|
+
# and stores that version number in the same field.
|
346
|
+
#
|
347
|
+
# The portion of the image version that follows *airflow-* is an
|
348
|
+
# official Apache Airflow repository
|
349
|
+
# [release name](https://github.com/apache/incubator-airflow/releases).
|
350
|
+
#
|
351
|
+
# See also [Version
|
352
|
+
# List](/composer/docs/concepts/versioning/composer-versions).
|
353
|
+
# @!attribute [rw] airflow_config_overrides
|
354
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
355
|
+
# Optional. Apache Airflow configuration properties to override.
|
356
|
+
#
|
357
|
+
# Property keys contain the section and property names, separated by a
|
358
|
+
# hyphen, for example "core-dags_are_paused_at_creation". Section names must
|
359
|
+
# not contain hyphens ("-"), opening square brackets ("["), or closing
|
360
|
+
# square brackets ("]"). The property name must not be empty and must not
|
361
|
+
# contain an equals sign ("=") or semicolon (";"). Section and property names
|
362
|
+
# must not contain a period ("."). Apache Airflow configuration property
|
363
|
+
# names must be written in
|
364
|
+
# [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
|
365
|
+
# contain any character, and can be written in any lower/upper case format.
|
366
|
+
#
|
367
|
+
# Certain Apache Airflow configuration property values are
|
368
|
+
# [blocked](/composer/docs/concepts/airflow-configurations),
|
369
|
+
# and cannot be overridden.
|
370
|
+
# @!attribute [rw] pypi_packages
|
371
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
372
|
+
# Optional. Custom Python Package Index (PyPI) packages to be installed in
|
373
|
+
# the environment.
|
374
|
+
#
|
375
|
+
# Keys refer to the lowercase package name such as "numpy"
|
376
|
+
# and values are the lowercase extras and version specifier such as
|
377
|
+
# "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
|
378
|
+
# package without pinning it to a version specifier, use the empty string as
|
379
|
+
# the value.
|
380
|
+
# @!attribute [rw] env_variables
|
381
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
382
|
+
# Optional. Additional environment variables to provide to the Apache Airflow
|
383
|
+
# scheduler, worker, and webserver processes.
|
384
|
+
#
|
385
|
+
# Environment variable names must match the regular expression
|
386
|
+
# `[a-zA-Z_][a-zA-Z0-9_]*`. They cannot specify Apache Airflow
|
387
|
+
# software configuration overrides (they cannot match the regular expression
|
388
|
+
# `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
|
389
|
+
# following reserved names:
|
390
|
+
#
|
391
|
+
# * `AIRFLOW_HOME`
|
392
|
+
# * `C_FORCE_ROOT`
|
393
|
+
# * `CONTAINER_NAME`
|
394
|
+
# * `DAGS_FOLDER`
|
395
|
+
# * `GCP_PROJECT`
|
396
|
+
# * `GCS_BUCKET`
|
397
|
+
# * `GKE_CLUSTER_NAME`
|
398
|
+
# * `SQL_DATABASE`
|
399
|
+
# * `SQL_INSTANCE`
|
400
|
+
# * `SQL_PASSWORD`
|
401
|
+
# * `SQL_PROJECT`
|
402
|
+
# * `SQL_REGION`
|
403
|
+
# * `SQL_USER`
|
404
|
+
# @!attribute [rw] python_version
|
405
|
+
# @return [::String]
|
406
|
+
# Optional. The major version of Python used to run the Apache Airflow
|
407
|
+
# scheduler, worker, and webserver processes.
|
408
|
+
#
|
409
|
+
# Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be
|
410
|
+
# updated.
|
411
|
+
class SoftwareConfig
|
412
|
+
include ::Google::Protobuf::MessageExts
|
413
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
414
|
+
|
415
|
+
# @!attribute [rw] key
|
416
|
+
# @return [::String]
|
417
|
+
# @!attribute [rw] value
|
418
|
+
# @return [::String]
|
419
|
+
class AirflowConfigOverridesEntry
|
420
|
+
include ::Google::Protobuf::MessageExts
|
421
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
422
|
+
end
|
423
|
+
|
424
|
+
# @!attribute [rw] key
|
425
|
+
# @return [::String]
|
426
|
+
# @!attribute [rw] value
|
427
|
+
# @return [::String]
|
428
|
+
class PypiPackagesEntry
|
429
|
+
include ::Google::Protobuf::MessageExts
|
430
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
431
|
+
end
|
432
|
+
|
433
|
+
# @!attribute [rw] key
|
434
|
+
# @return [::String]
|
435
|
+
# @!attribute [rw] value
|
436
|
+
# @return [::String]
|
437
|
+
class EnvVariablesEntry
|
438
|
+
include ::Google::Protobuf::MessageExts
|
439
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
440
|
+
end
|
441
|
+
end
|
442
|
+
|
443
|
+
# Configuration for controlling how IPs are allocated in the
|
444
|
+
# GKE cluster running the Apache Airflow software.
|
445
|
+
# @!attribute [rw] use_ip_aliases
|
446
|
+
# @return [::Boolean]
|
447
|
+
# Optional. Whether or not to enable Alias IPs in the GKE cluster.
|
448
|
+
# If `true`, a VPC-native cluster is created.
|
449
|
+
# @!attribute [rw] cluster_secondary_range_name
|
450
|
+
# @return [::String]
|
451
|
+
# Optional. The name of the GKE cluster's secondary range used to allocate
|
452
|
+
# IP addresses to pods.
|
453
|
+
#
|
454
|
+
# This field is applicable only when `use_ip_aliases` is true.
|
455
|
+
# @!attribute [rw] cluster_ipv4_cidr_block
|
456
|
+
# @return [::String]
|
457
|
+
# Optional. The IP address range used to allocate IP addresses to pods in
|
458
|
+
# the GKE cluster.
|
459
|
+
#
|
460
|
+
# This field is applicable only when `use_ip_aliases` is true.
|
461
|
+
#
|
462
|
+
# Set to blank to have GKE choose a range with the default size.
|
463
|
+
#
|
464
|
+
# Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
|
465
|
+
# netmask.
|
466
|
+
#
|
467
|
+
# Set to a
|
468
|
+
# [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
469
|
+
# notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
|
470
|
+
# `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
|
471
|
+
# to use.
|
472
|
+
# @!attribute [rw] services_secondary_range_name
|
473
|
+
# @return [::String]
|
474
|
+
# Optional. The name of the services' secondary range used to allocate
|
475
|
+
# IP addresses to the GKE cluster.
|
476
|
+
#
|
477
|
+
# This field is applicable only when `use_ip_aliases` is true.
|
478
|
+
# @!attribute [rw] services_ipv4_cidr_block
|
479
|
+
# @return [::String]
|
480
|
+
# Optional. The IP address range of the services IP addresses in this
|
481
|
+
# GKE cluster.
|
482
|
+
#
|
483
|
+
# This field is applicable only when `use_ip_aliases` is true.
|
484
|
+
#
|
485
|
+
# Set to blank to have GKE choose a range with the default size.
|
486
|
+
#
|
487
|
+
# Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
|
488
|
+
# netmask.
|
489
|
+
#
|
490
|
+
# Set to a
|
491
|
+
# [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
492
|
+
# notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
|
493
|
+
# `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
|
494
|
+
# to use.
|
495
|
+
class IPAllocationPolicy
|
496
|
+
include ::Google::Protobuf::MessageExts
|
497
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
498
|
+
end
|
499
|
+
|
500
|
+
# The configuration information for the Kubernetes Engine nodes running
|
501
|
+
# the Apache Airflow software.
|
502
|
+
# @!attribute [rw] location
|
503
|
+
# @return [::String]
|
504
|
+
# Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
|
505
|
+
# to deploy the VMs used to run the Apache Airflow software, specified as a
|
506
|
+
# [relative resource
|
507
|
+
# name](/apis/design/resource_names#relative_resource_name). For example:
|
508
|
+
# "projects/\\{projectId}/zones/\\{zoneId}".
|
509
|
+
#
|
510
|
+
# This `location` must belong to the enclosing environment's project and
|
511
|
+
# location. If both this field and `nodeConfig.machineType` are specified,
|
512
|
+
# `nodeConfig.machineType` must belong to this `location`; if both are
|
513
|
+
# unspecified, the service will pick a zone in the Compute Engine region
|
514
|
+
# corresponding to the Cloud Composer location, and propagate that choice to
|
515
|
+
# both fields. If only one field (`location` or `nodeConfig.machineType`) is
|
516
|
+
# specified, the location information from the specified field will be
|
517
|
+
# propagated to the unspecified field.
|
518
|
+
# @!attribute [rw] machine_type
|
519
|
+
# @return [::String]
|
520
|
+
# Optional. The Compute Engine
|
521
|
+
# [machine type](/compute/docs/machine-types) used for cluster instances,
|
522
|
+
# specified as a
|
523
|
+
# [relative resource
|
524
|
+
# name](/apis/design/resource_names#relative_resource_name). For example:
|
525
|
+
# "projects/\\{projectId}/zones/\\{zoneId}/machineTypes/\\{machineTypeId}".
|
526
|
+
#
|
527
|
+
# The `machineType` must belong to the enclosing environment's project and
|
528
|
+
# location. If both this field and `nodeConfig.location` are specified,
|
529
|
+
# this `machineType` must belong to the `nodeConfig.location`; if both are
|
530
|
+
# unspecified, the service will pick a zone in the Compute Engine region
|
531
|
+
# corresponding to the Cloud Composer location, and propagate that choice to
|
532
|
+
# both fields. If exactly one of this field and `nodeConfig.location` is
|
533
|
+
# specified, the location information from the specified field will be
|
534
|
+
# propagated to the unspecified field.
|
535
|
+
#
|
536
|
+
# The `machineTypeId` must not be a [shared-core machine
|
537
|
+
# type](/compute/docs/machine-types#sharedcore).
|
538
|
+
#
|
539
|
+
# If this field is unspecified, the `machineTypeId` defaults
|
540
|
+
# to "n1-standard-1".
|
541
|
+
# @!attribute [rw] network
|
542
|
+
# @return [::String]
|
543
|
+
# Optional. The Compute Engine network to be used for machine
|
544
|
+
# communications, specified as a
|
545
|
+
# [relative resource
|
546
|
+
# name](/apis/design/resource_names#relative_resource_name). For example:
|
547
|
+
# "projects/\\{projectId}/global/networks/\\{networkId}".
|
548
|
+
#
|
549
|
+
# If unspecified, the "default" network ID in the environment's project is
|
550
|
+
# used. If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
|
551
|
+
# is provided, `nodeConfig.subnetwork` must also be provided. For
|
552
|
+
# [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
|
553
|
+
# `nodeConfig.subnetwork`.
|
554
|
+
# @!attribute [rw] subnetwork
|
555
|
+
# @return [::String]
|
556
|
+
# Optional. The Compute Engine subnetwork to be used for machine
|
557
|
+
# communications, specified as a
|
558
|
+
# [relative resource
|
559
|
+
# name](/apis/design/resource_names#relative_resource_name). For example:
|
560
|
+
# "projects/\\{projectId}/regions/\\{regionId}/subnetworks/\\{subnetworkId}"
|
561
|
+
#
|
562
|
+
# If a subnetwork is provided, `nodeConfig.network` must also be provided,
|
563
|
+
# and the subnetwork must belong to the enclosing environment's project and
|
564
|
+
# location.
|
565
|
+
# @!attribute [rw] disk_size_gb
|
566
|
+
# @return [::Integer]
|
567
|
+
# Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
|
568
|
+
# If unspecified, defaults to 100GB. Cannot be updated.
|
569
|
+
# @!attribute [rw] oauth_scopes
|
570
|
+
# @return [::Array<::String>]
|
571
|
+
# Optional. The set of Google API scopes to be made available on all
|
572
|
+
# node VMs. If `oauth_scopes` is empty, defaults to
|
573
|
+
# ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
|
574
|
+
# @!attribute [rw] service_account
|
575
|
+
# @return [::String]
|
576
|
+
# Optional. The Google Cloud Platform Service Account to be used by the node
|
577
|
+
# VMs. If a service account is not specified, the "default" Compute Engine
|
578
|
+
# service account is used. Cannot be updated.
|
579
|
+
# @!attribute [rw] tags
|
580
|
+
# @return [::Array<::String>]
|
581
|
+
# Optional. The list of instance tags applied to all node VMs. Tags are used
|
582
|
+
# to identify valid sources or targets for network firewalls. Each tag within
|
583
|
+
# the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
|
584
|
+
# Cannot be updated.
|
585
|
+
# @!attribute [rw] ip_allocation_policy
|
586
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::IPAllocationPolicy]
|
587
|
+
# Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
|
588
|
+
class NodeConfig
|
589
|
+
include ::Google::Protobuf::MessageExts
|
590
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
591
|
+
end
|
592
|
+
|
593
|
+
# Configuration options for the private GKE cluster in a Cloud Composer
|
594
|
+
# environment.
|
595
|
+
# @!attribute [rw] enable_private_endpoint
|
596
|
+
# @return [::Boolean]
|
597
|
+
# Optional. If `true`, access to the public endpoint of the GKE cluster is
|
598
|
+
# denied.
|
599
|
+
# @!attribute [rw] master_ipv4_cidr_block
|
600
|
+
# @return [::String]
|
601
|
+
# Optional. The CIDR block from which IPv4 range for GKE master will be reserved. If
|
602
|
+
# left blank, the default value of '172.16.0.0/23' is used.
|
603
|
+
# @!attribute [r] master_ipv4_reserved_range
|
604
|
+
# @return [::String]
|
605
|
+
# Output only. The IP range in CIDR notation to use for the hosted master network. This
|
606
|
+
# range is used for assigning internal IP addresses to the GKE cluster
|
607
|
+
# master or set of masters and to the internal load balancer virtual IP.
|
608
|
+
# This range must not overlap with any other ranges in use
|
609
|
+
# within the cluster's network.
|
610
|
+
class PrivateClusterConfig
|
611
|
+
include ::Google::Protobuf::MessageExts
|
612
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
613
|
+
end
|
614
|
+
|
615
|
+
# The configuration information for configuring a Private IP Cloud Composer
|
616
|
+
# environment.
|
617
|
+
# @!attribute [rw] enable_private_environment
|
618
|
+
# @return [::Boolean]
|
619
|
+
# Optional. If `true`, a Private IP Cloud Composer environment is created.
|
620
|
+
# If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be
|
621
|
+
# set to true.
|
622
|
+
# @!attribute [rw] private_cluster_config
|
623
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::PrivateClusterConfig]
|
624
|
+
# Optional. Configuration for the private GKE cluster for a Private IP
|
625
|
+
# Cloud Composer environment.
|
626
|
+
# @!attribute [rw] web_server_ipv4_cidr_block
|
627
|
+
# @return [::String]
|
628
|
+
# Optional. The CIDR block from which IP range for web server will be reserved. Needs
|
629
|
+
# to be disjoint from `private_cluster_config.master_ipv4_cidr_block` and
|
630
|
+
# `cloud_sql_ipv4_cidr_block`.
|
631
|
+
# @!attribute [rw] cloud_sql_ipv4_cidr_block
|
632
|
+
# @return [::String]
|
633
|
+
# Optional. The CIDR block from which IP range in tenant project will be reserved for
|
634
|
+
# Cloud SQL. Needs to be disjoint from `web_server_ipv4_cidr_block`.
|
635
|
+
# @!attribute [r] web_server_ipv4_reserved_range
|
636
|
+
# @return [::String]
|
637
|
+
# Output only. The IP range reserved for the tenant project's App Engine VMs.
|
638
|
+
class PrivateEnvironmentConfig
|
639
|
+
include ::Google::Protobuf::MessageExts
|
640
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
641
|
+
end
|
642
|
+
|
643
|
+
# An environment for running orchestration tasks.
|
644
|
+
# @!attribute [rw] name
|
645
|
+
# @return [::String]
|
646
|
+
# The resource name of the environment, in the form:
|
647
|
+
# "projects/\\{projectId}/locations/\\{locationId}/environments/\\{environmentId}"
|
648
|
+
#
|
649
|
+
# EnvironmentId must start with a lowercase letter followed by up to 63
|
650
|
+
# lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
|
651
|
+
# @!attribute [rw] config
|
652
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::EnvironmentConfig]
|
653
|
+
# Configuration parameters for this environment.
|
654
|
+
# @!attribute [rw] uuid
|
655
|
+
# @return [::String]
|
656
|
+
# Output only. The UUID (Universally Unique IDentifier) associated with this environment.
|
657
|
+
# This value is generated when the environment is created.
|
658
|
+
# @!attribute [rw] state
|
659
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::Environment::State]
|
660
|
+
# The current state of the environment.
|
661
|
+
# @!attribute [rw] create_time
|
662
|
+
# @return [::Google::Protobuf::Timestamp]
|
663
|
+
# Output only. The time at which this environment was created.
|
664
|
+
# @!attribute [rw] update_time
|
665
|
+
# @return [::Google::Protobuf::Timestamp]
|
666
|
+
# Output only. The time at which this environment was last modified.
|
667
|
+
# @!attribute [rw] labels
|
668
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
669
|
+
# Optional. User-defined labels for this environment.
|
670
|
+
# The labels map can contain no more than 64 entries. Entries of the labels
|
671
|
+
# map are UTF8 strings that comply with the following restrictions:
|
672
|
+
#
|
673
|
+
# * Keys must conform to regexp: [\p\\{Ll}\p\\{Lo}][\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,62}
|
674
|
+
# * Values must conform to regexp: [\p\\{Ll}\p\\{Lo}\p\\{N}_-]\\{0,63}
|
675
|
+
# * Both keys and values are additionally constrained to be <= 128 bytes in
|
676
|
+
# size.
|
677
|
+
class Environment
|
678
|
+
include ::Google::Protobuf::MessageExts
|
679
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
680
|
+
|
681
|
+
# @!attribute [rw] key
|
682
|
+
# @return [::String]
|
683
|
+
# @!attribute [rw] value
|
684
|
+
# @return [::String]
|
685
|
+
class LabelsEntry
|
686
|
+
include ::Google::Protobuf::MessageExts
|
687
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
688
|
+
end
|
689
|
+
|
690
|
+
# State of the environment.
|
691
|
+
module State
|
692
|
+
# The state of the environment is unknown.
|
693
|
+
STATE_UNSPECIFIED = 0
|
694
|
+
|
695
|
+
# The environment is in the process of being created.
|
696
|
+
CREATING = 1
|
697
|
+
|
698
|
+
# The environment is currently running and healthy. It is ready for use.
|
699
|
+
RUNNING = 2
|
700
|
+
|
701
|
+
# The environment is being updated. It remains usable but cannot receive
|
702
|
+
# additional update requests or be deleted at this time.
|
703
|
+
UPDATING = 3
|
704
|
+
|
705
|
+
# The environment is undergoing deletion. It cannot be used.
|
706
|
+
DELETING = 4
|
707
|
+
|
708
|
+
# The environment has encountered an error and cannot be used.
|
709
|
+
ERROR = 5
|
710
|
+
end
|
711
|
+
end
|
712
|
+
|
713
|
+
# Message containing information about the result of an upgrade check
|
714
|
+
# operation.
|
715
|
+
# @!attribute [r] build_log_uri
|
716
|
+
# @return [::String]
|
717
|
+
# Output only. Url for a docker build log of an upgraded image.
|
718
|
+
# @!attribute [r] contains_pypi_modules_conflict
|
719
|
+
# @return [::Google::Cloud::Orchestration::Airflow::Service::V1::CheckUpgradeResponse::ConflictResult]
|
720
|
+
# Output only. Whether build has succeeded or failed on modules conflicts.
|
721
|
+
# @!attribute [r] pypi_conflict_build_log_extract
|
722
|
+
# @return [::String]
|
723
|
+
# Output only. Extract from a docker image build log containing information about pypi
|
724
|
+
# modules conflicts.
|
725
|
+
# @!attribute [rw] image_version
|
726
|
+
# @return [::String]
|
727
|
+
# Composer image for which the build was happening.
|
728
|
+
# @!attribute [rw] pypi_dependencies
|
729
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
730
|
+
# Pypi dependencies specified in the environment configuration, at the time
|
731
|
+
# when the build was triggered.
|
732
|
+
class CheckUpgradeResponse
|
733
|
+
include ::Google::Protobuf::MessageExts
|
734
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
735
|
+
|
736
|
+
# @!attribute [rw] key
|
737
|
+
# @return [::String]
|
738
|
+
# @!attribute [rw] value
|
739
|
+
# @return [::String]
|
740
|
+
class PypiDependenciesEntry
|
741
|
+
include ::Google::Protobuf::MessageExts
|
742
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
743
|
+
end
|
744
|
+
|
745
|
+
# Whether there were python modules conflict during image build.
|
746
|
+
module ConflictResult
|
747
|
+
# It is unknown whether build had conflicts or not.
|
748
|
+
CONFLICT_RESULT_UNSPECIFIED = 0
|
749
|
+
|
750
|
+
# There were python packages conflicts.
|
751
|
+
CONFLICT = 1
|
752
|
+
|
753
|
+
# There were no python packages conflicts.
|
754
|
+
NO_CONFLICT = 2
|
755
|
+
end
|
756
|
+
end
|
757
|
+
end
|
758
|
+
end
|
759
|
+
end
|
760
|
+
end
|
761
|
+
end
|
762
|
+
end
|