google-cloud-orchestration-airflow-service-v1 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.
- 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
|