blob: c64c95feea457f9526a607cc542038aece5d0f93 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="composer_v1beta1.html">Cloud Composer API</a> . <a href="composer_v1beta1.projects.html">projects</a> . <a href="composer_v1beta1.projects.locations.html">locations</a> . <a href="composer_v1beta1.projects.locations.environments.html">environments</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070079<p class="firstline">Create a new environment.</p>
80<p class="toc_element">
81 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
82<p class="firstline">Delete an environment.</p>
83<p class="toc_element">
84 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
85<p class="firstline">Get an existing environment.</p>
86<p class="toc_element">
87 <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
88<p class="firstline">List environments.</p>
89<p class="toc_element">
90 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
91<p class="firstline">Retrieves the next page of results.</p>
92<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070093 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070094<p class="firstline">Update an environment.</p>
95<h3>Method Details</h3>
96<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -070097 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070098 <pre>Create a new environment.
99
100Args:
101 parent: string, The parent must be of the form
102"projects/{projectId}/locations/{locationId}". (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700103 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700104 The object takes the form of:
105
106{ # An environment for running orchestration tasks.
Dan O'Mearadd494642020-05-01 07:42:23 -0700107 "updateTime": "A String", # Output only. The time at which this environment was last modified.
108 "name": "A String", # The resource name of the environment, in the form:
109 # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
110 #
111 # EnvironmentId must start with a lowercase letter followed by up to 63
112 # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700113 "labels": { # Optional. User-defined labels for this environment.
114 # The labels map can contain no more than 64 entries. Entries of the labels
115 # map are UTF8 strings that comply with the following restrictions:
116 #
117 # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
118 # * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
Dan O'Mearadd494642020-05-01 07:42:23 -0700119 # * Both keys and values are additionally constrained to be &lt;= 128 bytes in
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700120 # size.
121 "a_key": "A String",
122 },
123 "state": "A String", # The current state of the environment.
124 "config": { # Configuration information for an environment. # Configuration parameters for this environment.
Dan O'Mearadd494642020-05-01 07:42:23 -0700125 "dagGcsPrefix": "A String", # Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700126 # Storage objects reside in a flat namespace, a hierarchical file tree
127 # can be simulated using "/"-delimited object name prefixes. DAG objects for
128 # this environment reside in a simulated directory with the given prefix.
129 "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700130 "imageVersion": "A String", # The version of the software running in the environment.
131 # This encapsulates both the version of Cloud Composer functionality and the
132 # version of Apache Airflow. It must match the regular expression
133 # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
134 # When used as input, the server also checks if the provided version is
135 # supported and denies the request for an unsupported version.
136 #
137 # The Cloud Composer portion of the version is a
138 # [semantic version](https://semver.org) or `latest`. When the patch version
139 # is omitted, the current Cloud Composer patch version is selected.
140 # When `latest` is provided instead of an explicit version number,
141 # the server replaces `latest` with the current Cloud Composer version
142 # and stores that version number in the same field.
143 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700144 # The portion of the image version that follows &lt;em&gt;airflow-&lt;/em&gt; is an
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700145 # official Apache Airflow repository
146 # [release name](https://github.com/apache/incubator-airflow/releases).
147 #
148 # See also [Version
149 # List](/composer/docs/concepts/versioning/composer-versions).
Dan O'Mearadd494642020-05-01 07:42:23 -0700150 "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
151 # the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700152 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700153 # Keys refer to the lowercase package name such as "numpy"
154 # and values are the lowercase extras and version specifier such as
155 # "==1.12.0", "[devel,gcp_api]", or "[devel]&gt;=1.8.2, &lt;1.9.2". To specify a
156 # package without pinning it to a version specifier, use the empty string as
157 # the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700158 "a_key": "A String",
159 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700160 "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
161 # scheduler, worker, and webserver processes.
162 #
163 # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
164 # updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700165 "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
166 # scheduler, worker, and webserver processes.
167 #
168 # Environment variable names must match the regular expression
169 # `a-zA-Z_*`. They cannot specify Apache Airflow
170 # software configuration overrides (they cannot match the regular expression
171 # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
172 # following reserved names:
173 #
174 # * `AIRFLOW_HOME`
175 # * `C_FORCE_ROOT`
176 # * `CONTAINER_NAME`
177 # * `DAGS_FOLDER`
178 # * `GCP_PROJECT`
179 # * `GCS_BUCKET`
180 # * `GKE_CLUSTER_NAME`
181 # * `SQL_DATABASE`
182 # * `SQL_INSTANCE`
183 # * `SQL_PASSWORD`
184 # * `SQL_PROJECT`
185 # * `SQL_REGION`
186 # * `SQL_USER`
187 "a_key": "A String",
188 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700189 "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700190 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700191 # Property keys contain the section and property names, separated by a
192 # hyphen, for example "core-dags_are_paused_at_creation". Section names must
193 # not contain hyphens ("-"), opening square brackets ("["), or closing
194 # square brackets ("]"). The property name must not be empty and must not
195 # contain an equals sign ("=") or semicolon (";"). Section and property names
196 # must not contain a period ("."). Apache Airflow configuration property
197 # names must be written in
198 # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
199 # contain any character, and can be written in any lower/upper case format.
200 #
201 # Certain Apache Airflow configuration property values are
202 # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
203 # and cannot be overridden.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700204 "a_key": "A String",
205 },
206 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700207 "airflowUri": "A String", # Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700208 # [Airflow web
209 # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
Dan O'Mearadd494642020-05-01 07:42:23 -0700210 "webServerNetworkAccessControl": { # Network-level access control policy for the Airflow web server. # Optional. The network-level access control policy for the Airflow web server. If
211 # unspecified, no network-level access restrictions will be applied.
212 "allowedIpRanges": [ # A collection of allowed IP ranges with descriptions.
213 { # Allowed IP range with user-provided description.
214 "description": "A String", # Optional. User-provided description. It must contain at most 300 characters.
215 "value": "A String", # IP address or range, defined using CIDR notation, of requests that this
216 # rule applies to.
217 # Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32`
218 # or `2001:0db8:0000:0042:0000:8a2e:0370:7334`.
219 #
220 #
221 # &lt;p&gt;IP range prefixes should be properly truncated. For example,
222 # `1.2.3.4/24` should be truncated to `1.2.3.0/24`. Similarly, for IPv6,
223 # `2001:db8::1/32` should be truncated to `2001:db8::/32`.
224 },
225 ],
226 },
227 "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700228 "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
229 # the Apache Airflow software.
230 "machineType": "A String", # Optional. The Compute Engine
231 # [machine type](/compute/docs/machine-types) used for cluster instances,
232 # specified as a
233 # [relative resource
234 # name](/apis/design/resource_names#relative_resource_name). For example:
235 # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
236 #
237 # The `machineType` must belong to the enclosing environment's project and
238 # location. If both this field and `nodeConfig.location` are specified,
239 # this `machineType` must belong to the `nodeConfig.location`; if both are
240 # unspecified, the service will pick a zone in the Compute Engine region
241 # corresponding to the Cloud Composer location, and propagate that choice to
242 # both fields. If exactly one of this field and `nodeConfig.location` is
243 # specified, the location information from the specified field will be
244 # propagated to the unspecified field.
245 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700246 # The `machineTypeId` must not be a [shared-core machine
247 # type](/compute/docs/machine-types#sharedcore).
248 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700249 # If this field is unspecified, the `machineTypeId` defaults
250 # to "n1-standard-1".
251 "network": "A String", # Optional. The Compute Engine network to be used for machine
252 # communications, specified as a
253 # [relative resource
254 # name](/apis/design/resource_names#relative_resource_name). For example:
255 # "projects/{projectId}/global/networks/{networkId}".
256 #
257 # If unspecified, the default network in the environment's project is used.
258 # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
259 # is provided, `nodeConfig.subnetwork` must also be provided. For
260 # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
261 # `nodeConfig.subnetwork`.
262 "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
263 # to identify valid sources or targets for network firewalls. Each tag within
264 # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
265 # Cannot be updated.
266 "A String",
267 ],
268 "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
269 # VMs. If a service account is not specified, the "default" Compute Engine
270 # service account is used. Cannot be updated.
271 "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
272 # node VMs. If `oauth_scopes` is empty, defaults to
273 # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
274 "A String",
275 ],
276 "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
277 # If unspecified, defaults to 100GB. Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700278 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
279 # GKE cluster.
280 "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
281 # the cluster.
282 #
283 # This field is applicable only when `use_ip_aliases` is true.
284 #
285 # Set to blank to have GKE choose a range with the default size.
286 #
287 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
288 # netmask.
289 #
290 # Set to a
291 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
292 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
293 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
294 # to use.
295 # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
296 # but not both.
297 "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
298 # cluster.
299 #
300 # This field is applicable only when `use_ip_aliases` is true.
301 #
302 # Set to blank to have GKE choose a range with the default size.
303 #
304 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
305 # netmask.
306 #
307 # Set to a
308 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
309 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
310 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
311 # to use.
312 # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
313 # but not both.
314 "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
315 # IP addresses to the cluster. Specify either `services_secondary_range_name`
316 # or `services_ipv4_cidr_block` but not both.
317 #
318 # This field is applicable only when `use_ip_aliases` is true.
319 "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
320 # If `true`, a VPC-native cluster is created.
321 "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
322 # IP addresses to pods. Specify either `cluster_secondary_range_name`
323 # or `cluster_ipv4_cidr_block` but not both.
324 #
325 # This field is applicable only when `use_ip_aliases` is true.
326 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700327 "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
328 # communications, specified as a
329 # [relative resource
330 # name](/apis/design/resource_names#relative_resource_name). For example:
331 # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
332 #
333 # If a subnetwork is provided, `nodeConfig.network` must also be provided,
334 # and the subnetwork must belong to the enclosing environment's project and
335 # location.
336 "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
337 # to deploy the VMs used to run the Apache Airflow software, specified as a
338 # [relative resource
339 # name](/apis/design/resource_names#relative_resource_name). For example:
340 # "projects/{projectId}/zones/{zoneId}".
341 #
342 # This `location` must belong to the enclosing environment's project and
343 # location. If both this field and `nodeConfig.machineType` are specified,
344 # `nodeConfig.machineType` must belong to this `location`; if both are
345 # unspecified, the service will pick a zone in the Compute Engine region
346 # corresponding to the Cloud Composer location, and propagate that choice to
347 # both fields. If only one field (`location` or `nodeConfig.machineType`) is
348 # specified, the location information from the specified field will be
349 # propagated to the unspecified field.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700350 },
351 "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
352 # used to run this environment.
353 "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
354 # environment.
Dan O'Mearadd494642020-05-01 07:42:23 -0700355 "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for
356 # Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block
357 "webServerIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for web server will be reserved. Needs
358 # to be disjoint from private_cluster_config.master_ipv4_cidr_block and
359 # cloud_sql_ipv4_cidr_block.
360 "webServerIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's App Engine VMs.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700361 "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
362 # If this field is true, `use_ip_aliases` must be true.
363 "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
364 # Cloud Composer environment.
365 # environment.
366 "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
367 # denied.
Dan O'Mearadd494642020-05-01 07:42:23 -0700368 "masterIpv4ReservedRange": "A String", # Output only. The IP range in CIDR notation to use for the hosted master network. This
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700369 # range is used for assigning internal IP addresses to the cluster
370 # master or set of masters and to the internal load balancer virtual IP.
371 # This range must not overlap with any other ranges in use
Dan O'Mearadd494642020-05-01 07:42:23 -0700372 # within the cluster's network.
373 "masterIpv4CidrBlock": "A String", # Optional. The CIDR block from which IPv4 range for GKE master will be reserved. If
374 # left blank, the default value of '172.16.0.0/23' is used.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700375 },
376 },
377 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700378 "createTime": "A String", # Output only. The time at which this environment was created.
379 "uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment.
380 # This value is generated when the environment is created.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700381 }
382
383 x__xgafv: string, V1 error format.
384 Allowed values
385 1 - v1 error format
386 2 - v2 error format
387
388Returns:
389 An object of the form:
390
391 { # This resource represents a long-running operation that is the result of a
392 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700393 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
394 # different programming environments, including REST APIs and RPC APIs. It is
Dan O'Mearadd494642020-05-01 07:42:23 -0700395 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
396 # three pieces of data: error code, error message, and error details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700397 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700398 # You can find out more about this error model and how to work with it in the
399 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700400 "message": "A String", # A developer-facing error message, which should be in English. Any
401 # user-facing error message should be localized and sent in the
402 # google.rpc.Status.details field, or localized by the client.
403 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
404 "details": [ # A list of messages that carry the error details. There is a common set of
405 # message types for APIs to use.
406 {
407 "a_key": "", # Properties of the object. Contains field @type with type URL.
408 },
409 ],
410 },
411 "done": True or False, # If the value is `false`, it means the operation is still in progress.
412 # If `true`, the operation is completed, and either `error` or `response` is
413 # available.
414 "response": { # The normal response of the operation in case of success. If the original
415 # method returns no data on success, such as `Delete`, the response is
416 # `google.protobuf.Empty`. If the original method is standard
417 # `Get`/`Create`/`Update`, the response should be the resource. For other
418 # methods, the response should have the type `XxxResponse`, where `Xxx`
419 # is the original method name. For example, if the original method name
420 # is `TakeSnapshot()`, the inferred response type is
421 # `TakeSnapshotResponse`.
422 "a_key": "", # Properties of the object. Contains field @type with type URL.
423 },
424 "name": "A String", # The server-assigned name, which is only unique within the same service that
425 # originally returns it. If you use the default HTTP mapping, the
426 # `name` should be a resource name ending with `operations/{unique_id}`.
Dan O'Mearadd494642020-05-01 07:42:23 -0700427 "metadata": { # Service-specific metadata associated with the operation. It typically
428 # contains progress information and common metadata such as create time.
429 # Some services might not provide such metadata. Any method that returns a
430 # long-running operation should document the metadata type, if any.
431 "a_key": "", # Properties of the object. Contains field @type with type URL.
432 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700433 }</pre>
434</div>
435
436<div class="method">
437 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
438 <pre>Delete an environment.
439
440Args:
441 name: string, The environment to delete, in the form:
442"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
443 x__xgafv: string, V1 error format.
444 Allowed values
445 1 - v1 error format
446 2 - v2 error format
447
448Returns:
449 An object of the form:
450
451 { # This resource represents a long-running operation that is the result of a
452 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700453 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
454 # different programming environments, including REST APIs and RPC APIs. It is
Dan O'Mearadd494642020-05-01 07:42:23 -0700455 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
456 # three pieces of data: error code, error message, and error details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700457 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700458 # You can find out more about this error model and how to work with it in the
459 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700460 "message": "A String", # A developer-facing error message, which should be in English. Any
461 # user-facing error message should be localized and sent in the
462 # google.rpc.Status.details field, or localized by the client.
463 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
464 "details": [ # A list of messages that carry the error details. There is a common set of
465 # message types for APIs to use.
466 {
467 "a_key": "", # Properties of the object. Contains field @type with type URL.
468 },
469 ],
470 },
471 "done": True or False, # If the value is `false`, it means the operation is still in progress.
472 # If `true`, the operation is completed, and either `error` or `response` is
473 # available.
474 "response": { # The normal response of the operation in case of success. If the original
475 # method returns no data on success, such as `Delete`, the response is
476 # `google.protobuf.Empty`. If the original method is standard
477 # `Get`/`Create`/`Update`, the response should be the resource. For other
478 # methods, the response should have the type `XxxResponse`, where `Xxx`
479 # is the original method name. For example, if the original method name
480 # is `TakeSnapshot()`, the inferred response type is
481 # `TakeSnapshotResponse`.
482 "a_key": "", # Properties of the object. Contains field @type with type URL.
483 },
484 "name": "A String", # The server-assigned name, which is only unique within the same service that
485 # originally returns it. If you use the default HTTP mapping, the
486 # `name` should be a resource name ending with `operations/{unique_id}`.
Dan O'Mearadd494642020-05-01 07:42:23 -0700487 "metadata": { # Service-specific metadata associated with the operation. It typically
488 # contains progress information and common metadata such as create time.
489 # Some services might not provide such metadata. Any method that returns a
490 # long-running operation should document the metadata type, if any.
491 "a_key": "", # Properties of the object. Contains field @type with type URL.
492 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700493 }</pre>
494</div>
495
496<div class="method">
497 <code class="details" id="get">get(name, x__xgafv=None)</code>
498 <pre>Get an existing environment.
499
500Args:
501 name: string, The resource name of the environment to get, in the form:
502"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
503 x__xgafv: string, V1 error format.
504 Allowed values
505 1 - v1 error format
506 2 - v2 error format
507
508Returns:
509 An object of the form:
510
511 { # An environment for running orchestration tasks.
Dan O'Mearadd494642020-05-01 07:42:23 -0700512 "updateTime": "A String", # Output only. The time at which this environment was last modified.
513 "name": "A String", # The resource name of the environment, in the form:
514 # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
515 #
516 # EnvironmentId must start with a lowercase letter followed by up to 63
517 # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700518 "labels": { # Optional. User-defined labels for this environment.
519 # The labels map can contain no more than 64 entries. Entries of the labels
520 # map are UTF8 strings that comply with the following restrictions:
521 #
522 # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
523 # * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
Dan O'Mearadd494642020-05-01 07:42:23 -0700524 # * Both keys and values are additionally constrained to be &lt;= 128 bytes in
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700525 # size.
526 "a_key": "A String",
527 },
528 "state": "A String", # The current state of the environment.
529 "config": { # Configuration information for an environment. # Configuration parameters for this environment.
Dan O'Mearadd494642020-05-01 07:42:23 -0700530 "dagGcsPrefix": "A String", # Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700531 # Storage objects reside in a flat namespace, a hierarchical file tree
532 # can be simulated using "/"-delimited object name prefixes. DAG objects for
533 # this environment reside in a simulated directory with the given prefix.
534 "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700535 "imageVersion": "A String", # The version of the software running in the environment.
536 # This encapsulates both the version of Cloud Composer functionality and the
537 # version of Apache Airflow. It must match the regular expression
538 # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
539 # When used as input, the server also checks if the provided version is
540 # supported and denies the request for an unsupported version.
541 #
542 # The Cloud Composer portion of the version is a
543 # [semantic version](https://semver.org) or `latest`. When the patch version
544 # is omitted, the current Cloud Composer patch version is selected.
545 # When `latest` is provided instead of an explicit version number,
546 # the server replaces `latest` with the current Cloud Composer version
547 # and stores that version number in the same field.
548 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700549 # The portion of the image version that follows &lt;em&gt;airflow-&lt;/em&gt; is an
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700550 # official Apache Airflow repository
551 # [release name](https://github.com/apache/incubator-airflow/releases).
552 #
553 # See also [Version
554 # List](/composer/docs/concepts/versioning/composer-versions).
Dan O'Mearadd494642020-05-01 07:42:23 -0700555 "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
556 # the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700557 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700558 # Keys refer to the lowercase package name such as "numpy"
559 # and values are the lowercase extras and version specifier such as
560 # "==1.12.0", "[devel,gcp_api]", or "[devel]&gt;=1.8.2, &lt;1.9.2". To specify a
561 # package without pinning it to a version specifier, use the empty string as
562 # the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700563 "a_key": "A String",
564 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700565 "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
566 # scheduler, worker, and webserver processes.
567 #
568 # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
569 # updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700570 "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
571 # scheduler, worker, and webserver processes.
572 #
573 # Environment variable names must match the regular expression
574 # `a-zA-Z_*`. They cannot specify Apache Airflow
575 # software configuration overrides (they cannot match the regular expression
576 # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
577 # following reserved names:
578 #
579 # * `AIRFLOW_HOME`
580 # * `C_FORCE_ROOT`
581 # * `CONTAINER_NAME`
582 # * `DAGS_FOLDER`
583 # * `GCP_PROJECT`
584 # * `GCS_BUCKET`
585 # * `GKE_CLUSTER_NAME`
586 # * `SQL_DATABASE`
587 # * `SQL_INSTANCE`
588 # * `SQL_PASSWORD`
589 # * `SQL_PROJECT`
590 # * `SQL_REGION`
591 # * `SQL_USER`
592 "a_key": "A String",
593 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700594 "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700595 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700596 # Property keys contain the section and property names, separated by a
597 # hyphen, for example "core-dags_are_paused_at_creation". Section names must
598 # not contain hyphens ("-"), opening square brackets ("["), or closing
599 # square brackets ("]"). The property name must not be empty and must not
600 # contain an equals sign ("=") or semicolon (";"). Section and property names
601 # must not contain a period ("."). Apache Airflow configuration property
602 # names must be written in
603 # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
604 # contain any character, and can be written in any lower/upper case format.
605 #
606 # Certain Apache Airflow configuration property values are
607 # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
608 # and cannot be overridden.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700609 "a_key": "A String",
610 },
611 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700612 "airflowUri": "A String", # Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700613 # [Airflow web
614 # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
Dan O'Mearadd494642020-05-01 07:42:23 -0700615 "webServerNetworkAccessControl": { # Network-level access control policy for the Airflow web server. # Optional. The network-level access control policy for the Airflow web server. If
616 # unspecified, no network-level access restrictions will be applied.
617 "allowedIpRanges": [ # A collection of allowed IP ranges with descriptions.
618 { # Allowed IP range with user-provided description.
619 "description": "A String", # Optional. User-provided description. It must contain at most 300 characters.
620 "value": "A String", # IP address or range, defined using CIDR notation, of requests that this
621 # rule applies to.
622 # Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32`
623 # or `2001:0db8:0000:0042:0000:8a2e:0370:7334`.
624 #
625 #
626 # &lt;p&gt;IP range prefixes should be properly truncated. For example,
627 # `1.2.3.4/24` should be truncated to `1.2.3.0/24`. Similarly, for IPv6,
628 # `2001:db8::1/32` should be truncated to `2001:db8::/32`.
629 },
630 ],
631 },
632 "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700633 "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
634 # the Apache Airflow software.
635 "machineType": "A String", # Optional. The Compute Engine
636 # [machine type](/compute/docs/machine-types) used for cluster instances,
637 # specified as a
638 # [relative resource
639 # name](/apis/design/resource_names#relative_resource_name). For example:
640 # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
641 #
642 # The `machineType` must belong to the enclosing environment's project and
643 # location. If both this field and `nodeConfig.location` are specified,
644 # this `machineType` must belong to the `nodeConfig.location`; if both are
645 # unspecified, the service will pick a zone in the Compute Engine region
646 # corresponding to the Cloud Composer location, and propagate that choice to
647 # both fields. If exactly one of this field and `nodeConfig.location` is
648 # specified, the location information from the specified field will be
649 # propagated to the unspecified field.
650 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700651 # The `machineTypeId` must not be a [shared-core machine
652 # type](/compute/docs/machine-types#sharedcore).
653 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700654 # If this field is unspecified, the `machineTypeId` defaults
655 # to "n1-standard-1".
656 "network": "A String", # Optional. The Compute Engine network to be used for machine
657 # communications, specified as a
658 # [relative resource
659 # name](/apis/design/resource_names#relative_resource_name). For example:
660 # "projects/{projectId}/global/networks/{networkId}".
661 #
662 # If unspecified, the default network in the environment's project is used.
663 # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
664 # is provided, `nodeConfig.subnetwork` must also be provided. For
665 # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
666 # `nodeConfig.subnetwork`.
667 "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
668 # to identify valid sources or targets for network firewalls. Each tag within
669 # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
670 # Cannot be updated.
671 "A String",
672 ],
673 "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
674 # VMs. If a service account is not specified, the "default" Compute Engine
675 # service account is used. Cannot be updated.
676 "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
677 # node VMs. If `oauth_scopes` is empty, defaults to
678 # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
679 "A String",
680 ],
681 "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
682 # If unspecified, defaults to 100GB. Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700683 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
684 # GKE cluster.
685 "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
686 # the cluster.
687 #
688 # This field is applicable only when `use_ip_aliases` is true.
689 #
690 # Set to blank to have GKE choose a range with the default size.
691 #
692 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
693 # netmask.
694 #
695 # Set to a
696 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
697 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
698 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
699 # to use.
700 # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
701 # but not both.
702 "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
703 # cluster.
704 #
705 # This field is applicable only when `use_ip_aliases` is true.
706 #
707 # Set to blank to have GKE choose a range with the default size.
708 #
709 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
710 # netmask.
711 #
712 # Set to a
713 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
714 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
715 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
716 # to use.
717 # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
718 # but not both.
719 "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
720 # IP addresses to the cluster. Specify either `services_secondary_range_name`
721 # or `services_ipv4_cidr_block` but not both.
722 #
723 # This field is applicable only when `use_ip_aliases` is true.
724 "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
725 # If `true`, a VPC-native cluster is created.
726 "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
727 # IP addresses to pods. Specify either `cluster_secondary_range_name`
728 # or `cluster_ipv4_cidr_block` but not both.
729 #
730 # This field is applicable only when `use_ip_aliases` is true.
731 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700732 "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
733 # communications, specified as a
734 # [relative resource
735 # name](/apis/design/resource_names#relative_resource_name). For example:
736 # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
737 #
738 # If a subnetwork is provided, `nodeConfig.network` must also be provided,
739 # and the subnetwork must belong to the enclosing environment's project and
740 # location.
741 "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
742 # to deploy the VMs used to run the Apache Airflow software, specified as a
743 # [relative resource
744 # name](/apis/design/resource_names#relative_resource_name). For example:
745 # "projects/{projectId}/zones/{zoneId}".
746 #
747 # This `location` must belong to the enclosing environment's project and
748 # location. If both this field and `nodeConfig.machineType` are specified,
749 # `nodeConfig.machineType` must belong to this `location`; if both are
750 # unspecified, the service will pick a zone in the Compute Engine region
751 # corresponding to the Cloud Composer location, and propagate that choice to
752 # both fields. If only one field (`location` or `nodeConfig.machineType`) is
753 # specified, the location information from the specified field will be
754 # propagated to the unspecified field.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700755 },
756 "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
757 # used to run this environment.
758 "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
759 # environment.
Dan O'Mearadd494642020-05-01 07:42:23 -0700760 "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for
761 # Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block
762 "webServerIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for web server will be reserved. Needs
763 # to be disjoint from private_cluster_config.master_ipv4_cidr_block and
764 # cloud_sql_ipv4_cidr_block.
765 "webServerIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's App Engine VMs.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700766 "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
767 # If this field is true, `use_ip_aliases` must be true.
768 "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
769 # Cloud Composer environment.
770 # environment.
771 "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
772 # denied.
Dan O'Mearadd494642020-05-01 07:42:23 -0700773 "masterIpv4ReservedRange": "A String", # Output only. The IP range in CIDR notation to use for the hosted master network. This
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700774 # range is used for assigning internal IP addresses to the cluster
775 # master or set of masters and to the internal load balancer virtual IP.
776 # This range must not overlap with any other ranges in use
Dan O'Mearadd494642020-05-01 07:42:23 -0700777 # within the cluster's network.
778 "masterIpv4CidrBlock": "A String", # Optional. The CIDR block from which IPv4 range for GKE master will be reserved. If
779 # left blank, the default value of '172.16.0.0/23' is used.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700780 },
781 },
782 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700783 "createTime": "A String", # Output only. The time at which this environment was created.
784 "uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment.
785 # This value is generated when the environment is created.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700786 }</pre>
787</div>
788
789<div class="method">
790 <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</code>
791 <pre>List environments.
792
793Args:
794 parent: string, List environments in the given project and location, in the form:
795"projects/{projectId}/locations/{locationId}" (required)
796 pageToken: string, The next_page_token value returned from a previous List request, if any.
797 x__xgafv: string, V1 error format.
798 Allowed values
799 1 - v1 error format
800 2 - v2 error format
801 pageSize: integer, The maximum number of environments to return.
802
803Returns:
804 An object of the form:
805
806 { # The environments in a project and location.
807 "nextPageToken": "A String", # The page token used to query for the next page if one exists.
808 "environments": [ # The list of environments returned by a ListEnvironmentsRequest.
809 { # An environment for running orchestration tasks.
Dan O'Mearadd494642020-05-01 07:42:23 -0700810 "updateTime": "A String", # Output only. The time at which this environment was last modified.
811 "name": "A String", # The resource name of the environment, in the form:
812 # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
813 #
814 # EnvironmentId must start with a lowercase letter followed by up to 63
815 # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700816 "labels": { # Optional. User-defined labels for this environment.
817 # The labels map can contain no more than 64 entries. Entries of the labels
818 # map are UTF8 strings that comply with the following restrictions:
819 #
820 # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
821 # * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
Dan O'Mearadd494642020-05-01 07:42:23 -0700822 # * Both keys and values are additionally constrained to be &lt;= 128 bytes in
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700823 # size.
824 "a_key": "A String",
825 },
826 "state": "A String", # The current state of the environment.
827 "config": { # Configuration information for an environment. # Configuration parameters for this environment.
Dan O'Mearadd494642020-05-01 07:42:23 -0700828 "dagGcsPrefix": "A String", # Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700829 # Storage objects reside in a flat namespace, a hierarchical file tree
830 # can be simulated using "/"-delimited object name prefixes. DAG objects for
831 # this environment reside in a simulated directory with the given prefix.
832 "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700833 "imageVersion": "A String", # The version of the software running in the environment.
834 # This encapsulates both the version of Cloud Composer functionality and the
835 # version of Apache Airflow. It must match the regular expression
836 # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
837 # When used as input, the server also checks if the provided version is
838 # supported and denies the request for an unsupported version.
839 #
840 # The Cloud Composer portion of the version is a
841 # [semantic version](https://semver.org) or `latest`. When the patch version
842 # is omitted, the current Cloud Composer patch version is selected.
843 # When `latest` is provided instead of an explicit version number,
844 # the server replaces `latest` with the current Cloud Composer version
845 # and stores that version number in the same field.
846 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700847 # The portion of the image version that follows &lt;em&gt;airflow-&lt;/em&gt; is an
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700848 # official Apache Airflow repository
849 # [release name](https://github.com/apache/incubator-airflow/releases).
850 #
851 # See also [Version
852 # List](/composer/docs/concepts/versioning/composer-versions).
Dan O'Mearadd494642020-05-01 07:42:23 -0700853 "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
854 # the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700855 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700856 # Keys refer to the lowercase package name such as "numpy"
857 # and values are the lowercase extras and version specifier such as
858 # "==1.12.0", "[devel,gcp_api]", or "[devel]&gt;=1.8.2, &lt;1.9.2". To specify a
859 # package without pinning it to a version specifier, use the empty string as
860 # the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700861 "a_key": "A String",
862 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700863 "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
864 # scheduler, worker, and webserver processes.
865 #
866 # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
867 # updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700868 "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
869 # scheduler, worker, and webserver processes.
870 #
871 # Environment variable names must match the regular expression
872 # `a-zA-Z_*`. They cannot specify Apache Airflow
873 # software configuration overrides (they cannot match the regular expression
874 # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
875 # following reserved names:
876 #
877 # * `AIRFLOW_HOME`
878 # * `C_FORCE_ROOT`
879 # * `CONTAINER_NAME`
880 # * `DAGS_FOLDER`
881 # * `GCP_PROJECT`
882 # * `GCS_BUCKET`
883 # * `GKE_CLUSTER_NAME`
884 # * `SQL_DATABASE`
885 # * `SQL_INSTANCE`
886 # * `SQL_PASSWORD`
887 # * `SQL_PROJECT`
888 # * `SQL_REGION`
889 # * `SQL_USER`
890 "a_key": "A String",
891 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700892 "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700893 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700894 # Property keys contain the section and property names, separated by a
895 # hyphen, for example "core-dags_are_paused_at_creation". Section names must
896 # not contain hyphens ("-"), opening square brackets ("["), or closing
897 # square brackets ("]"). The property name must not be empty and must not
898 # contain an equals sign ("=") or semicolon (";"). Section and property names
899 # must not contain a period ("."). Apache Airflow configuration property
900 # names must be written in
901 # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
902 # contain any character, and can be written in any lower/upper case format.
903 #
904 # Certain Apache Airflow configuration property values are
905 # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
906 # and cannot be overridden.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700907 "a_key": "A String",
908 },
909 },
Dan O'Mearadd494642020-05-01 07:42:23 -0700910 "airflowUri": "A String", # Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700911 # [Airflow web
912 # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
Dan O'Mearadd494642020-05-01 07:42:23 -0700913 "webServerNetworkAccessControl": { # Network-level access control policy for the Airflow web server. # Optional. The network-level access control policy for the Airflow web server. If
914 # unspecified, no network-level access restrictions will be applied.
915 "allowedIpRanges": [ # A collection of allowed IP ranges with descriptions.
916 { # Allowed IP range with user-provided description.
917 "description": "A String", # Optional. User-provided description. It must contain at most 300 characters.
918 "value": "A String", # IP address or range, defined using CIDR notation, of requests that this
919 # rule applies to.
920 # Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32`
921 # or `2001:0db8:0000:0042:0000:8a2e:0370:7334`.
922 #
923 #
924 # &lt;p&gt;IP range prefixes should be properly truncated. For example,
925 # `1.2.3.4/24` should be truncated to `1.2.3.0/24`. Similarly, for IPv6,
926 # `2001:db8::1/32` should be truncated to `2001:db8::/32`.
927 },
928 ],
929 },
930 "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700931 "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
932 # the Apache Airflow software.
933 "machineType": "A String", # Optional. The Compute Engine
934 # [machine type](/compute/docs/machine-types) used for cluster instances,
935 # specified as a
936 # [relative resource
937 # name](/apis/design/resource_names#relative_resource_name). For example:
938 # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
939 #
940 # The `machineType` must belong to the enclosing environment's project and
941 # location. If both this field and `nodeConfig.location` are specified,
942 # this `machineType` must belong to the `nodeConfig.location`; if both are
943 # unspecified, the service will pick a zone in the Compute Engine region
944 # corresponding to the Cloud Composer location, and propagate that choice to
945 # both fields. If exactly one of this field and `nodeConfig.location` is
946 # specified, the location information from the specified field will be
947 # propagated to the unspecified field.
948 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700949 # The `machineTypeId` must not be a [shared-core machine
950 # type](/compute/docs/machine-types#sharedcore).
951 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700952 # If this field is unspecified, the `machineTypeId` defaults
953 # to "n1-standard-1".
954 "network": "A String", # Optional. The Compute Engine network to be used for machine
955 # communications, specified as a
956 # [relative resource
957 # name](/apis/design/resource_names#relative_resource_name). For example:
958 # "projects/{projectId}/global/networks/{networkId}".
959 #
960 # If unspecified, the default network in the environment's project is used.
961 # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
962 # is provided, `nodeConfig.subnetwork` must also be provided. For
963 # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
964 # `nodeConfig.subnetwork`.
965 "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
966 # to identify valid sources or targets for network firewalls. Each tag within
967 # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
968 # Cannot be updated.
969 "A String",
970 ],
971 "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
972 # VMs. If a service account is not specified, the "default" Compute Engine
973 # service account is used. Cannot be updated.
974 "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
975 # node VMs. If `oauth_scopes` is empty, defaults to
976 # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
977 "A String",
978 ],
979 "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
980 # If unspecified, defaults to 100GB. Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700981 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
982 # GKE cluster.
983 "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
984 # the cluster.
985 #
986 # This field is applicable only when `use_ip_aliases` is true.
987 #
988 # Set to blank to have GKE choose a range with the default size.
989 #
990 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
991 # netmask.
992 #
993 # Set to a
994 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
995 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
996 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
997 # to use.
998 # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
999 # but not both.
1000 "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
1001 # cluster.
1002 #
1003 # This field is applicable only when `use_ip_aliases` is true.
1004 #
1005 # Set to blank to have GKE choose a range with the default size.
1006 #
1007 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1008 # netmask.
1009 #
1010 # Set to a
1011 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1012 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1013 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1014 # to use.
1015 # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
1016 # but not both.
1017 "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
1018 # IP addresses to the cluster. Specify either `services_secondary_range_name`
1019 # or `services_ipv4_cidr_block` but not both.
1020 #
1021 # This field is applicable only when `use_ip_aliases` is true.
1022 "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
1023 # If `true`, a VPC-native cluster is created.
1024 "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
1025 # IP addresses to pods. Specify either `cluster_secondary_range_name`
1026 # or `cluster_ipv4_cidr_block` but not both.
1027 #
1028 # This field is applicable only when `use_ip_aliases` is true.
1029 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001030 "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
1031 # communications, specified as a
1032 # [relative resource
1033 # name](/apis/design/resource_names#relative_resource_name). For example:
1034 # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
1035 #
1036 # If a subnetwork is provided, `nodeConfig.network` must also be provided,
1037 # and the subnetwork must belong to the enclosing environment's project and
1038 # location.
1039 "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
1040 # to deploy the VMs used to run the Apache Airflow software, specified as a
1041 # [relative resource
1042 # name](/apis/design/resource_names#relative_resource_name). For example:
1043 # "projects/{projectId}/zones/{zoneId}".
1044 #
1045 # This `location` must belong to the enclosing environment's project and
1046 # location. If both this field and `nodeConfig.machineType` are specified,
1047 # `nodeConfig.machineType` must belong to this `location`; if both are
1048 # unspecified, the service will pick a zone in the Compute Engine region
1049 # corresponding to the Cloud Composer location, and propagate that choice to
1050 # both fields. If only one field (`location` or `nodeConfig.machineType`) is
1051 # specified, the location information from the specified field will be
1052 # propagated to the unspecified field.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001053 },
1054 "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
1055 # used to run this environment.
1056 "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
1057 # environment.
Dan O'Mearadd494642020-05-01 07:42:23 -07001058 "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for
1059 # Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block
1060 "webServerIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for web server will be reserved. Needs
1061 # to be disjoint from private_cluster_config.master_ipv4_cidr_block and
1062 # cloud_sql_ipv4_cidr_block.
1063 "webServerIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's App Engine VMs.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001064 "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
1065 # If this field is true, `use_ip_aliases` must be true.
1066 "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
1067 # Cloud Composer environment.
1068 # environment.
1069 "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
1070 # denied.
Dan O'Mearadd494642020-05-01 07:42:23 -07001071 "masterIpv4ReservedRange": "A String", # Output only. The IP range in CIDR notation to use for the hosted master network. This
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001072 # range is used for assigning internal IP addresses to the cluster
1073 # master or set of masters and to the internal load balancer virtual IP.
1074 # This range must not overlap with any other ranges in use
Dan O'Mearadd494642020-05-01 07:42:23 -07001075 # within the cluster's network.
1076 "masterIpv4CidrBlock": "A String", # Optional. The CIDR block from which IPv4 range for GKE master will be reserved. If
1077 # left blank, the default value of '172.16.0.0/23' is used.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001078 },
1079 },
1080 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001081 "createTime": "A String", # Output only. The time at which this environment was created.
1082 "uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment.
1083 # This value is generated when the environment is created.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001084 },
1085 ],
1086 }</pre>
1087</div>
1088
1089<div class="method">
1090 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
1091 <pre>Retrieves the next page of results.
1092
1093Args:
1094 previous_request: The request for the previous page. (required)
1095 previous_response: The response from the request for the previous page. (required)
1096
1097Returns:
1098 A request object that you can call 'execute()' on to request the next
1099 page. Returns None if there are no more items in the collection.
1100 </pre>
1101</div>
1102
1103<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001104 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001105 <pre>Update an environment.
1106
1107Args:
1108 name: string, The relative resource name of the environment to update, in the form:
1109"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07001110 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001111 The object takes the form of:
1112
1113{ # An environment for running orchestration tasks.
Dan O'Mearadd494642020-05-01 07:42:23 -07001114 "updateTime": "A String", # Output only. The time at which this environment was last modified.
1115 "name": "A String", # The resource name of the environment, in the form:
1116 # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
1117 #
1118 # EnvironmentId must start with a lowercase letter followed by up to 63
1119 # lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001120 "labels": { # Optional. User-defined labels for this environment.
1121 # The labels map can contain no more than 64 entries. Entries of the labels
1122 # map are UTF8 strings that comply with the following restrictions:
1123 #
1124 # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
1125 # * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
Dan O'Mearadd494642020-05-01 07:42:23 -07001126 # * Both keys and values are additionally constrained to be &lt;= 128 bytes in
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001127 # size.
1128 "a_key": "A String",
1129 },
1130 "state": "A String", # The current state of the environment.
1131 "config": { # Configuration information for an environment. # Configuration parameters for this environment.
Dan O'Mearadd494642020-05-01 07:42:23 -07001132 "dagGcsPrefix": "A String", # Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001133 # Storage objects reside in a flat namespace, a hierarchical file tree
1134 # can be simulated using "/"-delimited object name prefixes. DAG objects for
1135 # this environment reside in a simulated directory with the given prefix.
1136 "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001137 "imageVersion": "A String", # The version of the software running in the environment.
1138 # This encapsulates both the version of Cloud Composer functionality and the
1139 # version of Apache Airflow. It must match the regular expression
1140 # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
1141 # When used as input, the server also checks if the provided version is
1142 # supported and denies the request for an unsupported version.
1143 #
1144 # The Cloud Composer portion of the version is a
1145 # [semantic version](https://semver.org) or `latest`. When the patch version
1146 # is omitted, the current Cloud Composer patch version is selected.
1147 # When `latest` is provided instead of an explicit version number,
1148 # the server replaces `latest` with the current Cloud Composer version
1149 # and stores that version number in the same field.
1150 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001151 # The portion of the image version that follows &lt;em&gt;airflow-&lt;/em&gt; is an
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001152 # official Apache Airflow repository
1153 # [release name](https://github.com/apache/incubator-airflow/releases).
1154 #
1155 # See also [Version
1156 # List](/composer/docs/concepts/versioning/composer-versions).
Dan O'Mearadd494642020-05-01 07:42:23 -07001157 "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
1158 # the environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001159 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001160 # Keys refer to the lowercase package name such as "numpy"
1161 # and values are the lowercase extras and version specifier such as
1162 # "==1.12.0", "[devel,gcp_api]", or "[devel]&gt;=1.8.2, &lt;1.9.2". To specify a
1163 # package without pinning it to a version specifier, use the empty string as
1164 # the value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001165 "a_key": "A String",
1166 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001167 "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
1168 # scheduler, worker, and webserver processes.
1169 #
1170 # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
1171 # updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001172 "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
1173 # scheduler, worker, and webserver processes.
1174 #
1175 # Environment variable names must match the regular expression
1176 # `a-zA-Z_*`. They cannot specify Apache Airflow
1177 # software configuration overrides (they cannot match the regular expression
1178 # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
1179 # following reserved names:
1180 #
1181 # * `AIRFLOW_HOME`
1182 # * `C_FORCE_ROOT`
1183 # * `CONTAINER_NAME`
1184 # * `DAGS_FOLDER`
1185 # * `GCP_PROJECT`
1186 # * `GCS_BUCKET`
1187 # * `GKE_CLUSTER_NAME`
1188 # * `SQL_DATABASE`
1189 # * `SQL_INSTANCE`
1190 # * `SQL_PASSWORD`
1191 # * `SQL_PROJECT`
1192 # * `SQL_REGION`
1193 # * `SQL_USER`
1194 "a_key": "A String",
1195 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001196 "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001197 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001198 # Property keys contain the section and property names, separated by a
1199 # hyphen, for example "core-dags_are_paused_at_creation". Section names must
1200 # not contain hyphens ("-"), opening square brackets ("["), or closing
1201 # square brackets ("]"). The property name must not be empty and must not
1202 # contain an equals sign ("=") or semicolon (";"). Section and property names
1203 # must not contain a period ("."). Apache Airflow configuration property
1204 # names must be written in
1205 # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
1206 # contain any character, and can be written in any lower/upper case format.
1207 #
1208 # Certain Apache Airflow configuration property values are
1209 # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
1210 # and cannot be overridden.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001211 "a_key": "A String",
1212 },
1213 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001214 "airflowUri": "A String", # Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001215 # [Airflow web
1216 # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
Dan O'Mearadd494642020-05-01 07:42:23 -07001217 "webServerNetworkAccessControl": { # Network-level access control policy for the Airflow web server. # Optional. The network-level access control policy for the Airflow web server. If
1218 # unspecified, no network-level access restrictions will be applied.
1219 "allowedIpRanges": [ # A collection of allowed IP ranges with descriptions.
1220 { # Allowed IP range with user-provided description.
1221 "description": "A String", # Optional. User-provided description. It must contain at most 300 characters.
1222 "value": "A String", # IP address or range, defined using CIDR notation, of requests that this
1223 # rule applies to.
1224 # Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32`
1225 # or `2001:0db8:0000:0042:0000:8a2e:0370:7334`.
1226 #
1227 #
1228 # &lt;p&gt;IP range prefixes should be properly truncated. For example,
1229 # `1.2.3.4/24` should be truncated to `1.2.3.0/24`. Similarly, for IPv6,
1230 # `2001:db8::1/32` should be truncated to `2001:db8::/32`.
1231 },
1232 ],
1233 },
1234 "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001235 "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
1236 # the Apache Airflow software.
1237 "machineType": "A String", # Optional. The Compute Engine
1238 # [machine type](/compute/docs/machine-types) used for cluster instances,
1239 # specified as a
1240 # [relative resource
1241 # name](/apis/design/resource_names#relative_resource_name). For example:
1242 # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
1243 #
1244 # The `machineType` must belong to the enclosing environment's project and
1245 # location. If both this field and `nodeConfig.location` are specified,
1246 # this `machineType` must belong to the `nodeConfig.location`; if both are
1247 # unspecified, the service will pick a zone in the Compute Engine region
1248 # corresponding to the Cloud Composer location, and propagate that choice to
1249 # both fields. If exactly one of this field and `nodeConfig.location` is
1250 # specified, the location information from the specified field will be
1251 # propagated to the unspecified field.
1252 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001253 # The `machineTypeId` must not be a [shared-core machine
1254 # type](/compute/docs/machine-types#sharedcore).
1255 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001256 # If this field is unspecified, the `machineTypeId` defaults
1257 # to "n1-standard-1".
1258 "network": "A String", # Optional. The Compute Engine network to be used for machine
1259 # communications, specified as a
1260 # [relative resource
1261 # name](/apis/design/resource_names#relative_resource_name). For example:
1262 # "projects/{projectId}/global/networks/{networkId}".
1263 #
1264 # If unspecified, the default network in the environment's project is used.
1265 # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
1266 # is provided, `nodeConfig.subnetwork` must also be provided. For
1267 # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
1268 # `nodeConfig.subnetwork`.
1269 "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
1270 # to identify valid sources or targets for network firewalls. Each tag within
1271 # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
1272 # Cannot be updated.
1273 "A String",
1274 ],
1275 "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
1276 # VMs. If a service account is not specified, the "default" Compute Engine
1277 # service account is used. Cannot be updated.
1278 "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
1279 # node VMs. If `oauth_scopes` is empty, defaults to
1280 # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
1281 "A String",
1282 ],
1283 "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
1284 # If unspecified, defaults to 100GB. Cannot be updated.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001285 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
1286 # GKE cluster.
1287 "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
1288 # the cluster.
1289 #
1290 # This field is applicable only when `use_ip_aliases` is true.
1291 #
1292 # Set to blank to have GKE choose a range with the default size.
1293 #
1294 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1295 # netmask.
1296 #
1297 # Set to a
1298 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1299 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1300 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1301 # to use.
1302 # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
1303 # but not both.
1304 "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
1305 # cluster.
1306 #
1307 # This field is applicable only when `use_ip_aliases` is true.
1308 #
1309 # Set to blank to have GKE choose a range with the default size.
1310 #
1311 # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1312 # netmask.
1313 #
1314 # Set to a
1315 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1316 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1317 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1318 # to use.
1319 # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
1320 # but not both.
1321 "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
1322 # IP addresses to the cluster. Specify either `services_secondary_range_name`
1323 # or `services_ipv4_cidr_block` but not both.
1324 #
1325 # This field is applicable only when `use_ip_aliases` is true.
1326 "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
1327 # If `true`, a VPC-native cluster is created.
1328 "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
1329 # IP addresses to pods. Specify either `cluster_secondary_range_name`
1330 # or `cluster_ipv4_cidr_block` but not both.
1331 #
1332 # This field is applicable only when `use_ip_aliases` is true.
1333 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001334 "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
1335 # communications, specified as a
1336 # [relative resource
1337 # name](/apis/design/resource_names#relative_resource_name). For example:
1338 # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
1339 #
1340 # If a subnetwork is provided, `nodeConfig.network` must also be provided,
1341 # and the subnetwork must belong to the enclosing environment's project and
1342 # location.
1343 "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
1344 # to deploy the VMs used to run the Apache Airflow software, specified as a
1345 # [relative resource
1346 # name](/apis/design/resource_names#relative_resource_name). For example:
1347 # "projects/{projectId}/zones/{zoneId}".
1348 #
1349 # This `location` must belong to the enclosing environment's project and
1350 # location. If both this field and `nodeConfig.machineType` are specified,
1351 # `nodeConfig.machineType` must belong to this `location`; if both are
1352 # unspecified, the service will pick a zone in the Compute Engine region
1353 # corresponding to the Cloud Composer location, and propagate that choice to
1354 # both fields. If only one field (`location` or `nodeConfig.machineType`) is
1355 # specified, the location information from the specified field will be
1356 # propagated to the unspecified field.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001357 },
1358 "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
1359 # used to run this environment.
1360 "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
1361 # environment.
Dan O'Mearadd494642020-05-01 07:42:23 -07001362 "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for
1363 # Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block
1364 "webServerIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for web server will be reserved. Needs
1365 # to be disjoint from private_cluster_config.master_ipv4_cidr_block and
1366 # cloud_sql_ipv4_cidr_block.
1367 "webServerIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's App Engine VMs.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001368 "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
1369 # If this field is true, `use_ip_aliases` must be true.
1370 "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
1371 # Cloud Composer environment.
1372 # environment.
1373 "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
1374 # denied.
Dan O'Mearadd494642020-05-01 07:42:23 -07001375 "masterIpv4ReservedRange": "A String", # Output only. The IP range in CIDR notation to use for the hosted master network. This
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001376 # range is used for assigning internal IP addresses to the cluster
1377 # master or set of masters and to the internal load balancer virtual IP.
1378 # This range must not overlap with any other ranges in use
Dan O'Mearadd494642020-05-01 07:42:23 -07001379 # within the cluster's network.
1380 "masterIpv4CidrBlock": "A String", # Optional. The CIDR block from which IPv4 range for GKE master will be reserved. If
1381 # left blank, the default value of '172.16.0.0/23' is used.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001382 },
1383 },
1384 },
Dan O'Mearadd494642020-05-01 07:42:23 -07001385 "createTime": "A String", # Output only. The time at which this environment was created.
1386 "uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment.
1387 # This value is generated when the environment is created.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001388 }
1389
1390 updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of
1391fields to update.
1392For example, to set the version of scikit-learn to install in the
1393environment to 0.19.0 and to remove an existing installation of
1394argparse, the `updateMask` parameter would include the following two
1395`paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and
1396"config.softwareConfig.pypiPackages.argparse". The included patch
1397environment would specify the scikit-learn version as follows:
1398
1399 {
1400 "config":{
1401 "softwareConfig":{
1402 "pypiPackages":{
1403 "scikit-learn":"==0.19.0"
1404 }
1405 }
1406 }
1407 }
1408
1409Note that in the above example, any existing PyPI packages
1410other than scikit-learn and argparse will be unaffected.
1411
1412Only one update type may be included in a single request's `updateMask`.
1413For example, one cannot update both the PyPI packages and
1414labels in the same request. However, it is possible to update multiple
1415members of a map field simultaneously in the same request. For example,
1416to set the labels "label1" and "label2" while clearing "label3" (assuming
1417it already exists), one can
1418provide the paths "labels.label1", "labels.label2", and "labels.label3"
1419and populate the patch environment as follows:
1420
1421 {
1422 "labels":{
1423 "label1":"new-label1-value"
1424 "label2":"new-label2-value"
1425 }
1426 }
1427
1428Note that in the above example, any existing labels that are not
1429included in the `updateMask` will be unaffected.
1430
1431It is also possible to replace an entire map field by providing the
1432map field's path in the `updateMask`. The new value of the field will
1433be that which is provided in the patch environment. For example, to
1434delete all pre-existing user-specified PyPI packages and
1435install botocore at version 1.7.14, the `updateMask` would contain
1436the path "config.softwareConfig.pypiPackages", and
1437the patch environment would be the following:
1438
1439 {
1440 "config":{
1441 "softwareConfig":{
1442 "pypiPackages":{
1443 "botocore":"==1.7.14"
1444 }
1445 }
1446 }
1447 }
1448
Dan O'Mearadd494642020-05-01 07:42:23 -07001449&lt;strong&gt;Note:&lt;/strong&gt; Only the following fields can be updated:
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001450
Dan O'Mearadd494642020-05-01 07:42:23 -07001451 &lt;table&gt;
1452 &lt;tbody&gt;
1453 &lt;tr&gt;
1454 &lt;td&gt;&lt;strong&gt;Mask&lt;/strong&gt;&lt;/td&gt;
1455 &lt;td&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/td&gt;
1456 &lt;/tr&gt;
1457 &lt;tr&gt;
1458 &lt;td&gt;config.softwareConfig.pypiPackages
1459 &lt;/td&gt;
1460 &lt;td&gt;Replace all custom custom PyPI packages. If a replacement
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001461 package map is not included in `environment`, all custom
1462 PyPI packages are cleared. It is an error to provide both this mask and a
Dan O'Mearadd494642020-05-01 07:42:23 -07001463 mask specifying an individual package.&lt;/td&gt;
1464 &lt;/tr&gt;
1465 &lt;tr&gt;
1466 &lt;td&gt;config.softwareConfig.pypiPackages.&lt;var&gt;packagename&lt;/var&gt;&lt;/td&gt;
1467 &lt;td&gt;Update the custom PyPI package &lt;var&gt;packagename&lt;/var&gt;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001468 preserving other packages. To delete the package, include it in
1469 `updateMask`, and omit the mapping for it in
1470 `environment.config.softwareConfig.pypiPackages`. It is an error
1471 to provide both a mask of this form and the
Dan O'Mearadd494642020-05-01 07:42:23 -07001472 "config.softwareConfig.pypiPackages" mask.&lt;/td&gt;
1473 &lt;/tr&gt;
1474 &lt;tr&gt;
1475 &lt;td&gt;labels&lt;/td&gt;
1476 &lt;td&gt;Replace all environment labels. If a replacement labels map is not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001477 included in `environment`, all labels are cleared. It is an error to
1478 provide both this mask and a mask specifying one or more individual
Dan O'Mearadd494642020-05-01 07:42:23 -07001479 labels.&lt;/td&gt;
1480 &lt;/tr&gt;
1481 &lt;tr&gt;
1482 &lt;td&gt;labels.&lt;var&gt;labelName&lt;/var&gt;&lt;/td&gt;
1483 &lt;td&gt;Set the label named &lt;var&gt;labelName&lt;/var&gt;, while preserving other
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001484 labels. To delete the label, include it in `updateMask` and omit its
1485 mapping in `environment.labels`. It is an error to provide both a
Dan O'Mearadd494642020-05-01 07:42:23 -07001486 mask of this form and the "labels" mask.&lt;/td&gt;
1487 &lt;/tr&gt;
1488 &lt;tr&gt;
1489 &lt;td&gt;config.nodeCount&lt;/td&gt;
1490 &lt;td&gt;Horizontally scale the number of nodes in the environment. An integer
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001491 greater than or equal to 3 must be provided in the `config.nodeCount`
1492 field.
Dan O'Mearadd494642020-05-01 07:42:23 -07001493 &lt;/td&gt;
1494 &lt;/tr&gt;
1495 &lt;tr&gt;
1496 &lt;td&gt;config.softwareConfig.airflowConfigOverrides&lt;/td&gt;
1497 &lt;td&gt;Replace all Apache Airflow config overrides. If a replacement config
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001498 overrides map is not included in `environment`, all config overrides
1499 are cleared.
1500 It is an error to provide both this mask and a mask specifying one or
Dan O'Mearadd494642020-05-01 07:42:23 -07001501 more individual config overrides.&lt;/td&gt;
1502 &lt;/tr&gt;
1503 &lt;tr&gt;
1504 &lt;td&gt;config.softwareConfig.airflowConfigOverrides.&lt;var&gt;section&lt;/var&gt;-&lt;var&gt;name
1505 &lt;/var&gt;&lt;/td&gt;
1506 &lt;td&gt;Override the Apache Airflow config property &lt;var&gt;name&lt;/var&gt; in the
1507 section named &lt;var&gt;section&lt;/var&gt;, preserving other properties. To delete
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001508 the property override, include it in `updateMask` and omit its mapping
1509 in `environment.config.softwareConfig.airflowConfigOverrides`.
1510 It is an error to provide both a mask of this form and the
Dan O'Mearadd494642020-05-01 07:42:23 -07001511 "config.softwareConfig.airflowConfigOverrides" mask.&lt;/td&gt;
1512 &lt;/tr&gt;
1513 &lt;tr&gt;
1514 &lt;td&gt;config.softwareConfig.envVariables&lt;/td&gt;
1515 &lt;td&gt;Replace all environment variables. If a replacement environment
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001516 variable map is not included in `environment`, all custom environment
1517 variables are cleared.
1518 It is an error to provide both this mask and a mask specifying one or
Dan O'Mearadd494642020-05-01 07:42:23 -07001519 more individual environment variables.&lt;/td&gt;
1520 &lt;/tr&gt;
1521 &lt;tr&gt;
1522 &lt;td&gt;config.softwareConfig.imageVersion&lt;/td&gt;
1523 &lt;td&gt;Upgrade the version of the environment in-place. Refer to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001524 `SoftwareConfig.image_version` for information on how to format the new
1525 image version. Additionally, the new image version cannot effect a version
1526 downgrade and must match the current image version's Composer major
1527 version and Airflow major and minor versions. Consult the
Dan O'Mearadd494642020-05-01 07:42:23 -07001528 &lt;a href="/composer/docs/concepts/versioning/composer-versions"&gt;Cloud
1529 Composer Version List&lt;/a&gt; for valid values.&lt;/td&gt;
1530 &lt;/tr&gt;
1531 &lt;/tbody&gt;
1532 &lt;/table&gt;
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001533 x__xgafv: string, V1 error format.
1534 Allowed values
1535 1 - v1 error format
1536 2 - v2 error format
1537
1538Returns:
1539 An object of the form:
1540
1541 { # This resource represents a long-running operation that is the result of a
1542 # network API call.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001543 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1544 # different programming environments, including REST APIs and RPC APIs. It is
Dan O'Mearadd494642020-05-01 07:42:23 -07001545 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1546 # three pieces of data: error code, error message, and error details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001547 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001548 # You can find out more about this error model and how to work with it in the
1549 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001550 "message": "A String", # A developer-facing error message, which should be in English. Any
1551 # user-facing error message should be localized and sent in the
1552 # google.rpc.Status.details field, or localized by the client.
1553 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1554 "details": [ # A list of messages that carry the error details. There is a common set of
1555 # message types for APIs to use.
1556 {
1557 "a_key": "", # Properties of the object. Contains field @type with type URL.
1558 },
1559 ],
1560 },
1561 "done": True or False, # If the value is `false`, it means the operation is still in progress.
1562 # If `true`, the operation is completed, and either `error` or `response` is
1563 # available.
1564 "response": { # The normal response of the operation in case of success. If the original
1565 # method returns no data on success, such as `Delete`, the response is
1566 # `google.protobuf.Empty`. If the original method is standard
1567 # `Get`/`Create`/`Update`, the response should be the resource. For other
1568 # methods, the response should have the type `XxxResponse`, where `Xxx`
1569 # is the original method name. For example, if the original method name
1570 # is `TakeSnapshot()`, the inferred response type is
1571 # `TakeSnapshotResponse`.
1572 "a_key": "", # Properties of the object. Contains field @type with type URL.
1573 },
1574 "name": "A String", # The server-assigned name, which is only unique within the same service that
1575 # originally returns it. If you use the default HTTP mapping, the
1576 # `name` should be a resource name ending with `operations/{unique_id}`.
Dan O'Mearadd494642020-05-01 07:42:23 -07001577 "metadata": { # Service-specific metadata associated with the operation. It typically
1578 # contains progress information and common metadata such as create time.
1579 # Some services might not provide such metadata. Any method that returns a
1580 # long-running operation should document the metadata type, if any.
1581 "a_key": "", # Properties of the object. Contains field @type with type URL.
1582 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001583 }</pre>
1584</div>
1585
1586</body></html>