• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<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_v1.html">Cloud Composer API</a> . <a href="composer_v1.projects.html">projects</a> . <a href="composer_v1.projects.locations.html">locations</a> . <a href="composer_v1.projects.locations.environments.html">environments</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
79<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, pageSize=None, pageToken=None, x__xgafv=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">
93  <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
94<p class="firstline">Update an environment.</p>
95<h3>Method Details</h3>
96<div class="method">
97    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
98  <pre>Create a new environment.
99
100Args:
101  parent: string, The parent must be of the form
102"projects/{projectId}/locations/{locationId}". (required)
103  body: object, The request body. (required)
104    The object takes the form of:
105
106{ # An environment for running orchestration tasks.
107    "updateTime": "A String", # Output only.
108        # The time at which this environment was last modified.
109    "uuid": "A String", # Output only.
110        # The UUID (Universally Unique IDentifier) associated with this environment.
111        # This value is generated when the environment is created.
112    "labels": { # Optional. User-defined labels for this environment.
113        # The labels map can contain no more than 64 entries. Entries of the labels
114        # map are UTF8 strings that comply with the following restrictions:
115        #
116        # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
117        # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
118        # * Both keys and values are additionally constrained to be <= 128 bytes in
119        # size.
120      "a_key": "A String",
121    },
122    "state": "A String", # The current state of the environment.
123    "config": { # Configuration information for an environment. # Configuration parameters for this environment.
124      "dagGcsPrefix": "A String", # Output only.
125          # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
126          # 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.
130        "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            #
144            # The portion of the image version that follows <em>airflow-</em> is an
145            # 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).
150        "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
151            # the environment.
152            #
153            # 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]>=1.8.2, <1.9.2". To specify a
156            # package without pinning it to a version specifier, use the empty string as
157            # the value.
158          "a_key": "A String",
159        },
160        "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.
165        "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        },
189        "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
190            #
191            # 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.
204          "a_key": "A String",
205        },
206      },
207      "airflowUri": "A String", # Output only.
208          # The URI of the Apache Airflow Web UI hosted within this environment (see
209          # [Airflow web
210          # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
211      "gkeCluster": "A String", # Output only.
212          # The Kubernetes Engine cluster used to run this environment.
213      "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
214          # the Apache Airflow software.
215        "machineType": "A String", # Optional. The Compute Engine
216            # [machine type](/compute/docs/machine-types) used for cluster instances,
217            # specified as a
218            # [relative resource
219            # name](/apis/design/resource_names#relative_resource_name). For example:
220            # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
221            #
222            # The `machineType` must belong to the enclosing environment's project and
223            # location. If both this field and `nodeConfig.location` are specified,
224            # this `machineType` must belong to the `nodeConfig.location`; if both are
225            # unspecified, the service will pick a zone in the Compute Engine region
226            # corresponding to the Cloud Composer location, and propagate that choice to
227            # both fields. If exactly one of this field and `nodeConfig.location` is
228            # specified, the location information from the specified field will be
229            # propagated to the unspecified field.
230            #
231            # If this field is unspecified, the `machineTypeId` defaults
232            # to "n1-standard-1".
233        "network": "A String", # Optional. The Compute Engine network to be used for machine
234            # communications, specified as a
235            # [relative resource
236            # name](/apis/design/resource_names#relative_resource_name). For example:
237            # "projects/{projectId}/global/networks/{networkId}".
238            #
239            # [Shared VPC](/vpc/docs/shared-vpc) is not currently supported. The
240            # network must belong to the environment's project. If unspecified, the
241            # "default" network ID in the environment's project is used.  If a
242            # [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
243            # is provided, `nodeConfig.subnetwork` must also be provided.
244        "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
245            # to identify valid sources or targets for network firewalls. Each tag within
246            # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
247            # Cannot be updated.
248          "A String",
249        ],
250        "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
251            # VMs. If a service account is not specified, the "default" Compute Engine
252            # service account is used. Cannot be updated.
253        "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
254            # node VMs. If `oauth_scopes` is empty, defaults to
255            # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
256          "A String",
257        ],
258        "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
259            # If unspecified, defaults to 100GB. Cannot be updated.
260        "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
261            # to deploy the VMs used to run the Apache Airflow software, specified as a
262            # [relative resource
263            # name](/apis/design/resource_names#relative_resource_name). For example:
264            # "projects/{projectId}/zones/{zoneId}".
265            #
266            # This `location` must belong to the enclosing environment's project and
267            # location. If both this field and `nodeConfig.machineType` are specified,
268            # `nodeConfig.machineType` must belong to this `location`; if both are
269            # unspecified, the service will pick a zone in the Compute Engine region
270            # corresponding to the Cloud Composer location, and propagate that choice to
271            # both fields. If only one field (`location` or `nodeConfig.machineType`) is
272            # specified, the location information from the specified field will be
273            # propagated to the unspecified field.
274        "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
275            # communications, specified as a
276            # [relative resource
277            # name](/apis/design/resource_names#relative_resource_name). For example:
278            # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
279            #
280            # If a subnetwork is provided, `nodeConfig.network` must also be provided,
281            # and the subnetwork must belong to the enclosing environment's project and
282            # location.
283      },
284      "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
285          # used to run this environment.
286    },
287    "createTime": "A String", # Output only.
288        # The time at which this environment was created.
289    "name": "A String", # The resource name of the environment, in the form:
290        # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
291  }
292
293  x__xgafv: string, V1 error format.
294    Allowed values
295      1 - v1 error format
296      2 - v2 error format
297
298Returns:
299  An object of the form:
300
301    { # This resource represents a long-running operation that is the result of a
302      # network API call.
303    "metadata": { # Service-specific metadata associated with the operation.  It typically
304        # contains progress information and common metadata such as create time.
305        # Some services might not provide such metadata.  Any method that returns a
306        # long-running operation should document the metadata type, if any.
307      "a_key": "", # Properties of the object. Contains field @type with type URL.
308    },
309    "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.
310        # different programming environments, including REST APIs and RPC APIs. It is
311        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
312        #
313        # - Simple to use and understand for most users
314        # - Flexible enough to meet unexpected needs
315        #
316        # # Overview
317        #
318        # The `Status` message contains three pieces of data: error code, error
319        # message, and error details. The error code should be an enum value of
320        # google.rpc.Code, but it may accept additional error codes if needed.  The
321        # error message should be a developer-facing English message that helps
322        # developers *understand* and *resolve* the error. If a localized user-facing
323        # error message is needed, put the localized message in the error details or
324        # localize it in the client. The optional error details may contain arbitrary
325        # information about the error. There is a predefined set of error detail types
326        # in the package `google.rpc` that can be used for common error conditions.
327        #
328        # # Language mapping
329        #
330        # The `Status` message is the logical representation of the error model, but it
331        # is not necessarily the actual wire format. When the `Status` message is
332        # exposed in different client libraries and different wire protocols, it can be
333        # mapped differently. For example, it will likely be mapped to some exceptions
334        # in Java, but more likely mapped to some error codes in C.
335        #
336        # # Other uses
337        #
338        # The error model and the `Status` message can be used in a variety of
339        # environments, either with or without APIs, to provide a
340        # consistent developer experience across different environments.
341        #
342        # Example uses of this error model include:
343        #
344        # - Partial errors. If a service needs to return partial errors to the client,
345        #     it may embed the `Status` in the normal response to indicate the partial
346        #     errors.
347        #
348        # - Workflow errors. A typical workflow has multiple steps. Each step may
349        #     have a `Status` message for error reporting.
350        #
351        # - Batch operations. If a client uses batch request and batch response, the
352        #     `Status` message should be used directly inside batch response, one for
353        #     each error sub-response.
354        #
355        # - Asynchronous operations. If an API call embeds asynchronous operation
356        #     results in its response, the status of those operations should be
357        #     represented directly using the `Status` message.
358        #
359        # - Logging. If some API errors are stored in logs, the message `Status` could
360        #     be used directly after any stripping needed for security/privacy reasons.
361      "message": "A String", # A developer-facing error message, which should be in English. Any
362          # user-facing error message should be localized and sent in the
363          # google.rpc.Status.details field, or localized by the client.
364      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
365      "details": [ # A list of messages that carry the error details.  There is a common set of
366          # message types for APIs to use.
367        {
368          "a_key": "", # Properties of the object. Contains field @type with type URL.
369        },
370      ],
371    },
372    "done": True or False, # If the value is `false`, it means the operation is still in progress.
373        # If `true`, the operation is completed, and either `error` or `response` is
374        # available.
375    "response": { # The normal response of the operation in case of success.  If the original
376        # method returns no data on success, such as `Delete`, the response is
377        # `google.protobuf.Empty`.  If the original method is standard
378        # `Get`/`Create`/`Update`, the response should be the resource.  For other
379        # methods, the response should have the type `XxxResponse`, where `Xxx`
380        # is the original method name.  For example, if the original method name
381        # is `TakeSnapshot()`, the inferred response type is
382        # `TakeSnapshotResponse`.
383      "a_key": "", # Properties of the object. Contains field @type with type URL.
384    },
385    "name": "A String", # The server-assigned name, which is only unique within the same service that
386        # originally returns it. If you use the default HTTP mapping, the
387        # `name` should be a resource name ending with `operations/{unique_id}`.
388  }</pre>
389</div>
390
391<div class="method">
392    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
393  <pre>Delete an environment.
394
395Args:
396  name: string, The environment to delete, in the form:
397"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
398  x__xgafv: string, V1 error format.
399    Allowed values
400      1 - v1 error format
401      2 - v2 error format
402
403Returns:
404  An object of the form:
405
406    { # This resource represents a long-running operation that is the result of a
407      # network API call.
408    "metadata": { # Service-specific metadata associated with the operation.  It typically
409        # contains progress information and common metadata such as create time.
410        # Some services might not provide such metadata.  Any method that returns a
411        # long-running operation should document the metadata type, if any.
412      "a_key": "", # Properties of the object. Contains field @type with type URL.
413    },
414    "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.
415        # different programming environments, including REST APIs and RPC APIs. It is
416        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
417        #
418        # - Simple to use and understand for most users
419        # - Flexible enough to meet unexpected needs
420        #
421        # # Overview
422        #
423        # The `Status` message contains three pieces of data: error code, error
424        # message, and error details. The error code should be an enum value of
425        # google.rpc.Code, but it may accept additional error codes if needed.  The
426        # error message should be a developer-facing English message that helps
427        # developers *understand* and *resolve* the error. If a localized user-facing
428        # error message is needed, put the localized message in the error details or
429        # localize it in the client. The optional error details may contain arbitrary
430        # information about the error. There is a predefined set of error detail types
431        # in the package `google.rpc` that can be used for common error conditions.
432        #
433        # # Language mapping
434        #
435        # The `Status` message is the logical representation of the error model, but it
436        # is not necessarily the actual wire format. When the `Status` message is
437        # exposed in different client libraries and different wire protocols, it can be
438        # mapped differently. For example, it will likely be mapped to some exceptions
439        # in Java, but more likely mapped to some error codes in C.
440        #
441        # # Other uses
442        #
443        # The error model and the `Status` message can be used in a variety of
444        # environments, either with or without APIs, to provide a
445        # consistent developer experience across different environments.
446        #
447        # Example uses of this error model include:
448        #
449        # - Partial errors. If a service needs to return partial errors to the client,
450        #     it may embed the `Status` in the normal response to indicate the partial
451        #     errors.
452        #
453        # - Workflow errors. A typical workflow has multiple steps. Each step may
454        #     have a `Status` message for error reporting.
455        #
456        # - Batch operations. If a client uses batch request and batch response, the
457        #     `Status` message should be used directly inside batch response, one for
458        #     each error sub-response.
459        #
460        # - Asynchronous operations. If an API call embeds asynchronous operation
461        #     results in its response, the status of those operations should be
462        #     represented directly using the `Status` message.
463        #
464        # - Logging. If some API errors are stored in logs, the message `Status` could
465        #     be used directly after any stripping needed for security/privacy reasons.
466      "message": "A String", # A developer-facing error message, which should be in English. Any
467          # user-facing error message should be localized and sent in the
468          # google.rpc.Status.details field, or localized by the client.
469      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
470      "details": [ # A list of messages that carry the error details.  There is a common set of
471          # message types for APIs to use.
472        {
473          "a_key": "", # Properties of the object. Contains field @type with type URL.
474        },
475      ],
476    },
477    "done": True or False, # If the value is `false`, it means the operation is still in progress.
478        # If `true`, the operation is completed, and either `error` or `response` is
479        # available.
480    "response": { # The normal response of the operation in case of success.  If the original
481        # method returns no data on success, such as `Delete`, the response is
482        # `google.protobuf.Empty`.  If the original method is standard
483        # `Get`/`Create`/`Update`, the response should be the resource.  For other
484        # methods, the response should have the type `XxxResponse`, where `Xxx`
485        # is the original method name.  For example, if the original method name
486        # is `TakeSnapshot()`, the inferred response type is
487        # `TakeSnapshotResponse`.
488      "a_key": "", # Properties of the object. Contains field @type with type URL.
489    },
490    "name": "A String", # The server-assigned name, which is only unique within the same service that
491        # originally returns it. If you use the default HTTP mapping, the
492        # `name` should be a resource name ending with `operations/{unique_id}`.
493  }</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.
512      "updateTime": "A String", # Output only.
513          # The time at which this environment was last modified.
514      "uuid": "A String", # Output only.
515          # The UUID (Universally Unique IDentifier) associated with this environment.
516          # This value is generated when the environment is created.
517      "labels": { # Optional. User-defined labels for this environment.
518          # The labels map can contain no more than 64 entries. Entries of the labels
519          # map are UTF8 strings that comply with the following restrictions:
520          #
521          # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
522          # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
523          # * Both keys and values are additionally constrained to be <= 128 bytes in
524          # size.
525        "a_key": "A String",
526      },
527      "state": "A String", # The current state of the environment.
528      "config": { # Configuration information for an environment. # Configuration parameters for this environment.
529        "dagGcsPrefix": "A String", # Output only.
530            # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
531            # 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.
535          "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              #
549              # The portion of the image version that follows <em>airflow-</em> is an
550              # 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).
555          "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
556              # the environment.
557              #
558              # 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]>=1.8.2, <1.9.2". To specify a
561              # package without pinning it to a version specifier, use the empty string as
562              # the value.
563            "a_key": "A String",
564          },
565          "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.
570          "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          },
594          "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
595              #
596              # 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.
609            "a_key": "A String",
610          },
611        },
612        "airflowUri": "A String", # Output only.
613            # The URI of the Apache Airflow Web UI hosted within this environment (see
614            # [Airflow web
615            # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
616        "gkeCluster": "A String", # Output only.
617            # The Kubernetes Engine cluster used to run this environment.
618        "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
619            # the Apache Airflow software.
620          "machineType": "A String", # Optional. The Compute Engine
621              # [machine type](/compute/docs/machine-types) used for cluster instances,
622              # specified as a
623              # [relative resource
624              # name](/apis/design/resource_names#relative_resource_name). For example:
625              # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
626              #
627              # The `machineType` must belong to the enclosing environment's project and
628              # location. If both this field and `nodeConfig.location` are specified,
629              # this `machineType` must belong to the `nodeConfig.location`; if both are
630              # unspecified, the service will pick a zone in the Compute Engine region
631              # corresponding to the Cloud Composer location, and propagate that choice to
632              # both fields. If exactly one of this field and `nodeConfig.location` is
633              # specified, the location information from the specified field will be
634              # propagated to the unspecified field.
635              #
636              # If this field is unspecified, the `machineTypeId` defaults
637              # to "n1-standard-1".
638          "network": "A String", # Optional. The Compute Engine network to be used for machine
639              # communications, specified as a
640              # [relative resource
641              # name](/apis/design/resource_names#relative_resource_name). For example:
642              # "projects/{projectId}/global/networks/{networkId}".
643              #
644              # [Shared VPC](/vpc/docs/shared-vpc) is not currently supported. The
645              # network must belong to the environment's project. If unspecified, the
646              # "default" network ID in the environment's project is used.  If a
647              # [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
648              # is provided, `nodeConfig.subnetwork` must also be provided.
649          "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
650              # to identify valid sources or targets for network firewalls. Each tag within
651              # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
652              # Cannot be updated.
653            "A String",
654          ],
655          "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
656              # VMs. If a service account is not specified, the "default" Compute Engine
657              # service account is used. Cannot be updated.
658          "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
659              # node VMs. If `oauth_scopes` is empty, defaults to
660              # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
661            "A String",
662          ],
663          "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
664              # If unspecified, defaults to 100GB. Cannot be updated.
665          "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
666              # to deploy the VMs used to run the Apache Airflow software, specified as a
667              # [relative resource
668              # name](/apis/design/resource_names#relative_resource_name). For example:
669              # "projects/{projectId}/zones/{zoneId}".
670              #
671              # This `location` must belong to the enclosing environment's project and
672              # location. If both this field and `nodeConfig.machineType` are specified,
673              # `nodeConfig.machineType` must belong to this `location`; if both are
674              # unspecified, the service will pick a zone in the Compute Engine region
675              # corresponding to the Cloud Composer location, and propagate that choice to
676              # both fields. If only one field (`location` or `nodeConfig.machineType`) is
677              # specified, the location information from the specified field will be
678              # propagated to the unspecified field.
679          "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
680              # communications, specified as a
681              # [relative resource
682              # name](/apis/design/resource_names#relative_resource_name). For example:
683              # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
684              #
685              # If a subnetwork is provided, `nodeConfig.network` must also be provided,
686              # and the subnetwork must belong to the enclosing environment's project and
687              # location.
688        },
689        "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
690            # used to run this environment.
691      },
692      "createTime": "A String", # Output only.
693          # The time at which this environment was created.
694      "name": "A String", # The resource name of the environment, in the form:
695          # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
696    }</pre>
697</div>
698
699<div class="method">
700    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
701  <pre>List environments.
702
703Args:
704  parent: string, List environments in the given project and location, in the form:
705"projects/{projectId}/locations/{locationId}" (required)
706  pageSize: integer, The maximum number of environments to return.
707  pageToken: string, The next_page_token value returned from a previous List request, if any.
708  x__xgafv: string, V1 error format.
709    Allowed values
710      1 - v1 error format
711      2 - v2 error format
712
713Returns:
714  An object of the form:
715
716    { # The environments in a project and location.
717    "nextPageToken": "A String", # The page token used to query for the next page if one exists.
718    "environments": [ # The list of environments returned by a ListEnvironmentsRequest.
719      { # An environment for running orchestration tasks.
720          "updateTime": "A String", # Output only.
721              # The time at which this environment was last modified.
722          "uuid": "A String", # Output only.
723              # The UUID (Universally Unique IDentifier) associated with this environment.
724              # This value is generated when the environment is created.
725          "labels": { # Optional. User-defined labels for this environment.
726              # The labels map can contain no more than 64 entries. Entries of the labels
727              # map are UTF8 strings that comply with the following restrictions:
728              #
729              # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
730              # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
731              # * Both keys and values are additionally constrained to be <= 128 bytes in
732              # size.
733            "a_key": "A String",
734          },
735          "state": "A String", # The current state of the environment.
736          "config": { # Configuration information for an environment. # Configuration parameters for this environment.
737            "dagGcsPrefix": "A String", # Output only.
738                # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
739                # Storage objects reside in a flat namespace, a hierarchical file tree
740                # can be simulated using "/"-delimited object name prefixes. DAG objects for
741                # this environment reside in a simulated directory with the given prefix.
742            "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
743              "imageVersion": "A String", # The version of the software running in the environment.
744                  # This encapsulates both the version of Cloud Composer functionality and the
745                  # version of Apache Airflow. It must match the regular expression
746                  # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
747                  # When used as input, the server also checks if the provided version is
748                  # supported and denies the request for an unsupported version.
749                  #
750                  # The Cloud Composer portion of the version is a
751                  # [semantic version](https://semver.org) or `latest`. When the patch version
752                  # is omitted, the current Cloud Composer patch version is selected.
753                  # When `latest` is provided instead of an explicit version number,
754                  # the server replaces `latest` with the current Cloud Composer version
755                  # and stores that version number in the same field.
756                  #
757                  # The portion of the image version that follows <em>airflow-</em> is an
758                  # official Apache Airflow repository
759                  # [release name](https://github.com/apache/incubator-airflow/releases).
760                  #
761                  # See also [Version
762                  # List](/composer/docs/concepts/versioning/composer-versions).
763              "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
764                  # the environment.
765                  #
766                  # Keys refer to the lowercase package name such as "numpy"
767                  # and values are the lowercase extras and version specifier such as
768                  # "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
769                  # package without pinning it to a version specifier, use the empty string as
770                  # the value.
771                "a_key": "A String",
772              },
773              "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
774                  # scheduler, worker, and webserver processes.
775                  #
776                  # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
777                  # updated.
778              "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
779                  # scheduler, worker, and webserver processes.
780                  #
781                  # Environment variable names must match the regular expression
782                  # `a-zA-Z_*`. They cannot specify Apache Airflow
783                  # software configuration overrides (they cannot match the regular expression
784                  # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
785                  # following reserved names:
786                  #
787                  # * `AIRFLOW_HOME`
788                  # * `C_FORCE_ROOT`
789                  # * `CONTAINER_NAME`
790                  # * `DAGS_FOLDER`
791                  # * `GCP_PROJECT`
792                  # * `GCS_BUCKET`
793                  # * `GKE_CLUSTER_NAME`
794                  # * `SQL_DATABASE`
795                  # * `SQL_INSTANCE`
796                  # * `SQL_PASSWORD`
797                  # * `SQL_PROJECT`
798                  # * `SQL_REGION`
799                  # * `SQL_USER`
800                "a_key": "A String",
801              },
802              "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
803                  #
804                  # Property keys contain the section and property names, separated by a
805                  # hyphen, for example "core-dags_are_paused_at_creation". Section names must
806                  # not contain hyphens ("-"), opening square brackets ("["),  or closing
807                  # square brackets ("]"). The property name must not be empty and must not
808                  # contain an equals sign ("=") or semicolon (";"). Section and property names
809                  # must not contain a period ("."). Apache Airflow configuration property
810                  # names must be written in
811                  # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
812                  # contain any character, and can be written in any lower/upper case format.
813                  #
814                  # Certain Apache Airflow configuration property values are
815                  # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
816                  # and cannot be overridden.
817                "a_key": "A String",
818              },
819            },
820            "airflowUri": "A String", # Output only.
821                # The URI of the Apache Airflow Web UI hosted within this environment (see
822                # [Airflow web
823                # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
824            "gkeCluster": "A String", # Output only.
825                # The Kubernetes Engine cluster used to run this environment.
826            "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
827                # the Apache Airflow software.
828              "machineType": "A String", # Optional. The Compute Engine
829                  # [machine type](/compute/docs/machine-types) used for cluster instances,
830                  # specified as a
831                  # [relative resource
832                  # name](/apis/design/resource_names#relative_resource_name). For example:
833                  # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
834                  #
835                  # The `machineType` must belong to the enclosing environment's project and
836                  # location. If both this field and `nodeConfig.location` are specified,
837                  # this `machineType` must belong to the `nodeConfig.location`; if both are
838                  # unspecified, the service will pick a zone in the Compute Engine region
839                  # corresponding to the Cloud Composer location, and propagate that choice to
840                  # both fields. If exactly one of this field and `nodeConfig.location` is
841                  # specified, the location information from the specified field will be
842                  # propagated to the unspecified field.
843                  #
844                  # If this field is unspecified, the `machineTypeId` defaults
845                  # to "n1-standard-1".
846              "network": "A String", # Optional. The Compute Engine network to be used for machine
847                  # communications, specified as a
848                  # [relative resource
849                  # name](/apis/design/resource_names#relative_resource_name). For example:
850                  # "projects/{projectId}/global/networks/{networkId}".
851                  #
852                  # [Shared VPC](/vpc/docs/shared-vpc) is not currently supported. The
853                  # network must belong to the environment's project. If unspecified, the
854                  # "default" network ID in the environment's project is used.  If a
855                  # [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
856                  # is provided, `nodeConfig.subnetwork` must also be provided.
857              "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
858                  # to identify valid sources or targets for network firewalls. Each tag within
859                  # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
860                  # Cannot be updated.
861                "A String",
862              ],
863              "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
864                  # VMs. If a service account is not specified, the "default" Compute Engine
865                  # service account is used. Cannot be updated.
866              "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
867                  # node VMs. If `oauth_scopes` is empty, defaults to
868                  # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
869                "A String",
870              ],
871              "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
872                  # If unspecified, defaults to 100GB. Cannot be updated.
873              "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
874                  # to deploy the VMs used to run the Apache Airflow software, specified as a
875                  # [relative resource
876                  # name](/apis/design/resource_names#relative_resource_name). For example:
877                  # "projects/{projectId}/zones/{zoneId}".
878                  #
879                  # This `location` must belong to the enclosing environment's project and
880                  # location. If both this field and `nodeConfig.machineType` are specified,
881                  # `nodeConfig.machineType` must belong to this `location`; if both are
882                  # unspecified, the service will pick a zone in the Compute Engine region
883                  # corresponding to the Cloud Composer location, and propagate that choice to
884                  # both fields. If only one field (`location` or `nodeConfig.machineType`) is
885                  # specified, the location information from the specified field will be
886                  # propagated to the unspecified field.
887              "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
888                  # communications, specified as a
889                  # [relative resource
890                  # name](/apis/design/resource_names#relative_resource_name). For example:
891                  # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
892                  #
893                  # If a subnetwork is provided, `nodeConfig.network` must also be provided,
894                  # and the subnetwork must belong to the enclosing environment's project and
895                  # location.
896            },
897            "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
898                # used to run this environment.
899          },
900          "createTime": "A String", # Output only.
901              # The time at which this environment was created.
902          "name": "A String", # The resource name of the environment, in the form:
903              # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
904        },
905    ],
906  }</pre>
907</div>
908
909<div class="method">
910    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
911  <pre>Retrieves the next page of results.
912
913Args:
914  previous_request: The request for the previous page. (required)
915  previous_response: The response from the request for the previous page. (required)
916
917Returns:
918  A request object that you can call 'execute()' on to request the next
919  page. Returns None if there are no more items in the collection.
920    </pre>
921</div>
922
923<div class="method">
924    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
925  <pre>Update an environment.
926
927Args:
928  name: string, The relative resource name of the environment to update, in the form:
929"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
930  body: object, The request body. (required)
931    The object takes the form of:
932
933{ # An environment for running orchestration tasks.
934    "updateTime": "A String", # Output only.
935        # The time at which this environment was last modified.
936    "uuid": "A String", # Output only.
937        # The UUID (Universally Unique IDentifier) associated with this environment.
938        # This value is generated when the environment is created.
939    "labels": { # Optional. User-defined labels for this environment.
940        # The labels map can contain no more than 64 entries. Entries of the labels
941        # map are UTF8 strings that comply with the following restrictions:
942        #
943        # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
944        # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
945        # * Both keys and values are additionally constrained to be <= 128 bytes in
946        # size.
947      "a_key": "A String",
948    },
949    "state": "A String", # The current state of the environment.
950    "config": { # Configuration information for an environment. # Configuration parameters for this environment.
951      "dagGcsPrefix": "A String", # Output only.
952          # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
953          # Storage objects reside in a flat namespace, a hierarchical file tree
954          # can be simulated using "/"-delimited object name prefixes. DAG objects for
955          # this environment reside in a simulated directory with the given prefix.
956      "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
957        "imageVersion": "A String", # The version of the software running in the environment.
958            # This encapsulates both the version of Cloud Composer functionality and the
959            # version of Apache Airflow. It must match the regular expression
960            # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
961            # When used as input, the server also checks if the provided version is
962            # supported and denies the request for an unsupported version.
963            #
964            # The Cloud Composer portion of the version is a
965            # [semantic version](https://semver.org) or `latest`. When the patch version
966            # is omitted, the current Cloud Composer patch version is selected.
967            # When `latest` is provided instead of an explicit version number,
968            # the server replaces `latest` with the current Cloud Composer version
969            # and stores that version number in the same field.
970            #
971            # The portion of the image version that follows <em>airflow-</em> is an
972            # official Apache Airflow repository
973            # [release name](https://github.com/apache/incubator-airflow/releases).
974            #
975            # See also [Version
976            # List](/composer/docs/concepts/versioning/composer-versions).
977        "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
978            # the environment.
979            #
980            # Keys refer to the lowercase package name such as "numpy"
981            # and values are the lowercase extras and version specifier such as
982            # "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
983            # package without pinning it to a version specifier, use the empty string as
984            # the value.
985          "a_key": "A String",
986        },
987        "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
988            # scheduler, worker, and webserver processes.
989            #
990            # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
991            # updated.
992        "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
993            # scheduler, worker, and webserver processes.
994            #
995            # Environment variable names must match the regular expression
996            # `a-zA-Z_*`. They cannot specify Apache Airflow
997            # software configuration overrides (they cannot match the regular expression
998            # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
999            # following reserved names:
1000            #
1001            # * `AIRFLOW_HOME`
1002            # * `C_FORCE_ROOT`
1003            # * `CONTAINER_NAME`
1004            # * `DAGS_FOLDER`
1005            # * `GCP_PROJECT`
1006            # * `GCS_BUCKET`
1007            # * `GKE_CLUSTER_NAME`
1008            # * `SQL_DATABASE`
1009            # * `SQL_INSTANCE`
1010            # * `SQL_PASSWORD`
1011            # * `SQL_PROJECT`
1012            # * `SQL_REGION`
1013            # * `SQL_USER`
1014          "a_key": "A String",
1015        },
1016        "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
1017            #
1018            # Property keys contain the section and property names, separated by a
1019            # hyphen, for example "core-dags_are_paused_at_creation". Section names must
1020            # not contain hyphens ("-"), opening square brackets ("["),  or closing
1021            # square brackets ("]"). The property name must not be empty and must not
1022            # contain an equals sign ("=") or semicolon (";"). Section and property names
1023            # must not contain a period ("."). Apache Airflow configuration property
1024            # names must be written in
1025            # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
1026            # contain any character, and can be written in any lower/upper case format.
1027            #
1028            # Certain Apache Airflow configuration property values are
1029            # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
1030            # and cannot be overridden.
1031          "a_key": "A String",
1032        },
1033      },
1034      "airflowUri": "A String", # Output only.
1035          # The URI of the Apache Airflow Web UI hosted within this environment (see
1036          # [Airflow web
1037          # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
1038      "gkeCluster": "A String", # Output only.
1039          # The Kubernetes Engine cluster used to run this environment.
1040      "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
1041          # the Apache Airflow software.
1042        "machineType": "A String", # Optional. The Compute Engine
1043            # [machine type](/compute/docs/machine-types) used for cluster instances,
1044            # specified as a
1045            # [relative resource
1046            # name](/apis/design/resource_names#relative_resource_name). For example:
1047            # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
1048            #
1049            # The `machineType` must belong to the enclosing environment's project and
1050            # location. If both this field and `nodeConfig.location` are specified,
1051            # this `machineType` must belong to the `nodeConfig.location`; if both are
1052            # unspecified, the service will pick a zone in the Compute Engine region
1053            # corresponding to the Cloud Composer location, and propagate that choice to
1054            # both fields. If exactly one of this field and `nodeConfig.location` is
1055            # specified, the location information from the specified field will be
1056            # propagated to the unspecified field.
1057            #
1058            # If this field is unspecified, the `machineTypeId` defaults
1059            # to "n1-standard-1".
1060        "network": "A String", # Optional. The Compute Engine network to be used for machine
1061            # communications, specified as a
1062            # [relative resource
1063            # name](/apis/design/resource_names#relative_resource_name). For example:
1064            # "projects/{projectId}/global/networks/{networkId}".
1065            #
1066            # [Shared VPC](/vpc/docs/shared-vpc) is not currently supported. The
1067            # network must belong to the environment's project. If unspecified, the
1068            # "default" network ID in the environment's project is used.  If a
1069            # [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
1070            # is provided, `nodeConfig.subnetwork` must also be provided.
1071        "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
1072            # to identify valid sources or targets for network firewalls. Each tag within
1073            # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
1074            # Cannot be updated.
1075          "A String",
1076        ],
1077        "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
1078            # VMs. If a service account is not specified, the "default" Compute Engine
1079            # service account is used. Cannot be updated.
1080        "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
1081            # node VMs. If `oauth_scopes` is empty, defaults to
1082            # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
1083          "A String",
1084        ],
1085        "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
1086            # If unspecified, defaults to 100GB. Cannot be updated.
1087        "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
1088            # to deploy the VMs used to run the Apache Airflow software, specified as a
1089            # [relative resource
1090            # name](/apis/design/resource_names#relative_resource_name). For example:
1091            # "projects/{projectId}/zones/{zoneId}".
1092            #
1093            # This `location` must belong to the enclosing environment's project and
1094            # location. If both this field and `nodeConfig.machineType` are specified,
1095            # `nodeConfig.machineType` must belong to this `location`; if both are
1096            # unspecified, the service will pick a zone in the Compute Engine region
1097            # corresponding to the Cloud Composer location, and propagate that choice to
1098            # both fields. If only one field (`location` or `nodeConfig.machineType`) is
1099            # specified, the location information from the specified field will be
1100            # propagated to the unspecified field.
1101        "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
1102            # communications, specified as a
1103            # [relative resource
1104            # name](/apis/design/resource_names#relative_resource_name). For example:
1105            # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
1106            #
1107            # If a subnetwork is provided, `nodeConfig.network` must also be provided,
1108            # and the subnetwork must belong to the enclosing environment's project and
1109            # location.
1110      },
1111      "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
1112          # used to run this environment.
1113    },
1114    "createTime": "A String", # Output only.
1115        # The time at which this environment was created.
1116    "name": "A String", # The resource name of the environment, in the form:
1117        # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
1118  }
1119
1120  updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of
1121fields to update.
1122For example, to set the version of scikit-learn to install in the
1123environment to 0.19.0 and to remove an existing installation of
1124numpy, the `updateMask` parameter would include the following two
1125`paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and
1126"config.softwareConfig.pypiPackages.numpy". The included patch
1127environment would specify the scikit-learn version as follows:
1128
1129    {
1130      "config":{
1131        "softwareConfig":{
1132          "pypiPackages":{
1133            "scikit-learn":"==0.19.0"
1134          }
1135        }
1136      }
1137    }
1138
1139Note that in the above example, any existing PyPI packages
1140other than scikit-learn and numpy will be unaffected.
1141
1142Only one update type may be included in a single request's `updateMask`.
1143For example, one cannot update both the PyPI packages and
1144labels in the same request. However, it is possible to update multiple
1145members of a map field simultaneously in the same request. For example,
1146to set the labels "label1" and "label2" while clearing "label3" (assuming
1147it already exists), one can
1148provide the paths "labels.label1", "labels.label2", and "labels.label3"
1149and populate the patch environment as follows:
1150
1151    {
1152      "labels":{
1153        "label1":"new-label1-value"
1154        "label2":"new-label2-value"
1155      }
1156    }
1157
1158Note that in the above example, any existing labels that are not
1159included in the `updateMask` will be unaffected.
1160
1161It is also possible to replace an entire map field by providing the
1162map field's path in the `updateMask`. The new value of the field will
1163be that which is provided in the patch environment. For example, to
1164delete all pre-existing user-specified PyPI packages and
1165install botocore at version 1.7.14, the `updateMask` would contain
1166the path "config.softwareConfig.pypiPackages", and
1167the patch environment would be the following:
1168
1169    {
1170      "config":{
1171        "softwareConfig":{
1172          "pypiPackages":{
1173            "botocore":"==1.7.14"
1174          }
1175        }
1176      }
1177    }
1178
1179**Note:** Only the following fields can be updated:
1180
1181 <table>
1182 <tbody>
1183 <tr>
1184 <td><strong>Mask</strong></td>
1185 <td><strong>Purpose</strong></td>
1186 </tr>
1187 <tr>
1188 <td>config.softwareConfig.pypiPackages
1189 </td>
1190 <td>Replace all custom custom PyPI packages. If a replacement
1191 package map is not included in `environment`, all custom
1192 PyPI packages are cleared. It is an error to provide both this mask and a
1193 mask specifying an individual package.</td>
1194 </tr>
1195 <tr>
1196 <td>config.softwareConfig.pypiPackages.<var>packagename</var></td>
1197 <td>Update the custom PyPI package <var>packagename</var>,
1198 preserving other packages. To delete the package, include it in
1199 `updateMask`, and omit the mapping for it in
1200 `environment.config.softwareConfig.pypiPackages`. It is an error
1201 to provide both a mask of this form and the
1202 "config.softwareConfig.pypiPackages" mask.</td>
1203 </tr>
1204 <tr>
1205 <td>labels</td>
1206 <td>Replace all environment labels. If a replacement labels map is not
1207 included in `environment`, all labels are cleared. It is an error to
1208 provide both this mask and a mask specifying one or more individual
1209 labels.</td>
1210 </tr>
1211 <tr>
1212 <td>labels.<var>labelName</var></td>
1213 <td>Set the label named <var>labelName</var>, while preserving other
1214 labels. To delete the label, include it in `updateMask` and omit its
1215 mapping in `environment.labels`. It is an error to provide both a
1216 mask of this form and the "labels" mask.</td>
1217 </tr>
1218 <tr>
1219 <td>config.nodeCount</td>
1220 <td>Horizontally scale the number of nodes in the environment. An integer
1221 greater than or equal to 3 must be provided in the `config.nodeCount`
1222 field.
1223 </td>
1224 </tr>
1225 <tr>
1226 <td>config.softwareConfig.airflowConfigOverrides</td>
1227 <td>Replace all Apache Airflow config overrides. If a replacement config
1228 overrides map is not included in `environment`, all config overrides
1229 are cleared.
1230 It is an error to provide both this mask and a mask specifying one or
1231 more individual config overrides.</td>
1232 </tr>
1233 <tr>
1234 <td>config.softwareConfig.airflowConfigOverrides.<var>section</var>-<var>name
1235 </var></td>
1236 <td>Override the Apache Airflow config property <var>name</var> in the
1237 section named <var>section</var>, preserving other properties. To delete
1238 the property override, include it in `updateMask` and omit its mapping
1239 in `environment.config.softwareConfig.airflowConfigOverrides`.
1240 It is an error to provide both a mask of this form and the
1241 "config.softwareConfig.airflowConfigOverrides" mask.</td>
1242 </tr>
1243 <tr>
1244 <td>config.softwareConfig.envVariables</td>
1245 <td>Replace all environment variables. If a replacement environment
1246 variable map is not included in `environment`, all custom environment
1247 variables  are cleared.
1248 It is an error to provide both this mask and a mask specifying one or
1249 more individual environment variables.</td>
1250 </tr>
1251 </tbody>
1252 </table>
1253  x__xgafv: string, V1 error format.
1254    Allowed values
1255      1 - v1 error format
1256      2 - v2 error format
1257
1258Returns:
1259  An object of the form:
1260
1261    { # This resource represents a long-running operation that is the result of a
1262      # network API call.
1263    "metadata": { # Service-specific metadata associated with the operation.  It typically
1264        # contains progress information and common metadata such as create time.
1265        # Some services might not provide such metadata.  Any method that returns a
1266        # long-running operation should document the metadata type, if any.
1267      "a_key": "", # Properties of the object. Contains field @type with type URL.
1268    },
1269    "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.
1270        # different programming environments, including REST APIs and RPC APIs. It is
1271        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1272        #
1273        # - Simple to use and understand for most users
1274        # - Flexible enough to meet unexpected needs
1275        #
1276        # # Overview
1277        #
1278        # The `Status` message contains three pieces of data: error code, error
1279        # message, and error details. The error code should be an enum value of
1280        # google.rpc.Code, but it may accept additional error codes if needed.  The
1281        # error message should be a developer-facing English message that helps
1282        # developers *understand* and *resolve* the error. If a localized user-facing
1283        # error message is needed, put the localized message in the error details or
1284        # localize it in the client. The optional error details may contain arbitrary
1285        # information about the error. There is a predefined set of error detail types
1286        # in the package `google.rpc` that can be used for common error conditions.
1287        #
1288        # # Language mapping
1289        #
1290        # The `Status` message is the logical representation of the error model, but it
1291        # is not necessarily the actual wire format. When the `Status` message is
1292        # exposed in different client libraries and different wire protocols, it can be
1293        # mapped differently. For example, it will likely be mapped to some exceptions
1294        # in Java, but more likely mapped to some error codes in C.
1295        #
1296        # # Other uses
1297        #
1298        # The error model and the `Status` message can be used in a variety of
1299        # environments, either with or without APIs, to provide a
1300        # consistent developer experience across different environments.
1301        #
1302        # Example uses of this error model include:
1303        #
1304        # - Partial errors. If a service needs to return partial errors to the client,
1305        #     it may embed the `Status` in the normal response to indicate the partial
1306        #     errors.
1307        #
1308        # - Workflow errors. A typical workflow has multiple steps. Each step may
1309        #     have a `Status` message for error reporting.
1310        #
1311        # - Batch operations. If a client uses batch request and batch response, the
1312        #     `Status` message should be used directly inside batch response, one for
1313        #     each error sub-response.
1314        #
1315        # - Asynchronous operations. If an API call embeds asynchronous operation
1316        #     results in its response, the status of those operations should be
1317        #     represented directly using the `Status` message.
1318        #
1319        # - Logging. If some API errors are stored in logs, the message `Status` could
1320        #     be used directly after any stripping needed for security/privacy reasons.
1321      "message": "A String", # A developer-facing error message, which should be in English. Any
1322          # user-facing error message should be localized and sent in the
1323          # google.rpc.Status.details field, or localized by the client.
1324      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1325      "details": [ # A list of messages that carry the error details.  There is a common set of
1326          # message types for APIs to use.
1327        {
1328          "a_key": "", # Properties of the object. Contains field @type with type URL.
1329        },
1330      ],
1331    },
1332    "done": True or False, # If the value is `false`, it means the operation is still in progress.
1333        # If `true`, the operation is completed, and either `error` or `response` is
1334        # available.
1335    "response": { # The normal response of the operation in case of success.  If the original
1336        # method returns no data on success, such as `Delete`, the response is
1337        # `google.protobuf.Empty`.  If the original method is standard
1338        # `Get`/`Create`/`Update`, the response should be the resource.  For other
1339        # methods, the response should have the type `XxxResponse`, where `Xxx`
1340        # is the original method name.  For example, if the original method name
1341        # is `TakeSnapshot()`, the inferred response type is
1342        # `TakeSnapshotResponse`.
1343      "a_key": "", # Properties of the object. Contains field @type with type URL.
1344    },
1345    "name": "A String", # The server-assigned name, which is only unique within the same service that
1346        # originally returns it. If you use the default HTTP mapping, the
1347        # `name` should be a resource name ending with `operations/{unique_id}`.
1348  }</pre>
1349</div>
1350
1351</body></html>