google-apis-composer_v1beta1 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 +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google-apis-composer_v1beta1.rb +15 -0
- data/lib/google/apis/composer_v1beta1.rb +36 -0
- data/lib/google/apis/composer_v1beta1/classes.rb +1059 -0
- data/lib/google/apis/composer_v1beta1/gem_version.rb +28 -0
- data/lib/google/apis/composer_v1beta1/representations.rb +404 -0
- data/lib/google/apis/composer_v1beta1/service.rb +484 -0
- metadata +76 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: eb5c009332f3b3608df4e8736138e57083e2a3aef23f2ce3f8174346c63f1249
|
4
|
+
data.tar.gz: 2dfb3a85f6078aaa1fb502cda46ff6c2237a93b6c432d45b01a31a2be661ce7c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 41f055e9e804e1a923d1597d32bd8ef76f4a35cae802758c07220e50a88297ad1cd4a7e426ad7b07d6c5893a09e3b09ebd56c7db494633bd6dd86f042943da60
|
7
|
+
data.tar.gz: b8e4010b0fd2f5a28d685f880adc417862b8d0f621bfa9719ea95a3a3b150900ee7e198f8926678a0d30399f24dd385a4463ec884f6bb726cb9d9201f3ea9c07
|
data/.yardopts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
--hide-void-return
|
2
|
+
--no-private
|
3
|
+
--verbose
|
4
|
+
--title=google-apis-composer_v1beta1
|
5
|
+
--markup-provider=redcarpet
|
6
|
+
--markup=markdown
|
7
|
+
--main OVERVIEW.md
|
8
|
+
lib/google/apis/composer_v1beta1/*.rb
|
9
|
+
lib/google/apis/composer_v1beta1.rb
|
10
|
+
-
|
11
|
+
OVERVIEW.md
|
12
|
+
CHANGELOG.md
|
13
|
+
LICENSE.md
|
data/CHANGELOG.md
ADDED
data/LICENSE.md
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
|
2
|
+
Apache License
|
3
|
+
Version 2.0, January 2004
|
4
|
+
http://www.apache.org/licenses/
|
5
|
+
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
7
|
+
|
8
|
+
1. Definitions.
|
9
|
+
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
12
|
+
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
14
|
+
the copyright owner that is granting the License.
|
15
|
+
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
17
|
+
other entities that control, are controlled by, or are under common
|
18
|
+
control with that entity. For the purposes of this definition,
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
20
|
+
direction or management of such entity, whether by contract or
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
23
|
+
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
25
|
+
exercising permissions granted by this License.
|
26
|
+
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
28
|
+
including but not limited to software source code, documentation
|
29
|
+
source, and configuration files.
|
30
|
+
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
32
|
+
transformation or translation of a Source form, including but
|
33
|
+
not limited to compiled object code, generated documentation,
|
34
|
+
and conversions to other media types.
|
35
|
+
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
37
|
+
Object form, made available under the License, as indicated by a
|
38
|
+
copyright notice that is included in or attached to the work
|
39
|
+
(an example is provided in the Appendix below).
|
40
|
+
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
47
|
+
the Work and Derivative Works thereof.
|
48
|
+
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
50
|
+
the original version of the Work and any modifications or additions
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
62
|
+
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
65
|
+
subsequently incorporated within the Work.
|
66
|
+
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
73
|
+
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
79
|
+
where such license applies only to those patent claims licensable
|
80
|
+
by such Contributor that are necessarily infringed by their
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
83
|
+
institute patent litigation against any entity (including a
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
86
|
+
or contributory patent infringement, then any patent licenses
|
87
|
+
granted to You under this License for that Work shall terminate
|
88
|
+
as of the date such litigation is filed.
|
89
|
+
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
92
|
+
modifications, and in Source or Object form, provided that You
|
93
|
+
meet the following conditions:
|
94
|
+
|
95
|
+
(a) You must give any other recipients of the Work or
|
96
|
+
Derivative Works a copy of this License; and
|
97
|
+
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
99
|
+
stating that You changed the files; and
|
100
|
+
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
103
|
+
attribution notices from the Source form of the Work,
|
104
|
+
excluding those notices that do not pertain to any part of
|
105
|
+
the Derivative Works; and
|
106
|
+
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
109
|
+
include a readable copy of the attribution notices contained
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
112
|
+
of the following places: within a NOTICE text file distributed
|
113
|
+
as part of the Derivative Works; within the Source form or
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
115
|
+
within a display generated by the Derivative Works, if and
|
116
|
+
wherever such third-party notices normally appear. The contents
|
117
|
+
of the NOTICE file are for informational purposes only and
|
118
|
+
do not modify the License. You may add Your own attribution
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
121
|
+
that such additional attribution notices cannot be construed
|
122
|
+
as modifying the License.
|
123
|
+
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
125
|
+
may provide additional or different license terms and conditions
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
129
|
+
the conditions stated in this License.
|
130
|
+
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
134
|
+
this License, without any additional terms or conditions.
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
136
|
+
the terms of any separate license agreement you may have executed
|
137
|
+
with Licensor regarding such Contributions.
|
138
|
+
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
141
|
+
except as required for reasonable and customary use in describing the
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
143
|
+
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
153
|
+
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
159
|
+
incidental, or consequential damages of any character arising as a
|
160
|
+
result of this License or out of the use or inability to use the
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
163
|
+
other commercial damages or losses), even if such Contributor
|
164
|
+
has been advised of the possibility of such damages.
|
165
|
+
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
169
|
+
or other liability obligations and/or rights consistent with this
|
170
|
+
License. However, in accepting such obligations, You may act only
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
175
|
+
of your accepting any such warranty or additional liability.
|
176
|
+
|
177
|
+
END OF TERMS AND CONDITIONS
|
178
|
+
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
180
|
+
|
181
|
+
To apply the Apache License to your work, attach the following
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
183
|
+
replaced with your own identifying information. (Don't include
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
185
|
+
comment syntax for the file format. We also recommend that a
|
186
|
+
file or class name and description of purpose be included on the
|
187
|
+
same "printed page" as the copyright notice for easier
|
188
|
+
identification within third-party archives.
|
189
|
+
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
191
|
+
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
193
|
+
you may not use this file except in compliance with the License.
|
194
|
+
You may obtain a copy of the License at
|
195
|
+
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
197
|
+
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
201
|
+
See the License for the specific language governing permissions and
|
202
|
+
limitations under the License.
|
data/OVERVIEW.md
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
# Simple REST client for version V1beta1 of the Cloud Composer API
|
2
|
+
|
3
|
+
This is a simple client library for version V1beta1 of the Cloud Composer API. It provides:
|
4
|
+
|
5
|
+
* A client object that connects to the HTTP/JSON REST endpoint for the service.
|
6
|
+
* Ruby objects for data structures related to the service.
|
7
|
+
* Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
|
8
|
+
* Control of retry, pagination, and timeouts.
|
9
|
+
|
10
|
+
Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
|
11
|
+
|
12
|
+
## Getting started
|
13
|
+
|
14
|
+
### Before you begin
|
15
|
+
|
16
|
+
There are a few setup steps you need to complete before you can use this library:
|
17
|
+
|
18
|
+
1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
|
19
|
+
2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
|
20
|
+
3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/composer.googleapis.com) in the console.
|
21
|
+
|
22
|
+
### Installation
|
23
|
+
|
24
|
+
Add this line to your application's Gemfile:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
gem 'google-apis-composer_v1beta1', '~> 0.1'
|
28
|
+
```
|
29
|
+
|
30
|
+
And then execute:
|
31
|
+
|
32
|
+
```
|
33
|
+
$ bundle
|
34
|
+
```
|
35
|
+
|
36
|
+
Or install it yourself as:
|
37
|
+
|
38
|
+
```
|
39
|
+
$ gem install google-apis-composer_v1beta1
|
40
|
+
```
|
41
|
+
|
42
|
+
### Creating a client object
|
43
|
+
|
44
|
+
Once the gem is installed, you can load the client code and instantiate a client.
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
# Load the client
|
48
|
+
require "google/apis/composer_v1beta1"
|
49
|
+
|
50
|
+
# Create a client object
|
51
|
+
client = Google::Apis::ComposerV1beta1::CloudComposerService.new
|
52
|
+
|
53
|
+
# Authenticate calls
|
54
|
+
client.authentication = # ... use the googleauth gem to create credentials
|
55
|
+
```
|
56
|
+
|
57
|
+
See the class reference docs for information on the methods you can call from a client.
|
58
|
+
|
59
|
+
## Documentation
|
60
|
+
|
61
|
+
More detailed descriptions of the Google simple REST clients are available in two documents.
|
62
|
+
|
63
|
+
* The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
|
64
|
+
* The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
|
65
|
+
|
66
|
+
(Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Composer service in particular.)
|
67
|
+
|
68
|
+
For reference information on specific calls in the Cloud Composer API, see the {Google::Apis::ComposerV1beta1::CloudComposerService class reference docs}.
|
69
|
+
|
70
|
+
## Which client should I use?
|
71
|
+
|
72
|
+
Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
|
73
|
+
|
74
|
+
This library, `google-apis-composer_v1beta1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
|
75
|
+
|
76
|
+
Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
|
77
|
+
|
78
|
+
Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
|
79
|
+
|
80
|
+
**For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
|
81
|
+
|
82
|
+
The [product documentation](https://cloud.google.com/composer/) may provide guidance regarding the preferred client library to use.
|
83
|
+
|
84
|
+
## Supported Ruby versions
|
85
|
+
|
86
|
+
This library is supported on Ruby 2.5+.
|
87
|
+
|
88
|
+
Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
|
89
|
+
|
90
|
+
## License
|
91
|
+
|
92
|
+
This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
|
93
|
+
|
94
|
+
## Support
|
95
|
+
|
96
|
+
Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require "google/apis/composer_v1beta1"
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'google/apis/composer_v1beta1/service.rb'
|
16
|
+
require 'google/apis/composer_v1beta1/classes.rb'
|
17
|
+
require 'google/apis/composer_v1beta1/representations.rb'
|
18
|
+
require 'google/apis/composer_v1beta1/gem_version.rb'
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Apis
|
22
|
+
# Cloud Composer API
|
23
|
+
#
|
24
|
+
# Manages Apache Airflow environments on Google Cloud Platform.
|
25
|
+
#
|
26
|
+
# @see https://cloud.google.com/composer/
|
27
|
+
module ComposerV1beta1
|
28
|
+
# Version of the Cloud Composer API this client connects to.
|
29
|
+
# This is NOT the gem version.
|
30
|
+
VERSION = 'V1beta1'
|
31
|
+
|
32
|
+
# View and manage your data across Google Cloud Platform services
|
33
|
+
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,1059 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'date'
|
16
|
+
require 'google/apis/core/base_service'
|
17
|
+
require 'google/apis/core/json_representation'
|
18
|
+
require 'google/apis/core/hashable'
|
19
|
+
require 'google/apis/errors'
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Apis
|
23
|
+
module ComposerV1beta1
|
24
|
+
|
25
|
+
# Allowed IP range with user-provided description.
|
26
|
+
class AllowedIpRange
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# Optional. User-provided description. It must contain at most 300 characters.
|
30
|
+
# Corresponds to the JSON property `description`
|
31
|
+
# @return [String]
|
32
|
+
attr_accessor :description
|
33
|
+
|
34
|
+
# IP address or range, defined using CIDR notation, of requests that this rule
|
35
|
+
# applies to. Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` or `
|
36
|
+
# 2001:0db8:0000:0042:0000:8a2e:0370:7334`. IP range prefixes should be properly
|
37
|
+
# truncated. For example, `1.2.3.4/24` should be truncated to `1.2.3.0/24`.
|
38
|
+
# Similarly, for IPv6, `2001:db8::1/32` should be truncated to `2001:db8::/32`.
|
39
|
+
# Corresponds to the JSON property `value`
|
40
|
+
# @return [String]
|
41
|
+
attr_accessor :value
|
42
|
+
|
43
|
+
def initialize(**args)
|
44
|
+
update!(**args)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Update properties of this object
|
48
|
+
def update!(**args)
|
49
|
+
@description = args[:description] if args.key?(:description)
|
50
|
+
@value = args[:value] if args.key?(:value)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# The configuration of Cloud SQL instance that is used by the Apache Airflow
|
55
|
+
# software.
|
56
|
+
class DatabaseConfig
|
57
|
+
include Google::Apis::Core::Hashable
|
58
|
+
|
59
|
+
# Optional. Cloud SQL machine type used by Airflow database. It has to be one of:
|
60
|
+
# db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. If
|
61
|
+
# not specified, db-n1-standard-2 will be used.
|
62
|
+
# Corresponds to the JSON property `machineType`
|
63
|
+
# @return [String]
|
64
|
+
attr_accessor :machine_type
|
65
|
+
|
66
|
+
def initialize(**args)
|
67
|
+
update!(**args)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Update properties of this object
|
71
|
+
def update!(**args)
|
72
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
77
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
78
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
79
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
80
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
81
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
82
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
83
|
+
# google.protobuf.Timestamp`.
|
84
|
+
class Date
|
85
|
+
include Google::Apis::Core::Hashable
|
86
|
+
|
87
|
+
# Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
|
88
|
+
# specify a year by itself or a year and month where the day isn't significant.
|
89
|
+
# Corresponds to the JSON property `day`
|
90
|
+
# @return [Fixnum]
|
91
|
+
attr_accessor :day
|
92
|
+
|
93
|
+
# Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
|
94
|
+
# and day.
|
95
|
+
# Corresponds to the JSON property `month`
|
96
|
+
# @return [Fixnum]
|
97
|
+
attr_accessor :month
|
98
|
+
|
99
|
+
# Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
|
100
|
+
# year.
|
101
|
+
# Corresponds to the JSON property `year`
|
102
|
+
# @return [Fixnum]
|
103
|
+
attr_accessor :year
|
104
|
+
|
105
|
+
def initialize(**args)
|
106
|
+
update!(**args)
|
107
|
+
end
|
108
|
+
|
109
|
+
# Update properties of this object
|
110
|
+
def update!(**args)
|
111
|
+
@day = args[:day] if args.key?(:day)
|
112
|
+
@month = args[:month] if args.key?(:month)
|
113
|
+
@year = args[:year] if args.key?(:year)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
# A generic empty message that you can re-use to avoid defining duplicated empty
|
118
|
+
# messages in your APIs. A typical example is to use it as the request or the
|
119
|
+
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
120
|
+
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
|
121
|
+
# `Empty` is empty JSON object ````.
|
122
|
+
class Empty
|
123
|
+
include Google::Apis::Core::Hashable
|
124
|
+
|
125
|
+
def initialize(**args)
|
126
|
+
update!(**args)
|
127
|
+
end
|
128
|
+
|
129
|
+
# Update properties of this object
|
130
|
+
def update!(**args)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# The encryption options for the Composer environment and its dependencies.
|
135
|
+
class EncryptionConfig
|
136
|
+
include Google::Apis::Core::Hashable
|
137
|
+
|
138
|
+
# Optional. Customer-managed Encryption Key available through Google's Key
|
139
|
+
# Management Service. Cannot be updated. If not specified, Google-managed key
|
140
|
+
# will be used.
|
141
|
+
# Corresponds to the JSON property `kmsKeyName`
|
142
|
+
# @return [String]
|
143
|
+
attr_accessor :kms_key_name
|
144
|
+
|
145
|
+
def initialize(**args)
|
146
|
+
update!(**args)
|
147
|
+
end
|
148
|
+
|
149
|
+
# Update properties of this object
|
150
|
+
def update!(**args)
|
151
|
+
@kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
# An environment for running orchestration tasks.
|
156
|
+
class Environment
|
157
|
+
include Google::Apis::Core::Hashable
|
158
|
+
|
159
|
+
# Configuration information for an environment.
|
160
|
+
# Corresponds to the JSON property `config`
|
161
|
+
# @return [Google::Apis::ComposerV1beta1::EnvironmentConfig]
|
162
|
+
attr_accessor :config
|
163
|
+
|
164
|
+
# Output only. The time at which this environment was created.
|
165
|
+
# Corresponds to the JSON property `createTime`
|
166
|
+
# @return [String]
|
167
|
+
attr_accessor :create_time
|
168
|
+
|
169
|
+
# Optional. User-defined labels for this environment. The labels map can contain
|
170
|
+
# no more than 64 entries. Entries of the labels map are UTF8 strings that
|
171
|
+
# comply with the following restrictions: * Keys must conform to regexp: \p`Ll`\
|
172
|
+
# p`Lo``0,62` * Values must conform to regexp: [\p`Ll`\p`Lo`\p`N`_-]`0,63` *
|
173
|
+
# Both keys and values are additionally constrained to be <= 128 bytes in size.
|
174
|
+
# Corresponds to the JSON property `labels`
|
175
|
+
# @return [Hash<String,String>]
|
176
|
+
attr_accessor :labels
|
177
|
+
|
178
|
+
# The resource name of the environment, in the form: "projects/`projectId`/
|
179
|
+
# locations/`locationId`/environments/`environmentId`" EnvironmentId must start
|
180
|
+
# with a lowercase letter followed by up to 63 lowercase letters, numbers, or
|
181
|
+
# hyphens, and cannot end with a hyphen.
|
182
|
+
# Corresponds to the JSON property `name`
|
183
|
+
# @return [String]
|
184
|
+
attr_accessor :name
|
185
|
+
|
186
|
+
# The current state of the environment.
|
187
|
+
# Corresponds to the JSON property `state`
|
188
|
+
# @return [String]
|
189
|
+
attr_accessor :state
|
190
|
+
|
191
|
+
# Output only. The time at which this environment was last modified.
|
192
|
+
# Corresponds to the JSON property `updateTime`
|
193
|
+
# @return [String]
|
194
|
+
attr_accessor :update_time
|
195
|
+
|
196
|
+
# Output only. The UUID (Universally Unique IDentifier) associated with this
|
197
|
+
# environment. This value is generated when the environment is created.
|
198
|
+
# Corresponds to the JSON property `uuid`
|
199
|
+
# @return [String]
|
200
|
+
attr_accessor :uuid
|
201
|
+
|
202
|
+
def initialize(**args)
|
203
|
+
update!(**args)
|
204
|
+
end
|
205
|
+
|
206
|
+
# Update properties of this object
|
207
|
+
def update!(**args)
|
208
|
+
@config = args[:config] if args.key?(:config)
|
209
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
210
|
+
@labels = args[:labels] if args.key?(:labels)
|
211
|
+
@name = args[:name] if args.key?(:name)
|
212
|
+
@state = args[:state] if args.key?(:state)
|
213
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
214
|
+
@uuid = args[:uuid] if args.key?(:uuid)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# Configuration information for an environment.
|
219
|
+
class EnvironmentConfig
|
220
|
+
include Google::Apis::Core::Hashable
|
221
|
+
|
222
|
+
# Output only. The URI of the Apache Airflow Web UI hosted within this
|
223
|
+
# environment (see [Airflow web interface](/composer/docs/how-to/accessing/
|
224
|
+
# airflow-web-interface)).
|
225
|
+
# Corresponds to the JSON property `airflowUri`
|
226
|
+
# @return [String]
|
227
|
+
attr_accessor :airflow_uri
|
228
|
+
|
229
|
+
# Output only. The Cloud Storage prefix of the DAGs for this environment.
|
230
|
+
# Although Cloud Storage objects reside in a flat namespace, a hierarchical file
|
231
|
+
# tree can be simulated using "/"-delimited object name prefixes. DAG objects
|
232
|
+
# for this environment reside in a simulated directory with the given prefix.
|
233
|
+
# Corresponds to the JSON property `dagGcsPrefix`
|
234
|
+
# @return [String]
|
235
|
+
attr_accessor :dag_gcs_prefix
|
236
|
+
|
237
|
+
# The configuration of Cloud SQL instance that is used by the Apache Airflow
|
238
|
+
# software.
|
239
|
+
# Corresponds to the JSON property `databaseConfig`
|
240
|
+
# @return [Google::Apis::ComposerV1beta1::DatabaseConfig]
|
241
|
+
attr_accessor :database_config
|
242
|
+
|
243
|
+
# The encryption options for the Composer environment and its dependencies.
|
244
|
+
# Corresponds to the JSON property `encryptionConfig`
|
245
|
+
# @return [Google::Apis::ComposerV1beta1::EncryptionConfig]
|
246
|
+
attr_accessor :encryption_config
|
247
|
+
|
248
|
+
# Output only. The Kubernetes Engine cluster used to run this environment.
|
249
|
+
# Corresponds to the JSON property `gkeCluster`
|
250
|
+
# @return [String]
|
251
|
+
attr_accessor :gke_cluster
|
252
|
+
|
253
|
+
# The configuration settings for Cloud Composer maintenance window. The
|
254
|
+
# following example: ` "startTime":"2019-08-01T01:00:00Z" "endTime":"2019-08-
|
255
|
+
# 01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" ` would define a
|
256
|
+
# maintenance window between 01 and 07 hours UTC during each Tuesday and
|
257
|
+
# Wednesday.
|
258
|
+
# Corresponds to the JSON property `maintenanceWindow`
|
259
|
+
# @return [Google::Apis::ComposerV1beta1::MaintenanceWindow]
|
260
|
+
attr_accessor :maintenance_window
|
261
|
+
|
262
|
+
# The configuration information for the Kubernetes Engine nodes running the
|
263
|
+
# Apache Airflow software.
|
264
|
+
# Corresponds to the JSON property `nodeConfig`
|
265
|
+
# @return [Google::Apis::ComposerV1beta1::NodeConfig]
|
266
|
+
attr_accessor :node_config
|
267
|
+
|
268
|
+
# The number of nodes in the Kubernetes Engine cluster that will be used to run
|
269
|
+
# this environment.
|
270
|
+
# Corresponds to the JSON property `nodeCount`
|
271
|
+
# @return [Fixnum]
|
272
|
+
attr_accessor :node_count
|
273
|
+
|
274
|
+
# The configuration information for configuring a Private IP Cloud Composer
|
275
|
+
# environment.
|
276
|
+
# Corresponds to the JSON property `privateEnvironmentConfig`
|
277
|
+
# @return [Google::Apis::ComposerV1beta1::PrivateEnvironmentConfig]
|
278
|
+
attr_accessor :private_environment_config
|
279
|
+
|
280
|
+
# Specifies the selection and configuration of software inside the environment.
|
281
|
+
# Corresponds to the JSON property `softwareConfig`
|
282
|
+
# @return [Google::Apis::ComposerV1beta1::SoftwareConfig]
|
283
|
+
attr_accessor :software_config
|
284
|
+
|
285
|
+
# The configuration settings for the Airflow web server App Engine instance.
|
286
|
+
# Corresponds to the JSON property `webServerConfig`
|
287
|
+
# @return [Google::Apis::ComposerV1beta1::WebServerConfig]
|
288
|
+
attr_accessor :web_server_config
|
289
|
+
|
290
|
+
# Network-level access control policy for the Airflow web server.
|
291
|
+
# Corresponds to the JSON property `webServerNetworkAccessControl`
|
292
|
+
# @return [Google::Apis::ComposerV1beta1::WebServerNetworkAccessControl]
|
293
|
+
attr_accessor :web_server_network_access_control
|
294
|
+
|
295
|
+
def initialize(**args)
|
296
|
+
update!(**args)
|
297
|
+
end
|
298
|
+
|
299
|
+
# Update properties of this object
|
300
|
+
def update!(**args)
|
301
|
+
@airflow_uri = args[:airflow_uri] if args.key?(:airflow_uri)
|
302
|
+
@dag_gcs_prefix = args[:dag_gcs_prefix] if args.key?(:dag_gcs_prefix)
|
303
|
+
@database_config = args[:database_config] if args.key?(:database_config)
|
304
|
+
@encryption_config = args[:encryption_config] if args.key?(:encryption_config)
|
305
|
+
@gke_cluster = args[:gke_cluster] if args.key?(:gke_cluster)
|
306
|
+
@maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
|
307
|
+
@node_config = args[:node_config] if args.key?(:node_config)
|
308
|
+
@node_count = args[:node_count] if args.key?(:node_count)
|
309
|
+
@private_environment_config = args[:private_environment_config] if args.key?(:private_environment_config)
|
310
|
+
@software_config = args[:software_config] if args.key?(:software_config)
|
311
|
+
@web_server_config = args[:web_server_config] if args.key?(:web_server_config)
|
312
|
+
@web_server_network_access_control = args[:web_server_network_access_control] if args.key?(:web_server_network_access_control)
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
# Configuration for controlling how IPs are allocated in the GKE cluster.
|
317
|
+
class IpAllocationPolicy
|
318
|
+
include Google::Apis::Core::Hashable
|
319
|
+
|
320
|
+
# Optional. The IP address range used to allocate IP addresses to pods in the
|
321
|
+
# cluster. This field is applicable only when `use_ip_aliases` is true. Set to
|
322
|
+
# blank to have GKE choose a range with the default size. Set to /netmask (e.g. `
|
323
|
+
# /14`) to have GKE choose a range with a specific netmask. Set to a [CIDR](http:
|
324
|
+
# //en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.
|
325
|
+
# 0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`
|
326
|
+
# , `192.168.0.0/16`) to pick a specific range to use. Specify `
|
327
|
+
# cluster_secondary_range_name` or `cluster_ipv4_cidr_block` but not both.
|
328
|
+
# Corresponds to the JSON property `clusterIpv4CidrBlock`
|
329
|
+
# @return [String]
|
330
|
+
attr_accessor :cluster_ipv4_cidr_block
|
331
|
+
|
332
|
+
# Optional. The name of the cluster's secondary range used to allocate IP
|
333
|
+
# addresses to pods. Specify either `cluster_secondary_range_name` or `
|
334
|
+
# cluster_ipv4_cidr_block` but not both. This field is applicable only when `
|
335
|
+
# use_ip_aliases` is true.
|
336
|
+
# Corresponds to the JSON property `clusterSecondaryRangeName`
|
337
|
+
# @return [String]
|
338
|
+
attr_accessor :cluster_secondary_range_name
|
339
|
+
|
340
|
+
# Optional. The IP address range of the services IP addresses in this cluster.
|
341
|
+
# This field is applicable only when `use_ip_aliases` is true. Set to blank to
|
342
|
+
# have GKE choose a range with the default size. Set to /netmask (e.g. `/14`) to
|
343
|
+
# have GKE choose a range with a specific netmask. Set to a [CIDR](http://en.
|
344
|
+
# wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/
|
345
|
+
# 14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `
|
346
|
+
# 192.168.0.0/16`) to pick a specific range to use. Specify `
|
347
|
+
# services_secondary_range_name` or `services_ipv4_cidr_block` but not both.
|
348
|
+
# Corresponds to the JSON property `servicesIpv4CidrBlock`
|
349
|
+
# @return [String]
|
350
|
+
attr_accessor :services_ipv4_cidr_block
|
351
|
+
|
352
|
+
# Optional. The name of the services' secondary range used to allocate IP
|
353
|
+
# addresses to the cluster. Specify either `services_secondary_range_name` or `
|
354
|
+
# services_ipv4_cidr_block` but not both. This field is applicable only when `
|
355
|
+
# use_ip_aliases` is true.
|
356
|
+
# Corresponds to the JSON property `servicesSecondaryRangeName`
|
357
|
+
# @return [String]
|
358
|
+
attr_accessor :services_secondary_range_name
|
359
|
+
|
360
|
+
# Optional. Whether or not to enable Alias IPs in the GKE cluster. If `true`, a
|
361
|
+
# VPC-native cluster is created.
|
362
|
+
# Corresponds to the JSON property `useIpAliases`
|
363
|
+
# @return [Boolean]
|
364
|
+
attr_accessor :use_ip_aliases
|
365
|
+
alias_method :use_ip_aliases?, :use_ip_aliases
|
366
|
+
|
367
|
+
def initialize(**args)
|
368
|
+
update!(**args)
|
369
|
+
end
|
370
|
+
|
371
|
+
# Update properties of this object
|
372
|
+
def update!(**args)
|
373
|
+
@cluster_ipv4_cidr_block = args[:cluster_ipv4_cidr_block] if args.key?(:cluster_ipv4_cidr_block)
|
374
|
+
@cluster_secondary_range_name = args[:cluster_secondary_range_name] if args.key?(:cluster_secondary_range_name)
|
375
|
+
@services_ipv4_cidr_block = args[:services_ipv4_cidr_block] if args.key?(:services_ipv4_cidr_block)
|
376
|
+
@services_secondary_range_name = args[:services_secondary_range_name] if args.key?(:services_secondary_range_name)
|
377
|
+
@use_ip_aliases = args[:use_ip_aliases] if args.key?(:use_ip_aliases)
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
381
|
+
# Image Version information
|
382
|
+
class ImageVersion
|
383
|
+
include Google::Apis::Core::Hashable
|
384
|
+
|
385
|
+
# Whether it is impossible to create an environment with the image version.
|
386
|
+
# Corresponds to the JSON property `creationDisabled`
|
387
|
+
# @return [Boolean]
|
388
|
+
attr_accessor :creation_disabled
|
389
|
+
alias_method :creation_disabled?, :creation_disabled
|
390
|
+
|
391
|
+
# The string identifier of the ImageVersion, in the form: "composer-x.y.z-
|
392
|
+
# airflow-a.b(.c)"
|
393
|
+
# Corresponds to the JSON property `imageVersionId`
|
394
|
+
# @return [String]
|
395
|
+
attr_accessor :image_version_id
|
396
|
+
|
397
|
+
# Whether this is the default ImageVersion used by Composer during environment
|
398
|
+
# creation if no input ImageVersion is specified.
|
399
|
+
# Corresponds to the JSON property `isDefault`
|
400
|
+
# @return [Boolean]
|
401
|
+
attr_accessor :is_default
|
402
|
+
alias_method :is_default?, :is_default
|
403
|
+
|
404
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
405
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
406
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
407
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
408
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
409
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
410
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
411
|
+
# google.protobuf.Timestamp`.
|
412
|
+
# Corresponds to the JSON property `releaseDate`
|
413
|
+
# @return [Google::Apis::ComposerV1beta1::Date]
|
414
|
+
attr_accessor :release_date
|
415
|
+
|
416
|
+
# supported python versions
|
417
|
+
# Corresponds to the JSON property `supportedPythonVersions`
|
418
|
+
# @return [Array<String>]
|
419
|
+
attr_accessor :supported_python_versions
|
420
|
+
|
421
|
+
# Whether it is impossible to upgrade an environment running with the image
|
422
|
+
# version.
|
423
|
+
# Corresponds to the JSON property `upgradeDisabled`
|
424
|
+
# @return [Boolean]
|
425
|
+
attr_accessor :upgrade_disabled
|
426
|
+
alias_method :upgrade_disabled?, :upgrade_disabled
|
427
|
+
|
428
|
+
def initialize(**args)
|
429
|
+
update!(**args)
|
430
|
+
end
|
431
|
+
|
432
|
+
# Update properties of this object
|
433
|
+
def update!(**args)
|
434
|
+
@creation_disabled = args[:creation_disabled] if args.key?(:creation_disabled)
|
435
|
+
@image_version_id = args[:image_version_id] if args.key?(:image_version_id)
|
436
|
+
@is_default = args[:is_default] if args.key?(:is_default)
|
437
|
+
@release_date = args[:release_date] if args.key?(:release_date)
|
438
|
+
@supported_python_versions = args[:supported_python_versions] if args.key?(:supported_python_versions)
|
439
|
+
@upgrade_disabled = args[:upgrade_disabled] if args.key?(:upgrade_disabled)
|
440
|
+
end
|
441
|
+
end
|
442
|
+
|
443
|
+
# The environments in a project and location.
|
444
|
+
class ListEnvironmentsResponse
|
445
|
+
include Google::Apis::Core::Hashable
|
446
|
+
|
447
|
+
# The list of environments returned by a ListEnvironmentsRequest.
|
448
|
+
# Corresponds to the JSON property `environments`
|
449
|
+
# @return [Array<Google::Apis::ComposerV1beta1::Environment>]
|
450
|
+
attr_accessor :environments
|
451
|
+
|
452
|
+
# The page token used to query for the next page if one exists.
|
453
|
+
# Corresponds to the JSON property `nextPageToken`
|
454
|
+
# @return [String]
|
455
|
+
attr_accessor :next_page_token
|
456
|
+
|
457
|
+
def initialize(**args)
|
458
|
+
update!(**args)
|
459
|
+
end
|
460
|
+
|
461
|
+
# Update properties of this object
|
462
|
+
def update!(**args)
|
463
|
+
@environments = args[:environments] if args.key?(:environments)
|
464
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
465
|
+
end
|
466
|
+
end
|
467
|
+
|
468
|
+
# The ImageVersions in a project and location.
|
469
|
+
class ListImageVersionsResponse
|
470
|
+
include Google::Apis::Core::Hashable
|
471
|
+
|
472
|
+
# The list of supported ImageVersions in a location.
|
473
|
+
# Corresponds to the JSON property `imageVersions`
|
474
|
+
# @return [Array<Google::Apis::ComposerV1beta1::ImageVersion>]
|
475
|
+
attr_accessor :image_versions
|
476
|
+
|
477
|
+
# The page token used to query for the next page if one exists.
|
478
|
+
# Corresponds to the JSON property `nextPageToken`
|
479
|
+
# @return [String]
|
480
|
+
attr_accessor :next_page_token
|
481
|
+
|
482
|
+
def initialize(**args)
|
483
|
+
update!(**args)
|
484
|
+
end
|
485
|
+
|
486
|
+
# Update properties of this object
|
487
|
+
def update!(**args)
|
488
|
+
@image_versions = args[:image_versions] if args.key?(:image_versions)
|
489
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
490
|
+
end
|
491
|
+
end
|
492
|
+
|
493
|
+
# The response message for Operations.ListOperations.
|
494
|
+
class ListOperationsResponse
|
495
|
+
include Google::Apis::Core::Hashable
|
496
|
+
|
497
|
+
# The standard List next-page token.
|
498
|
+
# Corresponds to the JSON property `nextPageToken`
|
499
|
+
# @return [String]
|
500
|
+
attr_accessor :next_page_token
|
501
|
+
|
502
|
+
# A list of operations that matches the specified filter in the request.
|
503
|
+
# Corresponds to the JSON property `operations`
|
504
|
+
# @return [Array<Google::Apis::ComposerV1beta1::Operation>]
|
505
|
+
attr_accessor :operations
|
506
|
+
|
507
|
+
def initialize(**args)
|
508
|
+
update!(**args)
|
509
|
+
end
|
510
|
+
|
511
|
+
# Update properties of this object
|
512
|
+
def update!(**args)
|
513
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
514
|
+
@operations = args[:operations] if args.key?(:operations)
|
515
|
+
end
|
516
|
+
end
|
517
|
+
|
518
|
+
# The configuration settings for Cloud Composer maintenance window. The
|
519
|
+
# following example: ` "startTime":"2019-08-01T01:00:00Z" "endTime":"2019-08-
|
520
|
+
# 01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" ` would define a
|
521
|
+
# maintenance window between 01 and 07 hours UTC during each Tuesday and
|
522
|
+
# Wednesday.
|
523
|
+
class MaintenanceWindow
|
524
|
+
include Google::Apis::Core::Hashable
|
525
|
+
|
526
|
+
# Required. Maintenance window end time. It is used only to calculate the
|
527
|
+
# duration of the maintenance window. The value for end_time must be in the
|
528
|
+
# future, relative to `start_time`.
|
529
|
+
# Corresponds to the JSON property `endTime`
|
530
|
+
# @return [String]
|
531
|
+
attr_accessor :end_time
|
532
|
+
|
533
|
+
# Required. Maintenance window recurrence. Format is a subset of [RFC-5545](
|
534
|
+
# https://tools.ietf.org/html/rfc5545) `RRULE`. The only allowed values for `
|
535
|
+
# FREQ` field are `FREQ=DAILY` and `FREQ=WEEKLY;BYDAY=...` Example values: `FREQ=
|
536
|
+
# WEEKLY;BYDAY=TU,WE`, `FREQ=DAILY`.
|
537
|
+
# Corresponds to the JSON property `recurrence`
|
538
|
+
# @return [String]
|
539
|
+
attr_accessor :recurrence
|
540
|
+
|
541
|
+
# Required. Start time of the first recurrence of the maintenance window.
|
542
|
+
# Corresponds to the JSON property `startTime`
|
543
|
+
# @return [String]
|
544
|
+
attr_accessor :start_time
|
545
|
+
|
546
|
+
def initialize(**args)
|
547
|
+
update!(**args)
|
548
|
+
end
|
549
|
+
|
550
|
+
# Update properties of this object
|
551
|
+
def update!(**args)
|
552
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
553
|
+
@recurrence = args[:recurrence] if args.key?(:recurrence)
|
554
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
555
|
+
end
|
556
|
+
end
|
557
|
+
|
558
|
+
# The configuration information for the Kubernetes Engine nodes running the
|
559
|
+
# Apache Airflow software.
|
560
|
+
class NodeConfig
|
561
|
+
include Google::Apis::Core::Hashable
|
562
|
+
|
563
|
+
# Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If
|
564
|
+
# unspecified, defaults to 100GB. Cannot be updated.
|
565
|
+
# Corresponds to the JSON property `diskSizeGb`
|
566
|
+
# @return [Fixnum]
|
567
|
+
attr_accessor :disk_size_gb
|
568
|
+
|
569
|
+
# Configuration for controlling how IPs are allocated in the GKE cluster.
|
570
|
+
# Corresponds to the JSON property `ipAllocationPolicy`
|
571
|
+
# @return [Google::Apis::ComposerV1beta1::IpAllocationPolicy]
|
572
|
+
attr_accessor :ip_allocation_policy
|
573
|
+
|
574
|
+
# Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which to
|
575
|
+
# deploy the VMs used to run the Apache Airflow software, specified as a [
|
576
|
+
# relative resource name](/apis/design/resource_names#relative_resource_name).
|
577
|
+
# For example: "projects/`projectId`/zones/`zoneId`". This `location` must
|
578
|
+
# belong to the enclosing environment's project and location. If both this field
|
579
|
+
# and `nodeConfig.machineType` are specified, `nodeConfig.machineType` must
|
580
|
+
# belong to this `location`; if both are unspecified, the service will pick a
|
581
|
+
# zone in the Compute Engine region corresponding to the Cloud Composer location,
|
582
|
+
# and propagate that choice to both fields. If only one field (`location` or `
|
583
|
+
# nodeConfig.machineType`) is specified, the location information from the
|
584
|
+
# specified field will be propagated to the unspecified field.
|
585
|
+
# Corresponds to the JSON property `location`
|
586
|
+
# @return [String]
|
587
|
+
attr_accessor :location
|
588
|
+
|
589
|
+
# Optional. The Compute Engine [machine type](/compute/docs/machine-types) used
|
590
|
+
# for cluster instances, specified as a [relative resource name](/apis/design/
|
591
|
+
# resource_names#relative_resource_name). For example: "projects/`projectId`/
|
592
|
+
# zones/`zoneId`/machineTypes/`machineTypeId`". The `machineType` must belong to
|
593
|
+
# the enclosing environment's project and location. If both this field and `
|
594
|
+
# nodeConfig.location` are specified, this `machineType` must belong to the `
|
595
|
+
# nodeConfig.location`; if both are unspecified, the service will pick a zone in
|
596
|
+
# the Compute Engine region corresponding to the Cloud Composer location, and
|
597
|
+
# propagate that choice to both fields. If exactly one of this field and `
|
598
|
+
# nodeConfig.location` is specified, the location information from the specified
|
599
|
+
# field will be propagated to the unspecified field. The `machineTypeId` must
|
600
|
+
# not be a [shared-core machine type](/compute/docs/machine-types#sharedcore).
|
601
|
+
# If this field is unspecified, the `machineTypeId` defaults to "n1-standard-1".
|
602
|
+
# Corresponds to the JSON property `machineType`
|
603
|
+
# @return [String]
|
604
|
+
attr_accessor :machine_type
|
605
|
+
|
606
|
+
# Optional. The maximum number of pods per node in the Cloud Composer GKE
|
607
|
+
# cluster. The value must be between 8 and 110 and it can be set only if the
|
608
|
+
# environment is VPC-native. The default value is 32. Values of this field will
|
609
|
+
# be propagated both to the `default-pool` node pool of the newly created GKE
|
610
|
+
# cluster, and to the default "Maximum Pods per Node" value which is used for
|
611
|
+
# newly created node pools if their value is not explicitly set during node pool
|
612
|
+
# creation. For more information, see [Optimizing IP address allocation] (https:/
|
613
|
+
# /cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr). Cannot be
|
614
|
+
# updated.
|
615
|
+
# Corresponds to the JSON property `maxPodsPerNode`
|
616
|
+
# @return [Fixnum]
|
617
|
+
attr_accessor :max_pods_per_node
|
618
|
+
|
619
|
+
# Optional. The Compute Engine network to be used for machine communications,
|
620
|
+
# specified as a [relative resource name](/apis/design/resource_names#
|
621
|
+
# relative_resource_name). For example: "projects/`projectId`/global/networks/`
|
622
|
+
# networkId`". If unspecified, the default network in the environment's project
|
623
|
+
# is used. If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
|
624
|
+
# is provided, `nodeConfig.subnetwork` must also be provided. For [Shared VPC](/
|
625
|
+
# vpc/docs/shared-vpc) subnetwork requirements, see `nodeConfig.subnetwork`.
|
626
|
+
# Corresponds to the JSON property `network`
|
627
|
+
# @return [String]
|
628
|
+
attr_accessor :network
|
629
|
+
|
630
|
+
# Optional. The set of Google API scopes to be made available on all node VMs.
|
631
|
+
# If `oauth_scopes` is empty, defaults to ["https://www.googleapis.com/auth/
|
632
|
+
# cloud-platform"]. Cannot be updated.
|
633
|
+
# Corresponds to the JSON property `oauthScopes`
|
634
|
+
# @return [Array<String>]
|
635
|
+
attr_accessor :oauth_scopes
|
636
|
+
|
637
|
+
# Optional. The Google Cloud Platform Service Account to be used by the node VMs.
|
638
|
+
# If a service account is not specified, the "default" Compute Engine service
|
639
|
+
# account is used. Cannot be updated.
|
640
|
+
# Corresponds to the JSON property `serviceAccount`
|
641
|
+
# @return [String]
|
642
|
+
attr_accessor :service_account
|
643
|
+
|
644
|
+
# Optional. The Compute Engine subnetwork to be used for machine communications,
|
645
|
+
# specified as a [relative resource name](/apis/design/resource_names#
|
646
|
+
# relative_resource_name). For example: "projects/`projectId`/regions/`regionId`/
|
647
|
+
# subnetworks/`subnetworkId`" If a subnetwork is provided, `nodeConfig.network`
|
648
|
+
# must also be provided, and the subnetwork must belong to the enclosing
|
649
|
+
# environment's project and location.
|
650
|
+
# Corresponds to the JSON property `subnetwork`
|
651
|
+
# @return [String]
|
652
|
+
attr_accessor :subnetwork
|
653
|
+
|
654
|
+
# Optional. The list of instance tags applied to all node VMs. Tags are used to
|
655
|
+
# identify valid sources or targets for network firewalls. Each tag within the
|
656
|
+
# list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot
|
657
|
+
# be updated.
|
658
|
+
# Corresponds to the JSON property `tags`
|
659
|
+
# @return [Array<String>]
|
660
|
+
attr_accessor :tags
|
661
|
+
|
662
|
+
def initialize(**args)
|
663
|
+
update!(**args)
|
664
|
+
end
|
665
|
+
|
666
|
+
# Update properties of this object
|
667
|
+
def update!(**args)
|
668
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
669
|
+
@ip_allocation_policy = args[:ip_allocation_policy] if args.key?(:ip_allocation_policy)
|
670
|
+
@location = args[:location] if args.key?(:location)
|
671
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
672
|
+
@max_pods_per_node = args[:max_pods_per_node] if args.key?(:max_pods_per_node)
|
673
|
+
@network = args[:network] if args.key?(:network)
|
674
|
+
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
|
675
|
+
@service_account = args[:service_account] if args.key?(:service_account)
|
676
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
677
|
+
@tags = args[:tags] if args.key?(:tags)
|
678
|
+
end
|
679
|
+
end
|
680
|
+
|
681
|
+
# This resource represents a long-running operation that is the result of a
|
682
|
+
# network API call.
|
683
|
+
class Operation
|
684
|
+
include Google::Apis::Core::Hashable
|
685
|
+
|
686
|
+
# If the value is `false`, it means the operation is still in progress. If `true`
|
687
|
+
# , the operation is completed, and either `error` or `response` is available.
|
688
|
+
# Corresponds to the JSON property `done`
|
689
|
+
# @return [Boolean]
|
690
|
+
attr_accessor :done
|
691
|
+
alias_method :done?, :done
|
692
|
+
|
693
|
+
# The `Status` type defines a logical error model that is suitable for different
|
694
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
695
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
696
|
+
# data: error code, error message, and error details. You can find out more
|
697
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
698
|
+
# //cloud.google.com/apis/design/errors).
|
699
|
+
# Corresponds to the JSON property `error`
|
700
|
+
# @return [Google::Apis::ComposerV1beta1::Status]
|
701
|
+
attr_accessor :error
|
702
|
+
|
703
|
+
# Service-specific metadata associated with the operation. It typically contains
|
704
|
+
# progress information and common metadata such as create time. Some services
|
705
|
+
# might not provide such metadata. Any method that returns a long-running
|
706
|
+
# operation should document the metadata type, if any.
|
707
|
+
# Corresponds to the JSON property `metadata`
|
708
|
+
# @return [Hash<String,Object>]
|
709
|
+
attr_accessor :metadata
|
710
|
+
|
711
|
+
# The server-assigned name, which is only unique within the same service that
|
712
|
+
# originally returns it. If you use the default HTTP mapping, the `name` should
|
713
|
+
# be a resource name ending with `operations/`unique_id``.
|
714
|
+
# Corresponds to the JSON property `name`
|
715
|
+
# @return [String]
|
716
|
+
attr_accessor :name
|
717
|
+
|
718
|
+
# The normal response of the operation in case of success. If the original
|
719
|
+
# method returns no data on success, such as `Delete`, the response is `google.
|
720
|
+
# protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
|
721
|
+
# the response should be the resource. For other methods, the response should
|
722
|
+
# have the type `XxxResponse`, where `Xxx` is the original method name. For
|
723
|
+
# example, if the original method name is `TakeSnapshot()`, the inferred
|
724
|
+
# response type is `TakeSnapshotResponse`.
|
725
|
+
# Corresponds to the JSON property `response`
|
726
|
+
# @return [Hash<String,Object>]
|
727
|
+
attr_accessor :response
|
728
|
+
|
729
|
+
def initialize(**args)
|
730
|
+
update!(**args)
|
731
|
+
end
|
732
|
+
|
733
|
+
# Update properties of this object
|
734
|
+
def update!(**args)
|
735
|
+
@done = args[:done] if args.key?(:done)
|
736
|
+
@error = args[:error] if args.key?(:error)
|
737
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
738
|
+
@name = args[:name] if args.key?(:name)
|
739
|
+
@response = args[:response] if args.key?(:response)
|
740
|
+
end
|
741
|
+
end
|
742
|
+
|
743
|
+
# Metadata describing an operation.
|
744
|
+
class OperationMetadata
|
745
|
+
include Google::Apis::Core::Hashable
|
746
|
+
|
747
|
+
# Output only. The time the operation was submitted to the server.
|
748
|
+
# Corresponds to the JSON property `createTime`
|
749
|
+
# @return [String]
|
750
|
+
attr_accessor :create_time
|
751
|
+
|
752
|
+
# Output only. The time when the operation terminated, regardless of its success.
|
753
|
+
# This field is unset if the operation is still ongoing.
|
754
|
+
# Corresponds to the JSON property `endTime`
|
755
|
+
# @return [String]
|
756
|
+
attr_accessor :end_time
|
757
|
+
|
758
|
+
# Output only. The type of operation being performed.
|
759
|
+
# Corresponds to the JSON property `operationType`
|
760
|
+
# @return [String]
|
761
|
+
attr_accessor :operation_type
|
762
|
+
|
763
|
+
# Output only. The resource being operated on, as a [relative resource name]( /
|
764
|
+
# apis/design/resource_names#relative_resource_name).
|
765
|
+
# Corresponds to the JSON property `resource`
|
766
|
+
# @return [String]
|
767
|
+
attr_accessor :resource
|
768
|
+
|
769
|
+
# Output only. The UUID of the resource being operated on.
|
770
|
+
# Corresponds to the JSON property `resourceUuid`
|
771
|
+
# @return [String]
|
772
|
+
attr_accessor :resource_uuid
|
773
|
+
|
774
|
+
# Output only. The current operation state.
|
775
|
+
# Corresponds to the JSON property `state`
|
776
|
+
# @return [String]
|
777
|
+
attr_accessor :state
|
778
|
+
|
779
|
+
def initialize(**args)
|
780
|
+
update!(**args)
|
781
|
+
end
|
782
|
+
|
783
|
+
# Update properties of this object
|
784
|
+
def update!(**args)
|
785
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
786
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
787
|
+
@operation_type = args[:operation_type] if args.key?(:operation_type)
|
788
|
+
@resource = args[:resource] if args.key?(:resource)
|
789
|
+
@resource_uuid = args[:resource_uuid] if args.key?(:resource_uuid)
|
790
|
+
@state = args[:state] if args.key?(:state)
|
791
|
+
end
|
792
|
+
end
|
793
|
+
|
794
|
+
# Configuration options for the private GKE cluster in a Cloud Composer
|
795
|
+
# environment.
|
796
|
+
class PrivateClusterConfig
|
797
|
+
include Google::Apis::Core::Hashable
|
798
|
+
|
799
|
+
# Optional. If `true`, access to the public endpoint of the GKE cluster is
|
800
|
+
# denied.
|
801
|
+
# Corresponds to the JSON property `enablePrivateEndpoint`
|
802
|
+
# @return [Boolean]
|
803
|
+
attr_accessor :enable_private_endpoint
|
804
|
+
alias_method :enable_private_endpoint?, :enable_private_endpoint
|
805
|
+
|
806
|
+
# Optional. The CIDR block from which IPv4 range for GKE master will be reserved.
|
807
|
+
# If left blank, the default value of '172.16.0.0/23' is used.
|
808
|
+
# Corresponds to the JSON property `masterIpv4CidrBlock`
|
809
|
+
# @return [String]
|
810
|
+
attr_accessor :master_ipv4_cidr_block
|
811
|
+
|
812
|
+
# Output only. The IP range in CIDR notation to use for the hosted master
|
813
|
+
# network. This range is used for assigning internal IP addresses to the cluster
|
814
|
+
# master or set of masters and to the internal load balancer virtual IP. This
|
815
|
+
# range must not overlap with any other ranges in use within the cluster's
|
816
|
+
# network.
|
817
|
+
# Corresponds to the JSON property `masterIpv4ReservedRange`
|
818
|
+
# @return [String]
|
819
|
+
attr_accessor :master_ipv4_reserved_range
|
820
|
+
|
821
|
+
def initialize(**args)
|
822
|
+
update!(**args)
|
823
|
+
end
|
824
|
+
|
825
|
+
# Update properties of this object
|
826
|
+
def update!(**args)
|
827
|
+
@enable_private_endpoint = args[:enable_private_endpoint] if args.key?(:enable_private_endpoint)
|
828
|
+
@master_ipv4_cidr_block = args[:master_ipv4_cidr_block] if args.key?(:master_ipv4_cidr_block)
|
829
|
+
@master_ipv4_reserved_range = args[:master_ipv4_reserved_range] if args.key?(:master_ipv4_reserved_range)
|
830
|
+
end
|
831
|
+
end
|
832
|
+
|
833
|
+
# The configuration information for configuring a Private IP Cloud Composer
|
834
|
+
# environment.
|
835
|
+
class PrivateEnvironmentConfig
|
836
|
+
include Google::Apis::Core::Hashable
|
837
|
+
|
838
|
+
# Optional. The CIDR block from which IP range in tenant project will be
|
839
|
+
# reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block
|
840
|
+
# Corresponds to the JSON property `cloudSqlIpv4CidrBlock`
|
841
|
+
# @return [String]
|
842
|
+
attr_accessor :cloud_sql_ipv4_cidr_block
|
843
|
+
|
844
|
+
# Optional. If `true`, a Private IP Cloud Composer environment is created. If
|
845
|
+
# this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to
|
846
|
+
# true.
|
847
|
+
# Corresponds to the JSON property `enablePrivateEnvironment`
|
848
|
+
# @return [Boolean]
|
849
|
+
attr_accessor :enable_private_environment
|
850
|
+
alias_method :enable_private_environment?, :enable_private_environment
|
851
|
+
|
852
|
+
# Configuration options for the private GKE cluster in a Cloud Composer
|
853
|
+
# environment.
|
854
|
+
# Corresponds to the JSON property `privateClusterConfig`
|
855
|
+
# @return [Google::Apis::ComposerV1beta1::PrivateClusterConfig]
|
856
|
+
attr_accessor :private_cluster_config
|
857
|
+
|
858
|
+
# Optional. The CIDR block from which IP range for web server will be reserved.
|
859
|
+
# Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and
|
860
|
+
# cloud_sql_ipv4_cidr_block.
|
861
|
+
# Corresponds to the JSON property `webServerIpv4CidrBlock`
|
862
|
+
# @return [String]
|
863
|
+
attr_accessor :web_server_ipv4_cidr_block
|
864
|
+
|
865
|
+
# Output only. The IP range reserved for the tenant project's App Engine VMs.
|
866
|
+
# Corresponds to the JSON property `webServerIpv4ReservedRange`
|
867
|
+
# @return [String]
|
868
|
+
attr_accessor :web_server_ipv4_reserved_range
|
869
|
+
|
870
|
+
def initialize(**args)
|
871
|
+
update!(**args)
|
872
|
+
end
|
873
|
+
|
874
|
+
# Update properties of this object
|
875
|
+
def update!(**args)
|
876
|
+
@cloud_sql_ipv4_cidr_block = args[:cloud_sql_ipv4_cidr_block] if args.key?(:cloud_sql_ipv4_cidr_block)
|
877
|
+
@enable_private_environment = args[:enable_private_environment] if args.key?(:enable_private_environment)
|
878
|
+
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
879
|
+
@web_server_ipv4_cidr_block = args[:web_server_ipv4_cidr_block] if args.key?(:web_server_ipv4_cidr_block)
|
880
|
+
@web_server_ipv4_reserved_range = args[:web_server_ipv4_reserved_range] if args.key?(:web_server_ipv4_reserved_range)
|
881
|
+
end
|
882
|
+
end
|
883
|
+
|
884
|
+
# Restart Airflow web server.
|
885
|
+
class RestartWebServerRequest
|
886
|
+
include Google::Apis::Core::Hashable
|
887
|
+
|
888
|
+
def initialize(**args)
|
889
|
+
update!(**args)
|
890
|
+
end
|
891
|
+
|
892
|
+
# Update properties of this object
|
893
|
+
def update!(**args)
|
894
|
+
end
|
895
|
+
end
|
896
|
+
|
897
|
+
# Specifies the selection and configuration of software inside the environment.
|
898
|
+
class SoftwareConfig
|
899
|
+
include Google::Apis::Core::Hashable
|
900
|
+
|
901
|
+
# Optional. Apache Airflow configuration properties to override. Property keys
|
902
|
+
# contain the section and property names, separated by a hyphen, for example "
|
903
|
+
# core-dags_are_paused_at_creation". Section names must not contain hyphens ("-")
|
904
|
+
# , opening square brackets ("["), or closing square brackets ("]"). The
|
905
|
+
# property name must not be empty and must not contain an equals sign ("=") or
|
906
|
+
# semicolon (";"). Section and property names must not contain a period (".").
|
907
|
+
# Apache Airflow configuration property names must be written in [snake_case](
|
908
|
+
# https://en.wikipedia.org/wiki/Snake_case). Property values can contain any
|
909
|
+
# character, and can be written in any lower/upper case format. Certain Apache
|
910
|
+
# Airflow configuration property values are [blocked](/composer/docs/concepts/
|
911
|
+
# airflow-configurations), and cannot be overridden.
|
912
|
+
# Corresponds to the JSON property `airflowConfigOverrides`
|
913
|
+
# @return [Hash<String,String>]
|
914
|
+
attr_accessor :airflow_config_overrides
|
915
|
+
|
916
|
+
# Optional. Additional environment variables to provide to the Apache Airflow
|
917
|
+
# scheduler, worker, and webserver processes. Environment variable names must
|
918
|
+
# match the regular expression `a-zA-Z_*`. They cannot specify Apache Airflow
|
919
|
+
# software configuration overrides (they cannot match the regular expression `
|
920
|
+
# AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the following
|
921
|
+
# reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `
|
922
|
+
# DAGS_FOLDER` * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `
|
923
|
+
# SQL_DATABASE` * `SQL_INSTANCE` * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION`
|
924
|
+
# * `SQL_USER`
|
925
|
+
# Corresponds to the JSON property `envVariables`
|
926
|
+
# @return [Hash<String,String>]
|
927
|
+
attr_accessor :env_variables
|
928
|
+
|
929
|
+
# The version of the software running in the environment. This encapsulates both
|
930
|
+
# the version of Cloud Composer functionality and the version of Apache Airflow.
|
931
|
+
# It must match the regular expression `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-
|
932
|
+
# airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`. When used as input, the server also
|
933
|
+
# checks if the provided version is supported and denies the request for an
|
934
|
+
# unsupported version. The Cloud Composer portion of the version is a [semantic
|
935
|
+
# version](https://semver.org) or `latest`. When the patch version is omitted,
|
936
|
+
# the current Cloud Composer patch version is selected. When `latest` is
|
937
|
+
# provided instead of an explicit version number, the server replaces `latest`
|
938
|
+
# with the current Cloud Composer version and stores that version number in the
|
939
|
+
# same field. The portion of the image version that follows *airflow-* is an
|
940
|
+
# official Apache Airflow repository [release name](https://github.com/apache/
|
941
|
+
# incubator-airflow/releases). See also [Version List](/composer/docs/concepts/
|
942
|
+
# versioning/composer-versions).
|
943
|
+
# Corresponds to the JSON property `imageVersion`
|
944
|
+
# @return [String]
|
945
|
+
attr_accessor :image_version
|
946
|
+
|
947
|
+
# Optional. Custom Python Package Index (PyPI) packages to be installed in the
|
948
|
+
# environment. Keys refer to the lowercase package name such as "numpy" and
|
949
|
+
# values are the lowercase extras and version specifier such as "==1.12.0", "[
|
950
|
+
# devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a package without
|
951
|
+
# pinning it to a version specifier, use the empty string as the value.
|
952
|
+
# Corresponds to the JSON property `pypiPackages`
|
953
|
+
# @return [Hash<String,String>]
|
954
|
+
attr_accessor :pypi_packages
|
955
|
+
|
956
|
+
# Optional. The major version of Python used to run the Apache Airflow scheduler,
|
957
|
+
# worker, and webserver processes. Can be set to '2' or '3'. If not specified,
|
958
|
+
# the default is '2'. Cannot be updated.
|
959
|
+
# Corresponds to the JSON property `pythonVersion`
|
960
|
+
# @return [String]
|
961
|
+
attr_accessor :python_version
|
962
|
+
|
963
|
+
def initialize(**args)
|
964
|
+
update!(**args)
|
965
|
+
end
|
966
|
+
|
967
|
+
# Update properties of this object
|
968
|
+
def update!(**args)
|
969
|
+
@airflow_config_overrides = args[:airflow_config_overrides] if args.key?(:airflow_config_overrides)
|
970
|
+
@env_variables = args[:env_variables] if args.key?(:env_variables)
|
971
|
+
@image_version = args[:image_version] if args.key?(:image_version)
|
972
|
+
@pypi_packages = args[:pypi_packages] if args.key?(:pypi_packages)
|
973
|
+
@python_version = args[:python_version] if args.key?(:python_version)
|
974
|
+
end
|
975
|
+
end
|
976
|
+
|
977
|
+
# The `Status` type defines a logical error model that is suitable for different
|
978
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
979
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
980
|
+
# data: error code, error message, and error details. You can find out more
|
981
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
982
|
+
# //cloud.google.com/apis/design/errors).
|
983
|
+
class Status
|
984
|
+
include Google::Apis::Core::Hashable
|
985
|
+
|
986
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
987
|
+
# Corresponds to the JSON property `code`
|
988
|
+
# @return [Fixnum]
|
989
|
+
attr_accessor :code
|
990
|
+
|
991
|
+
# A list of messages that carry the error details. There is a common set of
|
992
|
+
# message types for APIs to use.
|
993
|
+
# Corresponds to the JSON property `details`
|
994
|
+
# @return [Array<Hash<String,Object>>]
|
995
|
+
attr_accessor :details
|
996
|
+
|
997
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
998
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
999
|
+
# field, or localized by the client.
|
1000
|
+
# Corresponds to the JSON property `message`
|
1001
|
+
# @return [String]
|
1002
|
+
attr_accessor :message
|
1003
|
+
|
1004
|
+
def initialize(**args)
|
1005
|
+
update!(**args)
|
1006
|
+
end
|
1007
|
+
|
1008
|
+
# Update properties of this object
|
1009
|
+
def update!(**args)
|
1010
|
+
@code = args[:code] if args.key?(:code)
|
1011
|
+
@details = args[:details] if args.key?(:details)
|
1012
|
+
@message = args[:message] if args.key?(:message)
|
1013
|
+
end
|
1014
|
+
end
|
1015
|
+
|
1016
|
+
# The configuration settings for the Airflow web server App Engine instance.
|
1017
|
+
class WebServerConfig
|
1018
|
+
include Google::Apis::Core::Hashable
|
1019
|
+
|
1020
|
+
# Optional. Machine type on which Airflow web server is running. It has to be
|
1021
|
+
# one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-
|
1022
|
+
# webserver-8. If not specified, composer-n1-webserver-2 will be used. Value
|
1023
|
+
# custom is returned only in response, if Airflow web server parameters were
|
1024
|
+
# manually changed to a non-standard values.
|
1025
|
+
# Corresponds to the JSON property `machineType`
|
1026
|
+
# @return [String]
|
1027
|
+
attr_accessor :machine_type
|
1028
|
+
|
1029
|
+
def initialize(**args)
|
1030
|
+
update!(**args)
|
1031
|
+
end
|
1032
|
+
|
1033
|
+
# Update properties of this object
|
1034
|
+
def update!(**args)
|
1035
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
1036
|
+
end
|
1037
|
+
end
|
1038
|
+
|
1039
|
+
# Network-level access control policy for the Airflow web server.
|
1040
|
+
class WebServerNetworkAccessControl
|
1041
|
+
include Google::Apis::Core::Hashable
|
1042
|
+
|
1043
|
+
# A collection of allowed IP ranges with descriptions.
|
1044
|
+
# Corresponds to the JSON property `allowedIpRanges`
|
1045
|
+
# @return [Array<Google::Apis::ComposerV1beta1::AllowedIpRange>]
|
1046
|
+
attr_accessor :allowed_ip_ranges
|
1047
|
+
|
1048
|
+
def initialize(**args)
|
1049
|
+
update!(**args)
|
1050
|
+
end
|
1051
|
+
|
1052
|
+
# Update properties of this object
|
1053
|
+
def update!(**args)
|
1054
|
+
@allowed_ip_ranges = args[:allowed_ip_ranges] if args.key?(:allowed_ip_ranges)
|
1055
|
+
end
|
1056
|
+
end
|
1057
|
+
end
|
1058
|
+
end
|
1059
|
+
end
|