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