From 78c0d8decbe640c522c45850c97002e7da12f4e0 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 6 Jul 2021 07:11:22 +0000 Subject: [PATCH] feat(composer): update the api #### composer:v1 The following keys were added: - schemas.CheckUpgradeResponse.properties.imageVersion.type (Total Keys: 1) - schemas.CheckUpgradeResponse.properties.pypiDependencies (Total Keys: 2) #### composer:v1beta1 The following keys were added: - schemas.CheckUpgradeResponse.properties.imageVersion.type (Total Keys: 1) - schemas.CheckUpgradeResponse.properties.pypiDependencies (Total Keys: 2) - schemas.EnvironmentConfig.properties.environmentSize.type (Total Keys: 1) - schemas.EnvironmentConfig.properties.workloadsConfig.$ref (Total Keys: 1) - schemas.PrivateEnvironmentConfig.properties.cloudComposerNetworkIpv4CidrBlock.type (Total Keys: 1) - schemas.PrivateEnvironmentConfig.properties.cloudComposerNetworkIpv4ReservedRange (Total Keys: 2) - schemas.SchedulerResource (Total Keys: 10) - schemas.WebServerResource (Total Keys: 8) - schemas.WorkerResource (Total Keys: 12) - schemas.WorkloadsConfig (Total Keys: 5) --- ...beta1.projects.locations.environments.html | 102 +++++++++++- .../documents/composer.v1.json | 13 +- .../documents/composer.v1beta1.json | 146 +++++++++++++++++- 3 files changed, 252 insertions(+), 9 deletions(-) diff --git a/docs/dyn/composer_v1beta1.projects.locations.environments.html b/docs/dyn/composer_v1beta1.projects.locations.environments.html index 7519b7367ba..4543893a354 100644 --- a/docs/dyn/composer_v1beta1.projects.locations.environments.html +++ b/docs/dyn/composer_v1beta1.projects.locations.environments.html @@ -168,6 +168,7 @@

Method Details

"encryptionConfig": { # The encryption options for the Cloud Composer environment and its dependencies. # Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated. "kmsKeyName": "A String", # Optional. Customer-managed Encryption Key available through Google's Key Management Service. Cannot be updated. If not specified, Google-managed key will be used. }, + "environmentSize": "A String", # Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment. "maintenanceWindow": { # The configuration settings for Cloud Composer maintenance window. The following example: { "startTime":"2019-08-01T01:00:00Z" "endTime":"2019-08-01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" } would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday. # Optional. The maintenance window is the period when Cloud Composer components may undergo maintenance. It is defined so that maintenance is not executed during peak hours or critical time periods. The system will not be under maintenance for every occurrence of this window, but when maintenance is planned, it will be scheduled during the window. The maintenance window period must encompass at least 12 hours per week. This may be split into multiple chunks, each with a size of at least 4 hours. If this value is omitted, Cloud Composer components may be subject to maintenance at any time. "endTime": "A String", # Required. Maintenance window end time. It is used only to calculate the duration of the maintenance window. The value for end_time must be in the future, relative to `start_time`. @@ -190,7 +191,7 @@

Method Details

"oauthScopes": [ # Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated. "A String", ], - "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated . + "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine communications, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" If a subnetwork is provided, `nodeConfig.network` must also be provided, and the subnetwork must belong to the enclosing environment's project and location. "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. "A String", @@ -198,6 +199,8 @@

Method Details

}, "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer environment. # The configuration used for the Private IP Cloud Composer environment. + "cloudComposerNetworkIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "cloudComposerNetworkIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true . "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer environment. # Optional. Configuration for the private GKE cluster for a Private IP Cloud Composer environment. @@ -232,6 +235,26 @@

Method Details

}, ], }, + "workloadsConfig": { # The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. # Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "scheduler": { # Configuration for resources used by Airflow schedulers. # Optional. Resources used by Airflow schedulers. + "count": 42, # Optional. The number of schedulers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow scheduler replica. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow scheduler replica. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow scheduler replica. + }, + "webServer": { # Configuration for resources used by Airflow web server. # Optional. Resources used by Airflow web server. + "cpu": 3.14, # Optional. CPU request and limit for Airflow web server. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for Airflow web server. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for Airflow web server. + }, + "worker": { # Configuration for resources used by Airflow workers. # Optional. Resources used by Airflow workers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow worker replica. + "maxCount": 42, # Optional. Maximum number of workers for autoscaling. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow worker replica. + "minCount": 42, # Optional. Minimum number of workers for autoscaling. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow worker replica. + }, + }, }, "createTime": "A String", # Output only. The time at which this environment was created. "labels": { # Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. @@ -331,6 +354,7 @@

Method Details

"encryptionConfig": { # The encryption options for the Cloud Composer environment and its dependencies. # Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated. "kmsKeyName": "A String", # Optional. Customer-managed Encryption Key available through Google's Key Management Service. Cannot be updated. If not specified, Google-managed key will be used. }, + "environmentSize": "A String", # Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment. "maintenanceWindow": { # The configuration settings for Cloud Composer maintenance window. The following example: { "startTime":"2019-08-01T01:00:00Z" "endTime":"2019-08-01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" } would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday. # Optional. The maintenance window is the period when Cloud Composer components may undergo maintenance. It is defined so that maintenance is not executed during peak hours or critical time periods. The system will not be under maintenance for every occurrence of this window, but when maintenance is planned, it will be scheduled during the window. The maintenance window period must encompass at least 12 hours per week. This may be split into multiple chunks, each with a size of at least 4 hours. If this value is omitted, Cloud Composer components may be subject to maintenance at any time. "endTime": "A String", # Required. Maintenance window end time. It is used only to calculate the duration of the maintenance window. The value for end_time must be in the future, relative to `start_time`. @@ -353,7 +377,7 @@

Method Details

"oauthScopes": [ # Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated. "A String", ], - "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated . + "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine communications, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" If a subnetwork is provided, `nodeConfig.network` must also be provided, and the subnetwork must belong to the enclosing environment's project and location. "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. "A String", @@ -361,6 +385,8 @@

Method Details

}, "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer environment. # The configuration used for the Private IP Cloud Composer environment. + "cloudComposerNetworkIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "cloudComposerNetworkIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true . "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer environment. # Optional. Configuration for the private GKE cluster for a Private IP Cloud Composer environment. @@ -395,6 +421,26 @@

Method Details

}, ], }, + "workloadsConfig": { # The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. # Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "scheduler": { # Configuration for resources used by Airflow schedulers. # Optional. Resources used by Airflow schedulers. + "count": 42, # Optional. The number of schedulers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow scheduler replica. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow scheduler replica. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow scheduler replica. + }, + "webServer": { # Configuration for resources used by Airflow web server. # Optional. Resources used by Airflow web server. + "cpu": 3.14, # Optional. CPU request and limit for Airflow web server. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for Airflow web server. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for Airflow web server. + }, + "worker": { # Configuration for resources used by Airflow workers. # Optional. Resources used by Airflow workers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow worker replica. + "maxCount": 42, # Optional. Maximum number of workers for autoscaling. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow worker replica. + "minCount": 42, # Optional. Minimum number of workers for autoscaling. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow worker replica. + }, + }, }, "createTime": "A String", # Output only. The time at which this environment was created. "labels": { # Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. @@ -435,6 +481,7 @@

Method Details

"encryptionConfig": { # The encryption options for the Cloud Composer environment and its dependencies. # Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated. "kmsKeyName": "A String", # Optional. Customer-managed Encryption Key available through Google's Key Management Service. Cannot be updated. If not specified, Google-managed key will be used. }, + "environmentSize": "A String", # Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment. "maintenanceWindow": { # The configuration settings for Cloud Composer maintenance window. The following example: { "startTime":"2019-08-01T01:00:00Z" "endTime":"2019-08-01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" } would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday. # Optional. The maintenance window is the period when Cloud Composer components may undergo maintenance. It is defined so that maintenance is not executed during peak hours or critical time periods. The system will not be under maintenance for every occurrence of this window, but when maintenance is planned, it will be scheduled during the window. The maintenance window period must encompass at least 12 hours per week. This may be split into multiple chunks, each with a size of at least 4 hours. If this value is omitted, Cloud Composer components may be subject to maintenance at any time. "endTime": "A String", # Required. Maintenance window end time. It is used only to calculate the duration of the maintenance window. The value for end_time must be in the future, relative to `start_time`. @@ -457,7 +504,7 @@

Method Details

"oauthScopes": [ # Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated. "A String", ], - "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated . + "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine communications, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" If a subnetwork is provided, `nodeConfig.network` must also be provided, and the subnetwork must belong to the enclosing environment's project and location. "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. "A String", @@ -465,6 +512,8 @@

Method Details

}, "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer environment. # The configuration used for the Private IP Cloud Composer environment. + "cloudComposerNetworkIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "cloudComposerNetworkIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true . "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer environment. # Optional. Configuration for the private GKE cluster for a Private IP Cloud Composer environment. @@ -499,6 +548,26 @@

Method Details

}, ], }, + "workloadsConfig": { # The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. # Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "scheduler": { # Configuration for resources used by Airflow schedulers. # Optional. Resources used by Airflow schedulers. + "count": 42, # Optional. The number of schedulers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow scheduler replica. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow scheduler replica. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow scheduler replica. + }, + "webServer": { # Configuration for resources used by Airflow web server. # Optional. Resources used by Airflow web server. + "cpu": 3.14, # Optional. CPU request and limit for Airflow web server. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for Airflow web server. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for Airflow web server. + }, + "worker": { # Configuration for resources used by Airflow workers. # Optional. Resources used by Airflow workers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow worker replica. + "maxCount": 42, # Optional. Maximum number of workers for autoscaling. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow worker replica. + "minCount": 42, # Optional. Minimum number of workers for autoscaling. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow worker replica. + }, + }, }, "createTime": "A String", # Output only. The time at which this environment was created. "labels": { # Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. @@ -547,6 +616,7 @@

Method Details

"encryptionConfig": { # The encryption options for the Cloud Composer environment and its dependencies. # Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated. "kmsKeyName": "A String", # Optional. Customer-managed Encryption Key available through Google's Key Management Service. Cannot be updated. If not specified, Google-managed key will be used. }, + "environmentSize": "A String", # Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "gkeCluster": "A String", # Output only. The Kubernetes Engine cluster used to run this environment. "maintenanceWindow": { # The configuration settings for Cloud Composer maintenance window. The following example: { "startTime":"2019-08-01T01:00:00Z" "endTime":"2019-08-01T07:00:00Z" "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE" } would define a maintenance window between 01 and 07 hours UTC during each Tuesday and Wednesday. # Optional. The maintenance window is the period when Cloud Composer components may undergo maintenance. It is defined so that maintenance is not executed during peak hours or critical time periods. The system will not be under maintenance for every occurrence of this window, but when maintenance is planned, it will be scheduled during the window. The maintenance window period must encompass at least 12 hours per week. This may be split into multiple chunks, each with a size of at least 4 hours. If this value is omitted, Cloud Composer components may be subject to maintenance at any time. "endTime": "A String", # Required. Maintenance window end time. It is used only to calculate the duration of the maintenance window. The value for end_time must be in the future, relative to `start_time`. @@ -569,7 +639,7 @@

Method Details

"oauthScopes": [ # Optional. The set of Google API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated. "A String", ], - "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated . + "serviceAccount": "A String", # Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. "subnetwork": "A String", # Optional. The Compute Engine subnetwork to be used for machine communications, specified as a [relative resource name](/apis/design/resource_names#relative_resource_name). For example: "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" If a subnetwork is provided, `nodeConfig.network` must also be provided, and the subnetwork must belong to the enclosing environment's project and location. "tags": [ # Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Cannot be updated. "A String", @@ -577,6 +647,8 @@

Method Details

}, "nodeCount": 42, # The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. "privateEnvironmentConfig": { # The configuration information for configuring a Private IP Cloud Composer environment. # The configuration used for the Private IP Cloud Composer environment. + "cloudComposerNetworkIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "cloudComposerNetworkIpv4ReservedRange": "A String", # Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. "cloudSqlIpv4CidrBlock": "A String", # Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block "enablePrivateEnvironment": True or False, # Optional. If `true`, a Private IP Cloud Composer environment is created. If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to true . "privateClusterConfig": { # Configuration options for the private GKE cluster in a Cloud Composer environment. # Optional. Configuration for the private GKE cluster for a Private IP Cloud Composer environment. @@ -611,6 +683,26 @@

Method Details

}, ], }, + "workloadsConfig": { # The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. # Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + "scheduler": { # Configuration for resources used by Airflow schedulers. # Optional. Resources used by Airflow schedulers. + "count": 42, # Optional. The number of schedulers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow scheduler replica. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow scheduler replica. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow scheduler replica. + }, + "webServer": { # Configuration for resources used by Airflow web server. # Optional. Resources used by Airflow web server. + "cpu": 3.14, # Optional. CPU request and limit for Airflow web server. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for Airflow web server. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for Airflow web server. + }, + "worker": { # Configuration for resources used by Airflow workers. # Optional. Resources used by Airflow workers. + "cpu": 3.14, # Optional. CPU request and limit for a single Airflow worker replica. + "maxCount": 42, # Optional. Maximum number of workers for autoscaling. + "memoryGb": 3.14, # Optional. Memory (GB) request and limit for a single Airflow worker replica. + "minCount": 42, # Optional. Minimum number of workers for autoscaling. + "storageGb": 3.14, # Optional. Storage (GB) request and limit for a single Airflow worker replica. + }, + }, }, "createTime": "A String", # Output only. The time at which this environment was created. "labels": { # Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp: [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally constrained to be <= 128 bytes in size. @@ -622,7 +714,7 @@

Method Details

"uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment. This value is generated when the environment is created. } - updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.argparse". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } *Note:* Only the following fields can be updated: * config.softwareConfig.pypiPackages * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * config.softwareConfig.pypiPackages.packagename * Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the "config.softwareConfig.pypiPackages" mask. * labels * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * labels.labelName * Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the "labels" mask. * config.nodeCount * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. * config.webServerNetworkAccessControl * Replace the environment's current WebServerNetworkAccessControl. * config.softwareConfig.airflowConfigOverrides * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * config.softwareConfig.airflowConfigOverrides.section- name * Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the "config.softwareConfig.airflowConfigOverrides" mask. * config.softwareConfig.envVariables * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * config.softwareConfig.imageVersion * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade and must match the current image version's Composer major version and Airflow major and minor versions. Consult the Cloud Composer Version List for valid values. * config.databaseConfig.machineType * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. * config.webServerConfig.machineType * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. * config.maintenanceWindow * Maintenance window during which Cloud Composer components may be under maintenance. + updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.argparse". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } *Note:* Only the following fields can be updated: * config.softwareConfig.pypiPackages * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * config.softwareConfig.pypiPackages.packagename * Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the "config.softwareConfig.pypiPackages" mask. * labels * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * labels.labelName * Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the "labels" mask. * config.nodeCount * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. * config.webServerNetworkAccessControl * Replace the environment's current WebServerNetworkAccessControl. * config.softwareConfig.airflowConfigOverrides * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * config.softwareConfig.airflowConfigOverrides.section- name * Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the "config.softwareConfig.airflowConfigOverrides" mask. * config.softwareConfig.envVariables * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * config.softwareConfig.imageVersion * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade and must match the current image version's Composer major version and Airflow major and minor versions. Consult the Cloud Composer Version List for valid values. * config.softwareConfig.schedulerCount * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. * config.databaseConfig.machineType * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. * config.webServerConfig.machineType * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. * config.maintenanceWindow * Maintenance window during which Cloud Composer components may be under maintenance. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/googleapiclient/discovery_cache/documents/composer.v1.json b/googleapiclient/discovery_cache/documents/composer.v1.json index 5692ec14204..8a1e9a08ff6 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1.json @@ -406,7 +406,7 @@ } } }, - "revision": "20210614", + "revision": "20210625", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -448,10 +448,21 @@ "readOnly": true, "type": "string" }, + "imageVersion": { + "description": "Composer image for which the build was happening.", + "type": "string" + }, "pypiConflictBuildLogExtract": { "description": "Output only. Extract from a docker image build log containing information about pypi modules conflicts.", "readOnly": true, "type": "string" + }, + "pypiDependencies": { + "additionalProperties": { + "type": "string" + }, + "description": "Pypi dependencies specified in the environment configuration, at the time when the build was triggered.", + "type": "object" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json index 370c117cc56..49abe1621a6 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json @@ -270,7 +270,7 @@ "type": "string" }, "updateMask": { - "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.argparse\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } *Note:* Only the following fields can be updated: * config.softwareConfig.pypiPackages * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * config.softwareConfig.pypiPackages.packagename * Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the \"config.softwareConfig.pypiPackages\" mask. * labels * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * labels.labelName * Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the \"labels\" mask. * config.nodeCount * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. * config.webServerNetworkAccessControl * Replace the environment's current WebServerNetworkAccessControl. * config.softwareConfig.airflowConfigOverrides * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * config.softwareConfig.airflowConfigOverrides.section- name * Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the \"config.softwareConfig.airflowConfigOverrides\" mask. * config.softwareConfig.envVariables * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * config.softwareConfig.imageVersion * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade and must match the current image version's Composer major version and Airflow major and minor versions. Consult the Cloud Composer Version List for valid values. * config.databaseConfig.machineType * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. * config.webServerConfig.machineType * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. * config.maintenanceWindow * Maintenance window during which Cloud Composer components may be under maintenance.", + "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.argparse\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } *Note:* Only the following fields can be updated: * config.softwareConfig.pypiPackages * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * config.softwareConfig.pypiPackages.packagename * Update the custom PyPI package packagename, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the \"config.softwareConfig.pypiPackages\" mask. * labels * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * labels.labelName * Set the label named labelName, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the \"labels\" mask. * config.nodeCount * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. * config.webServerNetworkAccessControl * Replace the environment's current WebServerNetworkAccessControl. * config.softwareConfig.airflowConfigOverrides * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * config.softwareConfig.airflowConfigOverrides.section- name * Override the Apache Airflow config property name in the section named section, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the \"config.softwareConfig.airflowConfigOverrides\" mask. * config.softwareConfig.envVariables * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * config.softwareConfig.imageVersion * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade and must match the current image version's Composer major version and Airflow major and minor versions. Consult the Cloud Composer Version List for valid values. * config.softwareConfig.schedulerCount * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. * config.databaseConfig.machineType * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. * config.webServerConfig.machineType * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. * config.maintenanceWindow * Maintenance window during which Cloud Composer components may be under maintenance.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -462,7 +462,7 @@ } } }, - "revision": "20210614", + "revision": "20210625", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -515,10 +515,21 @@ "readOnly": true, "type": "string" }, + "imageVersion": { + "description": "Composer image for which the build was happening.", + "type": "string" + }, "pypiConflictBuildLogExtract": { "description": "Output only. Extract from a docker image build log containing information about pypi modules conflicts.", "readOnly": true, "type": "string" + }, + "pypiDependencies": { + "additionalProperties": { + "type": "string" + }, + "description": "Pypi dependencies specified in the environment configuration, at the time when the build was triggered.", + "type": "object" } }, "type": "object" @@ -654,6 +665,22 @@ "$ref": "EncryptionConfig", "description": "Optional. The encryption options for the Cloud Composer environment and its dependencies. Cannot be updated." }, + "environmentSize": { + "description": "Optional. The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "enum": [ + "ENVIRONMENT_SIZE_UNSPECIFIED", + "ENVIRONMENT_SIZE_SMALL", + "ENVIRONMENT_SIZE_MEDIUM", + "ENVIRONMENT_SIZE_LARGE" + ], + "enumDescriptions": [ + "The size of the environment is unspecified.", + "The environment size is small.", + "The environment size is medium.", + "The environment size is large." + ], + "type": "string" + }, "gkeCluster": { "description": "Output only. The Kubernetes Engine cluster used to run this environment.", "readOnly": true, @@ -687,6 +714,10 @@ "webServerNetworkAccessControl": { "$ref": "WebServerNetworkAccessControl", "description": "Optional. The network-level access control policy for the Airflow web server. If unspecified, no network-level access restrictions will be applied." + }, + "workloadsConfig": { + "$ref": "WorkloadsConfig", + "description": "Optional. The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web server and workers workloads. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer." } }, "type": "object" @@ -865,7 +896,7 @@ "type": "array" }, "serviceAccount": { - "description": "Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the \"default\" Compute Engine service account is used. Cannot be updated .", + "description": "Optional. The Google Cloud Platform Service Account to be used by the workloads. If a service account is not specified, the \"default\" Compute Engine service account is used. Cannot be updated.", "type": "string" }, "subnetwork": { @@ -1002,6 +1033,15 @@ "description": "The configuration information for configuring a Private IP Cloud Composer environment.", "id": "PrivateEnvironmentConfig", "properties": { + "cloudComposerNetworkIpv4CidrBlock": { + "description": "Optional. The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "type": "string" + }, + "cloudComposerNetworkIpv4ReservedRange": { + "description": "Output only. The IP range reserved for the tenant project's Cloud Composer network. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "readOnly": true, + "type": "string" + }, "cloudSqlIpv4CidrBlock": { "description": "Optional. The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block", "type": "string" @@ -1032,6 +1072,33 @@ "properties": {}, "type": "object" }, + "SchedulerResource": { + "description": "Configuration for resources used by Airflow schedulers.", + "id": "SchedulerResource", + "properties": { + "count": { + "description": "Optional. The number of schedulers.", + "format": "int32", + "type": "integer" + }, + "cpu": { + "description": "Optional. CPU request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for a single Airflow scheduler replica.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "SoftwareConfig": { "description": "Specifies the selection and configuration of software inside the environment.", "id": "SoftwareConfig", @@ -1119,6 +1186,79 @@ } }, "type": "object" + }, + "WebServerResource": { + "description": "Configuration for resources used by Airflow web server.", + "id": "WebServerResource", + "properties": { + "cpu": { + "description": "Optional. CPU request and limit for Airflow web server.", + "format": "float", + "type": "number" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for Airflow web server.", + "format": "float", + "type": "number" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for Airflow web server.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WorkerResource": { + "description": "Configuration for resources used by Airflow workers.", + "id": "WorkerResource", + "properties": { + "cpu": { + "description": "Optional. CPU request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + }, + "maxCount": { + "description": "Optional. Maximum number of workers for autoscaling.", + "format": "int32", + "type": "integer" + }, + "memoryGb": { + "description": "Optional. Memory (GB) request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + }, + "minCount": { + "description": "Optional. Minimum number of workers for autoscaling.", + "format": "int32", + "type": "integer" + }, + "storageGb": { + "description": "Optional. Storage (GB) request and limit for a single Airflow worker replica.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WorkloadsConfig": { + "description": "The Kubernetes workloads configuration for GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "id": "WorkloadsConfig", + "properties": { + "scheduler": { + "$ref": "SchedulerResource", + "description": "Optional. Resources used by Airflow schedulers." + }, + "webServer": { + "$ref": "WebServerResource", + "description": "Optional. Resources used by Airflow web server." + }, + "worker": { + "$ref": "WorkerResource", + "description": "Optional. Resources used by Airflow workers." + } + }, + "type": "object" } }, "servicePath": "",