• 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_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">
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, 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">
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        "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
131            # scheduler, worker, and webserver processes.
132            #
133            # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
134            # updated.
135        "imageVersion": "A String", # The version of the software running in the environment.
136            # This encapsulates both the version of Cloud Composer functionality and the
137            # version of Apache Airflow. It must match the regular expression
138            # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
139            # When used as input, the server also checks if the provided version is
140            # supported and denies the request for an unsupported version.
141            #
142            # The Cloud Composer portion of the version is a
143            # [semantic version](https://semver.org) or `latest`. When the patch version
144            # is omitted, the current Cloud Composer patch version is selected.
145            # When `latest` is provided instead of an explicit version number,
146            # the server replaces `latest` with the current Cloud Composer version
147            # and stores that version number in the same field.
148            #
149            # The portion of the image version that follows <em>airflow-</em> is an
150            # official Apache Airflow repository
151            # [release name](https://github.com/apache/incubator-airflow/releases).
152            #
153            # See also [Version
154            # List](/composer/docs/concepts/versioning/composer-versions).
155        "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
156            #
157            # Property keys contain the section and property names, separated by a
158            # hyphen, for example "core-dags_are_paused_at_creation". Section names must
159            # not contain hyphens ("-"), opening square brackets ("["),  or closing
160            # square brackets ("]"). The property name must not be empty and must not
161            # contain an equals sign ("=") or semicolon (";"). Section and property names
162            # must not contain a period ("."). Apache Airflow configuration property
163            # names must be written in
164            # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
165            # contain any character, and can be written in any lower/upper case format.
166            #
167            # Certain Apache Airflow configuration property values are
168            # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
169            # and cannot be overridden.
170          "a_key": "A String",
171        },
172        "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
173            # scheduler, worker, and webserver processes.
174            #
175            # Environment variable names must match the regular expression
176            # `a-zA-Z_*`. They cannot specify Apache Airflow
177            # software configuration overrides (they cannot match the regular expression
178            # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
179            # following reserved names:
180            #
181            # * `AIRFLOW_HOME`
182            # * `C_FORCE_ROOT`
183            # * `CONTAINER_NAME`
184            # * `DAGS_FOLDER`
185            # * `GCP_PROJECT`
186            # * `GCS_BUCKET`
187            # * `GKE_CLUSTER_NAME`
188            # * `SQL_DATABASE`
189            # * `SQL_INSTANCE`
190            # * `SQL_PASSWORD`
191            # * `SQL_PROJECT`
192            # * `SQL_REGION`
193            # * `SQL_USER`
194          "a_key": "A String",
195        },
196        "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
197            # the environment.
198            #
199            # Keys refer to the lowercase package name such as "numpy"
200            # and values are the lowercase extras and version specifier such as
201            # "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
202            # package without pinning it to a version specifier, use the empty string as
203            # the value.
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            # If unspecified, the default network in the environment's project is used.
240            # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
241            # is provided, `nodeConfig.subnetwork` must also be provided. For
242            # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
243            # `nodeConfig.subnetwork`.
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        "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
284            # GKE cluster.
285          "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
286              # the cluster.
287              #
288              # This field is applicable only when `use_ip_aliases` is true.
289              #
290              # Set to blank to have GKE choose a range with the default size.
291              #
292              # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
293              # netmask.
294              #
295              # Set to a
296              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
297              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
298              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
299              # to use.
300              # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
301              # but not both.
302          "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
303              # cluster.
304              #
305              # This field is applicable only when `use_ip_aliases` is true.
306              #
307              # Set to blank to have GKE choose a range with the default size.
308              #
309              # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
310              # netmask.
311              #
312              # Set to a
313              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
314              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
315              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
316              # to use.
317              # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
318              # but not both.
319          "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
320              # IP addresses to the cluster. Specify either `services_secondary_range_name`
321              # or `services_ipv4_cidr_block` but not both.
322              #
323              # This field is applicable only when `use_ip_aliases` is true.
324          "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
325              # If `true`, a VPC-native cluster is created.
326          "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
327              # IP addresses to pods. Specify either `cluster_secondary_range_name`
328              # or `cluster_ipv4_cidr_block` but not both.
329              #
330              # This field is applicable only when `use_ip_aliases` is true.
331        },
332      },
333      "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
334          # used to run this environment.
335      "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
336          # environment.
337        "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
338            # If this field is true, `use_ip_aliases` must be true.
339        "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
340            # Cloud Composer environment.
341            # environment.
342          "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
343              # denied.
344          "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
345              # range is used for assigning internal IP addresses to the cluster
346              # master or set of masters and to the internal load balancer virtual IP.
347              # This range must not overlap with any other ranges in use
348              # within the cluster's network. If left blank, the default value of
349              # '172.16.0.0/28' is used.
350        },
351      },
352    },
353    "createTime": "A String", # Output only.
354        # The time at which this environment was created.
355    "name": "A String", # The resource name of the environment, in the form:
356        # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
357  }
358
359  x__xgafv: string, V1 error format.
360    Allowed values
361      1 - v1 error format
362      2 - v2 error format
363
364Returns:
365  An object of the form:
366
367    { # This resource represents a long-running operation that is the result of a
368      # network API call.
369    "metadata": { # Service-specific metadata associated with the operation.  It typically
370        # contains progress information and common metadata such as create time.
371        # Some services might not provide such metadata.  Any method that returns a
372        # long-running operation should document the metadata type, if any.
373      "a_key": "", # Properties of the object. Contains field @type with type URL.
374    },
375    "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.
376        # different programming environments, including REST APIs and RPC APIs. It is
377        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
378        #
379        # - Simple to use and understand for most users
380        # - Flexible enough to meet unexpected needs
381        #
382        # # Overview
383        #
384        # The `Status` message contains three pieces of data: error code, error
385        # message, and error details. The error code should be an enum value of
386        # google.rpc.Code, but it may accept additional error codes if needed.  The
387        # error message should be a developer-facing English message that helps
388        # developers *understand* and *resolve* the error. If a localized user-facing
389        # error message is needed, put the localized message in the error details or
390        # localize it in the client. The optional error details may contain arbitrary
391        # information about the error. There is a predefined set of error detail types
392        # in the package `google.rpc` that can be used for common error conditions.
393        #
394        # # Language mapping
395        #
396        # The `Status` message is the logical representation of the error model, but it
397        # is not necessarily the actual wire format. When the `Status` message is
398        # exposed in different client libraries and different wire protocols, it can be
399        # mapped differently. For example, it will likely be mapped to some exceptions
400        # in Java, but more likely mapped to some error codes in C.
401        #
402        # # Other uses
403        #
404        # The error model and the `Status` message can be used in a variety of
405        # environments, either with or without APIs, to provide a
406        # consistent developer experience across different environments.
407        #
408        # Example uses of this error model include:
409        #
410        # - Partial errors. If a service needs to return partial errors to the client,
411        #     it may embed the `Status` in the normal response to indicate the partial
412        #     errors.
413        #
414        # - Workflow errors. A typical workflow has multiple steps. Each step may
415        #     have a `Status` message for error reporting.
416        #
417        # - Batch operations. If a client uses batch request and batch response, the
418        #     `Status` message should be used directly inside batch response, one for
419        #     each error sub-response.
420        #
421        # - Asynchronous operations. If an API call embeds asynchronous operation
422        #     results in its response, the status of those operations should be
423        #     represented directly using the `Status` message.
424        #
425        # - Logging. If some API errors are stored in logs, the message `Status` could
426        #     be used directly after any stripping needed for security/privacy reasons.
427      "message": "A String", # A developer-facing error message, which should be in English. Any
428          # user-facing error message should be localized and sent in the
429          # google.rpc.Status.details field, or localized by the client.
430      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
431      "details": [ # A list of messages that carry the error details.  There is a common set of
432          # message types for APIs to use.
433        {
434          "a_key": "", # Properties of the object. Contains field @type with type URL.
435        },
436      ],
437    },
438    "done": True or False, # If the value is `false`, it means the operation is still in progress.
439        # If `true`, the operation is completed, and either `error` or `response` is
440        # available.
441    "response": { # The normal response of the operation in case of success.  If the original
442        # method returns no data on success, such as `Delete`, the response is
443        # `google.protobuf.Empty`.  If the original method is standard
444        # `Get`/`Create`/`Update`, the response should be the resource.  For other
445        # methods, the response should have the type `XxxResponse`, where `Xxx`
446        # is the original method name.  For example, if the original method name
447        # is `TakeSnapshot()`, the inferred response type is
448        # `TakeSnapshotResponse`.
449      "a_key": "", # Properties of the object. Contains field @type with type URL.
450    },
451    "name": "A String", # The server-assigned name, which is only unique within the same service that
452        # originally returns it. If you use the default HTTP mapping, the
453        # `name` should be a resource name ending with `operations/{unique_id}`.
454  }</pre>
455</div>
456
457<div class="method">
458    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
459  <pre>Delete an environment.
460
461Args:
462  name: string, The environment to delete, in the form:
463"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
464  x__xgafv: string, V1 error format.
465    Allowed values
466      1 - v1 error format
467      2 - v2 error format
468
469Returns:
470  An object of the form:
471
472    { # This resource represents a long-running operation that is the result of a
473      # network API call.
474    "metadata": { # Service-specific metadata associated with the operation.  It typically
475        # contains progress information and common metadata such as create time.
476        # Some services might not provide such metadata.  Any method that returns a
477        # long-running operation should document the metadata type, if any.
478      "a_key": "", # Properties of the object. Contains field @type with type URL.
479    },
480    "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.
481        # different programming environments, including REST APIs and RPC APIs. It is
482        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
483        #
484        # - Simple to use and understand for most users
485        # - Flexible enough to meet unexpected needs
486        #
487        # # Overview
488        #
489        # The `Status` message contains three pieces of data: error code, error
490        # message, and error details. The error code should be an enum value of
491        # google.rpc.Code, but it may accept additional error codes if needed.  The
492        # error message should be a developer-facing English message that helps
493        # developers *understand* and *resolve* the error. If a localized user-facing
494        # error message is needed, put the localized message in the error details or
495        # localize it in the client. The optional error details may contain arbitrary
496        # information about the error. There is a predefined set of error detail types
497        # in the package `google.rpc` that can be used for common error conditions.
498        #
499        # # Language mapping
500        #
501        # The `Status` message is the logical representation of the error model, but it
502        # is not necessarily the actual wire format. When the `Status` message is
503        # exposed in different client libraries and different wire protocols, it can be
504        # mapped differently. For example, it will likely be mapped to some exceptions
505        # in Java, but more likely mapped to some error codes in C.
506        #
507        # # Other uses
508        #
509        # The error model and the `Status` message can be used in a variety of
510        # environments, either with or without APIs, to provide a
511        # consistent developer experience across different environments.
512        #
513        # Example uses of this error model include:
514        #
515        # - Partial errors. If a service needs to return partial errors to the client,
516        #     it may embed the `Status` in the normal response to indicate the partial
517        #     errors.
518        #
519        # - Workflow errors. A typical workflow has multiple steps. Each step may
520        #     have a `Status` message for error reporting.
521        #
522        # - Batch operations. If a client uses batch request and batch response, the
523        #     `Status` message should be used directly inside batch response, one for
524        #     each error sub-response.
525        #
526        # - Asynchronous operations. If an API call embeds asynchronous operation
527        #     results in its response, the status of those operations should be
528        #     represented directly using the `Status` message.
529        #
530        # - Logging. If some API errors are stored in logs, the message `Status` could
531        #     be used directly after any stripping needed for security/privacy reasons.
532      "message": "A String", # A developer-facing error message, which should be in English. Any
533          # user-facing error message should be localized and sent in the
534          # google.rpc.Status.details field, or localized by the client.
535      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
536      "details": [ # A list of messages that carry the error details.  There is a common set of
537          # message types for APIs to use.
538        {
539          "a_key": "", # Properties of the object. Contains field @type with type URL.
540        },
541      ],
542    },
543    "done": True or False, # If the value is `false`, it means the operation is still in progress.
544        # If `true`, the operation is completed, and either `error` or `response` is
545        # available.
546    "response": { # The normal response of the operation in case of success.  If the original
547        # method returns no data on success, such as `Delete`, the response is
548        # `google.protobuf.Empty`.  If the original method is standard
549        # `Get`/`Create`/`Update`, the response should be the resource.  For other
550        # methods, the response should have the type `XxxResponse`, where `Xxx`
551        # is the original method name.  For example, if the original method name
552        # is `TakeSnapshot()`, the inferred response type is
553        # `TakeSnapshotResponse`.
554      "a_key": "", # Properties of the object. Contains field @type with type URL.
555    },
556    "name": "A String", # The server-assigned name, which is only unique within the same service that
557        # originally returns it. If you use the default HTTP mapping, the
558        # `name` should be a resource name ending with `operations/{unique_id}`.
559  }</pre>
560</div>
561
562<div class="method">
563    <code class="details" id="get">get(name, x__xgafv=None)</code>
564  <pre>Get an existing environment.
565
566Args:
567  name: string, The resource name of the environment to get, in the form:
568"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
569  x__xgafv: string, V1 error format.
570    Allowed values
571      1 - v1 error format
572      2 - v2 error format
573
574Returns:
575  An object of the form:
576
577    { # An environment for running orchestration tasks.
578      "updateTime": "A String", # Output only.
579          # The time at which this environment was last modified.
580      "uuid": "A String", # Output only.
581          # The UUID (Universally Unique IDentifier) associated with this environment.
582          # This value is generated when the environment is created.
583      "labels": { # Optional. User-defined labels for this environment.
584          # The labels map can contain no more than 64 entries. Entries of the labels
585          # map are UTF8 strings that comply with the following restrictions:
586          #
587          # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
588          # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
589          # * Both keys and values are additionally constrained to be <= 128 bytes in
590          # size.
591        "a_key": "A String",
592      },
593      "state": "A String", # The current state of the environment.
594      "config": { # Configuration information for an environment. # Configuration parameters for this environment.
595        "dagGcsPrefix": "A String", # Output only.
596            # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
597            # Storage objects reside in a flat namespace, a hierarchical file tree
598            # can be simulated using "/"-delimited object name prefixes. DAG objects for
599            # this environment reside in a simulated directory with the given prefix.
600        "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
601          "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
602              # scheduler, worker, and webserver processes.
603              #
604              # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
605              # updated.
606          "imageVersion": "A String", # The version of the software running in the environment.
607              # This encapsulates both the version of Cloud Composer functionality and the
608              # version of Apache Airflow. It must match the regular expression
609              # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
610              # When used as input, the server also checks if the provided version is
611              # supported and denies the request for an unsupported version.
612              #
613              # The Cloud Composer portion of the version is a
614              # [semantic version](https://semver.org) or `latest`. When the patch version
615              # is omitted, the current Cloud Composer patch version is selected.
616              # When `latest` is provided instead of an explicit version number,
617              # the server replaces `latest` with the current Cloud Composer version
618              # and stores that version number in the same field.
619              #
620              # The portion of the image version that follows <em>airflow-</em> is an
621              # official Apache Airflow repository
622              # [release name](https://github.com/apache/incubator-airflow/releases).
623              #
624              # See also [Version
625              # List](/composer/docs/concepts/versioning/composer-versions).
626          "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
627              #
628              # Property keys contain the section and property names, separated by a
629              # hyphen, for example "core-dags_are_paused_at_creation". Section names must
630              # not contain hyphens ("-"), opening square brackets ("["),  or closing
631              # square brackets ("]"). The property name must not be empty and must not
632              # contain an equals sign ("=") or semicolon (";"). Section and property names
633              # must not contain a period ("."). Apache Airflow configuration property
634              # names must be written in
635              # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
636              # contain any character, and can be written in any lower/upper case format.
637              #
638              # Certain Apache Airflow configuration property values are
639              # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
640              # and cannot be overridden.
641            "a_key": "A String",
642          },
643          "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
644              # scheduler, worker, and webserver processes.
645              #
646              # Environment variable names must match the regular expression
647              # `a-zA-Z_*`. They cannot specify Apache Airflow
648              # software configuration overrides (they cannot match the regular expression
649              # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
650              # following reserved names:
651              #
652              # * `AIRFLOW_HOME`
653              # * `C_FORCE_ROOT`
654              # * `CONTAINER_NAME`
655              # * `DAGS_FOLDER`
656              # * `GCP_PROJECT`
657              # * `GCS_BUCKET`
658              # * `GKE_CLUSTER_NAME`
659              # * `SQL_DATABASE`
660              # * `SQL_INSTANCE`
661              # * `SQL_PASSWORD`
662              # * `SQL_PROJECT`
663              # * `SQL_REGION`
664              # * `SQL_USER`
665            "a_key": "A String",
666          },
667          "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
668              # the environment.
669              #
670              # Keys refer to the lowercase package name such as "numpy"
671              # and values are the lowercase extras and version specifier such as
672              # "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
673              # package without pinning it to a version specifier, use the empty string as
674              # the value.
675            "a_key": "A String",
676          },
677        },
678        "airflowUri": "A String", # Output only.
679            # The URI of the Apache Airflow Web UI hosted within this environment (see
680            # [Airflow web
681            # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
682        "gkeCluster": "A String", # Output only.
683            # The Kubernetes Engine cluster used to run this environment.
684        "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
685            # the Apache Airflow software.
686          "machineType": "A String", # Optional. The Compute Engine
687              # [machine type](/compute/docs/machine-types) used for cluster instances,
688              # specified as a
689              # [relative resource
690              # name](/apis/design/resource_names#relative_resource_name). For example:
691              # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
692              #
693              # The `machineType` must belong to the enclosing environment's project and
694              # location. If both this field and `nodeConfig.location` are specified,
695              # this `machineType` must belong to the `nodeConfig.location`; if both are
696              # unspecified, the service will pick a zone in the Compute Engine region
697              # corresponding to the Cloud Composer location, and propagate that choice to
698              # both fields. If exactly one of this field and `nodeConfig.location` is
699              # specified, the location information from the specified field will be
700              # propagated to the unspecified field.
701              #
702              # If this field is unspecified, the `machineTypeId` defaults
703              # to "n1-standard-1".
704          "network": "A String", # Optional. The Compute Engine network to be used for machine
705              # communications, specified as a
706              # [relative resource
707              # name](/apis/design/resource_names#relative_resource_name). For example:
708              # "projects/{projectId}/global/networks/{networkId}".
709              #
710              # If unspecified, the default network in the environment's project is used.
711              # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
712              # is provided, `nodeConfig.subnetwork` must also be provided. For
713              # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
714              # `nodeConfig.subnetwork`.
715          "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
716              # to identify valid sources or targets for network firewalls. Each tag within
717              # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
718              # Cannot be updated.
719            "A String",
720          ],
721          "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
722              # VMs. If a service account is not specified, the "default" Compute Engine
723              # service account is used. Cannot be updated.
724          "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
725              # node VMs. If `oauth_scopes` is empty, defaults to
726              # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
727            "A String",
728          ],
729          "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
730              # If unspecified, defaults to 100GB. Cannot be updated.
731          "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
732              # to deploy the VMs used to run the Apache Airflow software, specified as a
733              # [relative resource
734              # name](/apis/design/resource_names#relative_resource_name). For example:
735              # "projects/{projectId}/zones/{zoneId}".
736              #
737              # This `location` must belong to the enclosing environment's project and
738              # location. If both this field and `nodeConfig.machineType` are specified,
739              # `nodeConfig.machineType` must belong to this `location`; if both are
740              # unspecified, the service will pick a zone in the Compute Engine region
741              # corresponding to the Cloud Composer location, and propagate that choice to
742              # both fields. If only one field (`location` or `nodeConfig.machineType`) is
743              # specified, the location information from the specified field will be
744              # propagated to the unspecified field.
745          "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
746              # communications, specified as a
747              # [relative resource
748              # name](/apis/design/resource_names#relative_resource_name). For example:
749              # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
750              #
751              # If a subnetwork is provided, `nodeConfig.network` must also be provided,
752              # and the subnetwork must belong to the enclosing environment's project and
753              # location.
754          "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
755              # GKE cluster.
756            "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
757                # the cluster.
758                #
759                # This field is applicable only when `use_ip_aliases` is true.
760                #
761                # Set to blank to have GKE choose a range with the default size.
762                #
763                # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
764                # netmask.
765                #
766                # Set to a
767                # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
768                # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
769                # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
770                # to use.
771                # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
772                # but not both.
773            "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
774                # cluster.
775                #
776                # This field is applicable only when `use_ip_aliases` is true.
777                #
778                # Set to blank to have GKE choose a range with the default size.
779                #
780                # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
781                # netmask.
782                #
783                # Set to a
784                # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
785                # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
786                # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
787                # to use.
788                # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
789                # but not both.
790            "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
791                # IP addresses to the cluster. Specify either `services_secondary_range_name`
792                # or `services_ipv4_cidr_block` but not both.
793                #
794                # This field is applicable only when `use_ip_aliases` is true.
795            "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
796                # If `true`, a VPC-native cluster is created.
797            "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
798                # IP addresses to pods. Specify either `cluster_secondary_range_name`
799                # or `cluster_ipv4_cidr_block` but not both.
800                #
801                # This field is applicable only when `use_ip_aliases` is true.
802          },
803        },
804        "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
805            # used to run this environment.
806        "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
807            # environment.
808          "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
809              # If this field is true, `use_ip_aliases` must be true.
810          "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
811              # Cloud Composer environment.
812              # environment.
813            "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
814                # denied.
815            "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
816                # range is used for assigning internal IP addresses to the cluster
817                # master or set of masters and to the internal load balancer virtual IP.
818                # This range must not overlap with any other ranges in use
819                # within the cluster's network. If left blank, the default value of
820                # '172.16.0.0/28' is used.
821          },
822        },
823      },
824      "createTime": "A String", # Output only.
825          # The time at which this environment was created.
826      "name": "A String", # The resource name of the environment, in the form:
827          # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
828    }</pre>
829</div>
830
831<div class="method">
832    <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None)</code>
833  <pre>List environments.
834
835Args:
836  parent: string, List environments in the given project and location, in the form:
837"projects/{projectId}/locations/{locationId}" (required)
838  pageToken: string, The next_page_token value returned from a previous List request, if any.
839  x__xgafv: string, V1 error format.
840    Allowed values
841      1 - v1 error format
842      2 - v2 error format
843  pageSize: integer, The maximum number of environments to return.
844
845Returns:
846  An object of the form:
847
848    { # The environments in a project and location.
849    "nextPageToken": "A String", # The page token used to query for the next page if one exists.
850    "environments": [ # The list of environments returned by a ListEnvironmentsRequest.
851      { # An environment for running orchestration tasks.
852          "updateTime": "A String", # Output only.
853              # The time at which this environment was last modified.
854          "uuid": "A String", # Output only.
855              # The UUID (Universally Unique IDentifier) associated with this environment.
856              # This value is generated when the environment is created.
857          "labels": { # Optional. User-defined labels for this environment.
858              # The labels map can contain no more than 64 entries. Entries of the labels
859              # map are UTF8 strings that comply with the following restrictions:
860              #
861              # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
862              # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
863              # * Both keys and values are additionally constrained to be <= 128 bytes in
864              # size.
865            "a_key": "A String",
866          },
867          "state": "A String", # The current state of the environment.
868          "config": { # Configuration information for an environment. # Configuration parameters for this environment.
869            "dagGcsPrefix": "A String", # Output only.
870                # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
871                # Storage objects reside in a flat namespace, a hierarchical file tree
872                # can be simulated using "/"-delimited object name prefixes. DAG objects for
873                # this environment reside in a simulated directory with the given prefix.
874            "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
875              "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
876                  # scheduler, worker, and webserver processes.
877                  #
878                  # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
879                  # updated.
880              "imageVersion": "A String", # The version of the software running in the environment.
881                  # This encapsulates both the version of Cloud Composer functionality and the
882                  # version of Apache Airflow. It must match the regular expression
883                  # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
884                  # When used as input, the server also checks if the provided version is
885                  # supported and denies the request for an unsupported version.
886                  #
887                  # The Cloud Composer portion of the version is a
888                  # [semantic version](https://semver.org) or `latest`. When the patch version
889                  # is omitted, the current Cloud Composer patch version is selected.
890                  # When `latest` is provided instead of an explicit version number,
891                  # the server replaces `latest` with the current Cloud Composer version
892                  # and stores that version number in the same field.
893                  #
894                  # The portion of the image version that follows <em>airflow-</em> is an
895                  # official Apache Airflow repository
896                  # [release name](https://github.com/apache/incubator-airflow/releases).
897                  #
898                  # See also [Version
899                  # List](/composer/docs/concepts/versioning/composer-versions).
900              "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
901                  #
902                  # Property keys contain the section and property names, separated by a
903                  # hyphen, for example "core-dags_are_paused_at_creation". Section names must
904                  # not contain hyphens ("-"), opening square brackets ("["),  or closing
905                  # square brackets ("]"). The property name must not be empty and must not
906                  # contain an equals sign ("=") or semicolon (";"). Section and property names
907                  # must not contain a period ("."). Apache Airflow configuration property
908                  # names must be written in
909                  # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
910                  # contain any character, and can be written in any lower/upper case format.
911                  #
912                  # Certain Apache Airflow configuration property values are
913                  # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
914                  # and cannot be overridden.
915                "a_key": "A String",
916              },
917              "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
918                  # scheduler, worker, and webserver processes.
919                  #
920                  # Environment variable names must match the regular expression
921                  # `a-zA-Z_*`. They cannot specify Apache Airflow
922                  # software configuration overrides (they cannot match the regular expression
923                  # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
924                  # following reserved names:
925                  #
926                  # * `AIRFLOW_HOME`
927                  # * `C_FORCE_ROOT`
928                  # * `CONTAINER_NAME`
929                  # * `DAGS_FOLDER`
930                  # * `GCP_PROJECT`
931                  # * `GCS_BUCKET`
932                  # * `GKE_CLUSTER_NAME`
933                  # * `SQL_DATABASE`
934                  # * `SQL_INSTANCE`
935                  # * `SQL_PASSWORD`
936                  # * `SQL_PROJECT`
937                  # * `SQL_REGION`
938                  # * `SQL_USER`
939                "a_key": "A String",
940              },
941              "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
942                  # the environment.
943                  #
944                  # Keys refer to the lowercase package name such as "numpy"
945                  # and values are the lowercase extras and version specifier such as
946                  # "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
947                  # package without pinning it to a version specifier, use the empty string as
948                  # the value.
949                "a_key": "A String",
950              },
951            },
952            "airflowUri": "A String", # Output only.
953                # The URI of the Apache Airflow Web UI hosted within this environment (see
954                # [Airflow web
955                # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
956            "gkeCluster": "A String", # Output only.
957                # The Kubernetes Engine cluster used to run this environment.
958            "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
959                # the Apache Airflow software.
960              "machineType": "A String", # Optional. The Compute Engine
961                  # [machine type](/compute/docs/machine-types) used for cluster instances,
962                  # specified as a
963                  # [relative resource
964                  # name](/apis/design/resource_names#relative_resource_name). For example:
965                  # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
966                  #
967                  # The `machineType` must belong to the enclosing environment's project and
968                  # location. If both this field and `nodeConfig.location` are specified,
969                  # this `machineType` must belong to the `nodeConfig.location`; if both are
970                  # unspecified, the service will pick a zone in the Compute Engine region
971                  # corresponding to the Cloud Composer location, and propagate that choice to
972                  # both fields. If exactly one of this field and `nodeConfig.location` is
973                  # specified, the location information from the specified field will be
974                  # propagated to the unspecified field.
975                  #
976                  # If this field is unspecified, the `machineTypeId` defaults
977                  # to "n1-standard-1".
978              "network": "A String", # Optional. The Compute Engine network to be used for machine
979                  # communications, specified as a
980                  # [relative resource
981                  # name](/apis/design/resource_names#relative_resource_name). For example:
982                  # "projects/{projectId}/global/networks/{networkId}".
983                  #
984                  # If unspecified, the default network in the environment's project is used.
985                  # If a [Custom Subnet Network](/vpc/docs/vpc#vpc_networks_and_subnets)
986                  # is provided, `nodeConfig.subnetwork` must also be provided. For
987                  # [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see
988                  # `nodeConfig.subnetwork`.
989              "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used
990                  # to identify valid sources or targets for network firewalls. Each tag within
991                  # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
992                  # Cannot be updated.
993                "A String",
994              ],
995              "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the node
996                  # VMs. If a service account is not specified, the "default" Compute Engine
997                  # service account is used. Cannot be updated.
998              "oauthScopes": [ # Optional. The set of Google API scopes to be made available on all
999                  # node VMs. If `oauth_scopes` is empty, defaults to
1000                  # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
1001                "A String",
1002              ],
1003              "diskSizeGb": 42, # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
1004                  # If unspecified, defaults to 100GB. Cannot be updated.
1005              "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
1006                  # to deploy the VMs used to run the Apache Airflow software, specified as a
1007                  # [relative resource
1008                  # name](/apis/design/resource_names#relative_resource_name). For example:
1009                  # "projects/{projectId}/zones/{zoneId}".
1010                  #
1011                  # This `location` must belong to the enclosing environment's project and
1012                  # location. If both this field and `nodeConfig.machineType` are specified,
1013                  # `nodeConfig.machineType` must belong to this `location`; if both are
1014                  # unspecified, the service will pick a zone in the Compute Engine region
1015                  # corresponding to the Cloud Composer location, and propagate that choice to
1016                  # both fields. If only one field (`location` or `nodeConfig.machineType`) is
1017                  # specified, the location information from the specified field will be
1018                  # propagated to the unspecified field.
1019              "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
1020                  # communications, specified as a
1021                  # [relative resource
1022                  # name](/apis/design/resource_names#relative_resource_name). For example:
1023                  # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
1024                  #
1025                  # If a subnetwork is provided, `nodeConfig.network` must also be provided,
1026                  # and the subnetwork must belong to the enclosing environment's project and
1027                  # location.
1028              "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
1029                  # GKE cluster.
1030                "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
1031                    # the cluster.
1032                    #
1033                    # This field is applicable only when `use_ip_aliases` is true.
1034                    #
1035                    # Set to blank to have GKE choose a range with the default size.
1036                    #
1037                    # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1038                    # netmask.
1039                    #
1040                    # Set to a
1041                    # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1042                    # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1043                    # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1044                    # to use.
1045                    # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
1046                    # but not both.
1047                "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
1048                    # cluster.
1049                    #
1050                    # This field is applicable only when `use_ip_aliases` is true.
1051                    #
1052                    # Set to blank to have GKE choose a range with the default size.
1053                    #
1054                    # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1055                    # netmask.
1056                    #
1057                    # Set to a
1058                    # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1059                    # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1060                    # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1061                    # to use.
1062                    # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
1063                    # but not both.
1064                "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
1065                    # IP addresses to the cluster. Specify either `services_secondary_range_name`
1066                    # or `services_ipv4_cidr_block` but not both.
1067                    #
1068                    # This field is applicable only when `use_ip_aliases` is true.
1069                "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
1070                    # If `true`, a VPC-native cluster is created.
1071                "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
1072                    # IP addresses to pods. Specify either `cluster_secondary_range_name`
1073                    # or `cluster_ipv4_cidr_block` but not both.
1074                    #
1075                    # This field is applicable only when `use_ip_aliases` is true.
1076              },
1077            },
1078            "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be
1079                # used to run this environment.
1080            "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer # The configuration used for the Private IP Cloud Composer environment.
1081                # environment.
1082              "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
1083                  # If this field is true, `use_ip_aliases` must be true.
1084              "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
1085                  # Cloud Composer environment.
1086                  # environment.
1087                "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
1088                    # denied.
1089                "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
1090                    # range is used for assigning internal IP addresses to the cluster
1091                    # master or set of masters and to the internal load balancer virtual IP.
1092                    # This range must not overlap with any other ranges in use
1093                    # within the cluster's network. If left blank, the default value of
1094                    # '172.16.0.0/28' is used.
1095              },
1096            },
1097          },
1098          "createTime": "A String", # Output only.
1099              # The time at which this environment was created.
1100          "name": "A String", # The resource name of the environment, in the form:
1101              # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
1102        },
1103    ],
1104  }</pre>
1105</div>
1106
1107<div class="method">
1108    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
1109  <pre>Retrieves the next page of results.
1110
1111Args:
1112  previous_request: The request for the previous page. (required)
1113  previous_response: The response from the request for the previous page. (required)
1114
1115Returns:
1116  A request object that you can call 'execute()' on to request the next
1117  page. Returns None if there are no more items in the collection.
1118    </pre>
1119</div>
1120
1121<div class="method">
1122    <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
1123  <pre>Update an environment.
1124
1125Args:
1126  name: string, The relative resource name of the environment to update, in the form:
1127"projects/{projectId}/locations/{locationId}/environments/{environmentId}" (required)
1128  body: object, The request body. (required)
1129    The object takes the form of:
1130
1131{ # An environment for running orchestration tasks.
1132    "updateTime": "A String", # Output only.
1133        # The time at which this environment was last modified.
1134    "uuid": "A String", # Output only.
1135        # The UUID (Universally Unique IDentifier) associated with this environment.
1136        # This value is generated when the environment is created.
1137    "labels": { # Optional. User-defined labels for this environment.
1138        # The labels map can contain no more than 64 entries. Entries of the labels
1139        # map are UTF8 strings that comply with the following restrictions:
1140        #
1141        # * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62}
1142        # * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
1143        # * Both keys and values are additionally constrained to be <= 128 bytes in
1144        # size.
1145      "a_key": "A String",
1146    },
1147    "state": "A String", # The current state of the environment.
1148    "config": { # Configuration information for an environment. # Configuration parameters for this environment.
1149      "dagGcsPrefix": "A String", # Output only.
1150          # The Cloud Storage prefix of the DAGs for this environment. Although Cloud
1151          # Storage objects reside in a flat namespace, a hierarchical file tree
1152          # can be simulated using "/"-delimited object name prefixes. DAG objects for
1153          # this environment reside in a simulated directory with the given prefix.
1154      "softwareConfig": { # Specifies the selection and configuration of software inside the environment. # The configuration settings for software inside the environment.
1155        "pythonVersion": "A String", # Optional. The major version of Python used to run the Apache Airflow
1156            # scheduler, worker, and webserver processes.
1157            #
1158            # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
1159            # updated.
1160        "imageVersion": "A String", # The version of the software running in the environment.
1161            # This encapsulates both the version of Cloud Composer functionality and the
1162            # version of Apache Airflow. It must match the regular expression
1163            # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
1164            # When used as input, the server also checks if the provided version is
1165            # supported and denies the request for an unsupported version.
1166            #
1167            # The Cloud Composer portion of the version is a
1168            # [semantic version](https://semver.org) or `latest`. When the patch version
1169            # is omitted, the current Cloud Composer patch version is selected.
1170            # When `latest` is provided instead of an explicit version number,
1171            # the server replaces `latest` with the current Cloud Composer version
1172            # and stores that version number in the same field.
1173            #
1174            # The portion of the image version that follows <em>airflow-</em> is an
1175            # official Apache Airflow repository
1176            # [release name](https://github.com/apache/incubator-airflow/releases).
1177            #
1178            # See also [Version
1179            # List](/composer/docs/concepts/versioning/composer-versions).
1180        "airflowConfigOverrides": { # Optional. Apache Airflow configuration properties to override.
1181            #
1182            # Property keys contain the section and property names, separated by a
1183            # hyphen, for example "core-dags_are_paused_at_creation". Section names must
1184            # not contain hyphens ("-"), opening square brackets ("["),  or closing
1185            # square brackets ("]"). The property name must not be empty and must not
1186            # contain an equals sign ("=") or semicolon (";"). Section and property names
1187            # must not contain a period ("."). Apache Airflow configuration property
1188            # names must be written in
1189            # [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can
1190            # contain any character, and can be written in any lower/upper case format.
1191            #
1192            # Certain Apache Airflow configuration property values are
1193            # [blacklisted](/composer/docs/how-to/managing/setting-airflow-configurations#airflow_configuration_blacklists),
1194            # and cannot be overridden.
1195          "a_key": "A String",
1196        },
1197        "envVariables": { # Optional. Additional environment variables to provide to the Apache Airflow
1198            # scheduler, worker, and webserver processes.
1199            #
1200            # Environment variable names must match the regular expression
1201            # `a-zA-Z_*`. They cannot specify Apache Airflow
1202            # software configuration overrides (they cannot match the regular expression
1203            # `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the
1204            # following reserved names:
1205            #
1206            # * `AIRFLOW_HOME`
1207            # * `C_FORCE_ROOT`
1208            # * `CONTAINER_NAME`
1209            # * `DAGS_FOLDER`
1210            # * `GCP_PROJECT`
1211            # * `GCS_BUCKET`
1212            # * `GKE_CLUSTER_NAME`
1213            # * `SQL_DATABASE`
1214            # * `SQL_INSTANCE`
1215            # * `SQL_PASSWORD`
1216            # * `SQL_PROJECT`
1217            # * `SQL_REGION`
1218            # * `SQL_USER`
1219          "a_key": "A String",
1220        },
1221        "pypiPackages": { # Optional. Custom Python Package Index (PyPI) packages to be installed in
1222            # the environment.
1223            #
1224            # Keys refer to the lowercase package name such as "numpy"
1225            # and values are the lowercase extras and version specifier such as
1226            # "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To specify a
1227            # package without pinning it to a version specifier, use the empty string as
1228            # the value.
1229          "a_key": "A String",
1230        },
1231      },
1232      "airflowUri": "A String", # Output only.
1233          # The URI of the Apache Airflow Web UI hosted within this environment (see
1234          # [Airflow web
1235          # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
1236      "gkeCluster": "A String", # Output only.
1237          # The Kubernetes Engine cluster used to run this environment.
1238      "nodeConfig": { # The configuration information for the Kubernetes Engine nodes running # The configuration used for the Kubernetes Engine cluster.
1239          # the Apache Airflow software.
1240        "machineType": "A String", # Optional. The Compute Engine
1241            # [machine type](/compute/docs/machine-types) used for cluster instances,
1242            # specified as a
1243            # [relative resource
1244            # name](/apis/design/resource_names#relative_resource_name). For example:
1245            # "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}".
1246            #
1247            # The `machineType` must belong to the enclosing environment's project and
1248            # location. If both this field and `nodeConfig.location` are specified,
1249            # this `machineType` must belong to the `nodeConfig.location`; if both are
1250            # unspecified, the service will pick a zone in the Compute Engine region
1251            # corresponding to the Cloud Composer location, and propagate that choice to
1252            # both fields. If exactly one of this field and `nodeConfig.location` is
1253            # specified, the location information from the specified field will be
1254            # propagated to the unspecified field.
1255            #
1256            # 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.
1285        "location": "A String", # Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which
1286            # to deploy the VMs used to run the Apache Airflow software, specified as a
1287            # [relative resource
1288            # name](/apis/design/resource_names#relative_resource_name). For example:
1289            # "projects/{projectId}/zones/{zoneId}".
1290            #
1291            # This `location` must belong to the enclosing environment's project and
1292            # location. If both this field and `nodeConfig.machineType` are specified,
1293            # `nodeConfig.machineType` must belong to this `location`; if both are
1294            # unspecified, the service will pick a zone in the Compute Engine region
1295            # corresponding to the Cloud Composer location, and propagate that choice to
1296            # both fields. If only one field (`location` or `nodeConfig.machineType`) is
1297            # specified, the location information from the specified field will be
1298            # propagated to the unspecified field.
1299        "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine
1300            # communications, specified as a
1301            # [relative resource
1302            # name](/apis/design/resource_names#relative_resource_name). For example:
1303            # "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}"
1304            #
1305            # If a subnetwork is provided, `nodeConfig.network` must also be provided,
1306            # and the subnetwork must belong to the enclosing environment's project and
1307            # location.
1308        "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the # Optional. The IPAllocationPolicy fields for the GKE cluster.
1309            # GKE cluster.
1310          "clusterIpv4CidrBlock": "A String", # Optional. The IP address range used to allocate IP addresses to pods in
1311              # the cluster.
1312              #
1313              # This field is applicable only when `use_ip_aliases` is true.
1314              #
1315              # Set to blank to have GKE choose a range with the default size.
1316              #
1317              # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1318              # netmask.
1319              #
1320              # Set to a
1321              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1322              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1323              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1324              # to use.
1325              # Specify `cluster_secondary_range_name` or `cluster_ipv4_cidr_block`
1326              # but not both.
1327          "servicesIpv4CidrBlock": "A String", # Optional. The IP address range of the services IP addresses in this
1328              # cluster.
1329              #
1330              # This field is applicable only when `use_ip_aliases` is true.
1331              #
1332              # Set to blank to have GKE choose a range with the default size.
1333              #
1334              # Set to /netmask (e.g. `/14`) to have GKE choose a range with a specific
1335              # netmask.
1336              #
1337              # Set to a
1338              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1339              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1340              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1341              # to use.
1342              # Specify `services_secondary_range_name` or `services_ipv4_cidr_block`
1343              # but not both.
1344          "servicesSecondaryRangeName": "A String", # Optional. The name of the services' secondary range used to allocate
1345              # IP addresses to the cluster. Specify either `services_secondary_range_name`
1346              # or `services_ipv4_cidr_block` but not both.
1347              #
1348              # This field is applicable only when `use_ip_aliases` is true.
1349          "useIpAliases": True or False, # Optional. Whether or not to enable Alias IPs in the GKE cluster.
1350              # If `true`, a VPC-native cluster is created.
1351          "clusterSecondaryRangeName": "A String", # Optional. The name of the cluster's secondary range used to allocate
1352              # IP addresses to pods. Specify either `cluster_secondary_range_name`
1353              # or `cluster_ipv4_cidr_block` but not both.
1354              #
1355              # This field is applicable only when `use_ip_aliases` is true.
1356        },
1357      },
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.
1362        "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created.
1363            # If this field is true, `use_ip_aliases` must be true.
1364        "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer # Optional. Configuration for the private GKE cluster for a Private IP
1365            # Cloud Composer environment.
1366            # environment.
1367          "enablePrivateEndpoint": True or False, # Optional. If `true`, access to the public endpoint of the GKE cluster is
1368              # denied.
1369          "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
1370              # range is used for assigning internal IP addresses to the cluster
1371              # master or set of masters and to the internal load balancer virtual IP.
1372              # This range must not overlap with any other ranges in use
1373              # within the cluster's network. If left blank, the default value of
1374              # '172.16.0.0/28' is used.
1375        },
1376      },
1377    },
1378    "createTime": "A String", # Output only.
1379        # The time at which this environment was created.
1380    "name": "A String", # The resource name of the environment, in the form:
1381        # "projects/{projectId}/locations/{locationId}/environments/{environmentId}"
1382  }
1383
1384  updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of
1385fields to update.
1386For example, to set the version of scikit-learn to install in the
1387environment to 0.19.0 and to remove an existing installation of
1388argparse, the `updateMask` parameter would include the following two
1389`paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and
1390"config.softwareConfig.pypiPackages.argparse". The included patch
1391environment would specify the scikit-learn version as follows:
1392
1393    {
1394      "config":{
1395        "softwareConfig":{
1396          "pypiPackages":{
1397            "scikit-learn":"==0.19.0"
1398          }
1399        }
1400      }
1401    }
1402
1403Note that in the above example, any existing PyPI packages
1404other than scikit-learn and argparse will be unaffected.
1405
1406Only one update type may be included in a single request's `updateMask`.
1407For example, one cannot update both the PyPI packages and
1408labels in the same request. However, it is possible to update multiple
1409members of a map field simultaneously in the same request. For example,
1410to set the labels "label1" and "label2" while clearing "label3" (assuming
1411it already exists), one can
1412provide the paths "labels.label1", "labels.label2", and "labels.label3"
1413and populate the patch environment as follows:
1414
1415    {
1416      "labels":{
1417        "label1":"new-label1-value"
1418        "label2":"new-label2-value"
1419      }
1420    }
1421
1422Note that in the above example, any existing labels that are not
1423included in the `updateMask` will be unaffected.
1424
1425It is also possible to replace an entire map field by providing the
1426map field's path in the `updateMask`. The new value of the field will
1427be that which is provided in the patch environment. For example, to
1428delete all pre-existing user-specified PyPI packages and
1429install botocore at version 1.7.14, the `updateMask` would contain
1430the path "config.softwareConfig.pypiPackages", and
1431the patch environment would be the following:
1432
1433    {
1434      "config":{
1435        "softwareConfig":{
1436          "pypiPackages":{
1437            "botocore":"==1.7.14"
1438          }
1439        }
1440      }
1441    }
1442
1443<strong>Note:</strong> Only the following fields can be updated:
1444
1445 <table>
1446 <tbody>
1447 <tr>
1448 <td><strong>Mask</strong></td>
1449 <td><strong>Purpose</strong></td>
1450 </tr>
1451 <tr>
1452 <td>config.softwareConfig.pypiPackages
1453 </td>
1454 <td>Replace all custom custom PyPI packages. If a replacement
1455 package map is not included in `environment`, all custom
1456 PyPI packages are cleared. It is an error to provide both this mask and a
1457 mask specifying an individual package.</td>
1458 </tr>
1459 <tr>
1460 <td>config.softwareConfig.pypiPackages.<var>packagename</var></td>
1461 <td>Update the custom PyPI package <var>packagename</var>,
1462 preserving other packages. To delete the package, include it in
1463 `updateMask`, and omit the mapping for it in
1464 `environment.config.softwareConfig.pypiPackages`. It is an error
1465 to provide both a mask of this form and the
1466 "config.softwareConfig.pypiPackages" mask.</td>
1467 </tr>
1468 <tr>
1469 <td>labels</td>
1470 <td>Replace all environment labels. If a replacement labels map is not
1471 included in `environment`, all labels are cleared. It is an error to
1472 provide both this mask and a mask specifying one or more individual
1473 labels.</td>
1474 </tr>
1475 <tr>
1476 <td>labels.<var>labelName</var></td>
1477 <td>Set the label named <var>labelName</var>, while preserving other
1478 labels. To delete the label, include it in `updateMask` and omit its
1479 mapping in `environment.labels`. It is an error to provide both a
1480 mask of this form and the "labels" mask.</td>
1481 </tr>
1482 <tr>
1483 <td>config.nodeCount</td>
1484 <td>Horizontally scale the number of nodes in the environment. An integer
1485 greater than or equal to 3 must be provided in the `config.nodeCount`
1486 field.
1487 </td>
1488 </tr>
1489 <tr>
1490 <td>config.softwareConfig.airflowConfigOverrides</td>
1491 <td>Replace all Apache Airflow config overrides. If a replacement config
1492 overrides map is not included in `environment`, all config overrides
1493 are cleared.
1494 It is an error to provide both this mask and a mask specifying one or
1495 more individual config overrides.</td>
1496 </tr>
1497 <tr>
1498 <td>config.softwareConfig.airflowConfigOverrides.<var>section</var>-<var>name
1499 </var></td>
1500 <td>Override the Apache Airflow config property <var>name</var> in the
1501 section named <var>section</var>, preserving other properties. To delete
1502 the property override, include it in `updateMask` and omit its mapping
1503 in `environment.config.softwareConfig.airflowConfigOverrides`.
1504 It is an error to provide both a mask of this form and the
1505 "config.softwareConfig.airflowConfigOverrides" mask.</td>
1506 </tr>
1507 <tr>
1508 <td>config.softwareConfig.envVariables</td>
1509 <td>Replace all environment variables. If a replacement environment
1510 variable map is not included in `environment`, all custom environment
1511 variables  are cleared.
1512 It is an error to provide both this mask and a mask specifying one or
1513 more individual environment variables.</td>
1514 </tr>
1515 <tr>
1516 <td>config.softwareConfig.imageVersion</td>
1517 <td>Upgrade the version of the environment in-place. Refer to
1518 `SoftwareConfig.image_version` for information on how to format the new
1519 image version. Additionally, the new image version cannot effect a version
1520 downgrade and must match the current image version's Composer major
1521 version and Airflow major and minor versions. Consult the
1522 <a href="/composer/docs/concepts/versioning/composer-versions">Cloud
1523 Composer Version List</a> for valid values.</td>
1524 </tr>
1525 </tbody>
1526 </table>
1527  x__xgafv: string, V1 error format.
1528    Allowed values
1529      1 - v1 error format
1530      2 - v2 error format
1531
1532Returns:
1533  An object of the form:
1534
1535    { # This resource represents a long-running operation that is the result of a
1536      # network API call.
1537    "metadata": { # Service-specific metadata associated with the operation.  It typically
1538        # contains progress information and common metadata such as create time.
1539        # Some services might not provide such metadata.  Any method that returns a
1540        # long-running operation should document the metadata type, if any.
1541      "a_key": "", # Properties of the object. Contains field @type with type URL.
1542    },
1543    "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
1545        # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1546        #
1547        # - Simple to use and understand for most users
1548        # - Flexible enough to meet unexpected needs
1549        #
1550        # # Overview
1551        #
1552        # The `Status` message contains three pieces of data: error code, error
1553        # message, and error details. The error code should be an enum value of
1554        # google.rpc.Code, but it may accept additional error codes if needed.  The
1555        # error message should be a developer-facing English message that helps
1556        # developers *understand* and *resolve* the error. If a localized user-facing
1557        # error message is needed, put the localized message in the error details or
1558        # localize it in the client. The optional error details may contain arbitrary
1559        # information about the error. There is a predefined set of error detail types
1560        # in the package `google.rpc` that can be used for common error conditions.
1561        #
1562        # # Language mapping
1563        #
1564        # The `Status` message is the logical representation of the error model, but it
1565        # is not necessarily the actual wire format. When the `Status` message is
1566        # exposed in different client libraries and different wire protocols, it can be
1567        # mapped differently. For example, it will likely be mapped to some exceptions
1568        # in Java, but more likely mapped to some error codes in C.
1569        #
1570        # # Other uses
1571        #
1572        # The error model and the `Status` message can be used in a variety of
1573        # environments, either with or without APIs, to provide a
1574        # consistent developer experience across different environments.
1575        #
1576        # Example uses of this error model include:
1577        #
1578        # - Partial errors. If a service needs to return partial errors to the client,
1579        #     it may embed the `Status` in the normal response to indicate the partial
1580        #     errors.
1581        #
1582        # - Workflow errors. A typical workflow has multiple steps. Each step may
1583        #     have a `Status` message for error reporting.
1584        #
1585        # - Batch operations. If a client uses batch request and batch response, the
1586        #     `Status` message should be used directly inside batch response, one for
1587        #     each error sub-response.
1588        #
1589        # - Asynchronous operations. If an API call embeds asynchronous operation
1590        #     results in its response, the status of those operations should be
1591        #     represented directly using the `Status` message.
1592        #
1593        # - Logging. If some API errors are stored in logs, the message `Status` could
1594        #     be used directly after any stripping needed for security/privacy reasons.
1595      "message": "A String", # A developer-facing error message, which should be in English. Any
1596          # user-facing error message should be localized and sent in the
1597          # google.rpc.Status.details field, or localized by the client.
1598      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1599      "details": [ # A list of messages that carry the error details.  There is a common set of
1600          # message types for APIs to use.
1601        {
1602          "a_key": "", # Properties of the object. Contains field @type with type URL.
1603        },
1604      ],
1605    },
1606    "done": True or False, # If the value is `false`, it means the operation is still in progress.
1607        # If `true`, the operation is completed, and either `error` or `response` is
1608        # available.
1609    "response": { # The normal response of the operation in case of success.  If the original
1610        # method returns no data on success, such as `Delete`, the response is
1611        # `google.protobuf.Empty`.  If the original method is standard
1612        # `Get`/`Create`/`Update`, the response should be the resource.  For other
1613        # methods, the response should have the type `XxxResponse`, where `Xxx`
1614        # is the original method name.  For example, if the original method name
1615        # is `TakeSnapshot()`, the inferred response type is
1616        # `TakeSnapshotResponse`.
1617      "a_key": "", # Properties of the object. Contains field @type with type URL.
1618    },
1619    "name": "A String", # The server-assigned name, which is only unique within the same service that
1620        # originally returns it. If you use the default HTTP mapping, the
1621        # `name` should be a resource name ending with `operations/{unique_id}`.
1622  }</pre>
1623</div>
1624
1625</body></html>