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>