com.google.api.services.composer.v1.model.EnvironmentConfig Maven / Gradle / Ivy
The newest version!
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.composer.v1.model;
/**
* Configuration information for an environment.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Cloud Composer API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class EnvironmentConfig extends com.google.api.client.json.GenericJson {
/**
* Output only. The 'bring your own identity' variant of the URI of the Apache Airflow Web UI
* hosted within this environment, to be accessed with external identities using workforce
* identity federation (see [Access environments with workforce identity
* federation](/composer/docs/composer-2/access-environments-with-workforce-identity-federation)).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String airflowByoidUri;
/**
* Output only. The URI of the Apache Airflow Web UI hosted within this environment (see [Airflow
* web interface](/composer/docs/how-to/accessing/airflow-web-interface)).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String airflowUri;
/**
* Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud Storage
* objects reside in a flat namespace, a hierarchical file tree can be simulated using
* "/"-delimited object name prefixes. DAG objects for this environment reside in a simulated
* directory with the given prefix.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String dagGcsPrefix;
/**
* Optional. The configuration setting for Airflow database data retention mechanism.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private DataRetentionConfig dataRetentionConfig;
/**
* Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow
* software.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private DatabaseConfig databaseConfig;
/**
* Optional. The encryption options for the Cloud Composer environment and its dependencies.
* Cannot be updated.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private EncryptionConfig encryptionConfig;
/**
* Optional. The size of the Cloud Composer environment. This field is supported for Cloud
* Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String environmentSize;
/**
* Output only. The Kubernetes Engine cluster used to run this environment.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String gkeCluster;
/**
* 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, the default value for maintenance
* window is applied. By default, maintenance windows are from 00:00:00 to 04:00:00 (GMT) on
* Friday, Saturday, and Sunday every week.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private MaintenanceWindow maintenanceWindow;
/**
* Optional. The configuration options for GKE cluster master authorized networks. By default
* master authorized networks feature is: - in case of private environment: enabled with no
* external networks allowlisted. - in case of public environment: disabled.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private MasterAuthorizedNetworksConfig masterAuthorizedNetworksConfig;
/**
* The configuration used for the Kubernetes Engine cluster.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private NodeConfig nodeConfig;
/**
* The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.
* This field is supported for Cloud Composer environments in versions
* composer-1.*.*-airflow-*.*.*.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer nodeCount;
/**
* The configuration used for the Private IP Cloud Composer environment.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private PrivateEnvironmentConfig privateEnvironmentConfig;
/**
* Optional. The Recovery settings configuration of an environment. This field is supported for
* Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private RecoveryConfig recoveryConfig;
/**
* Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud
* Composer environments in versions composer-2.2.0-airflow-*.*.* and newer.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String resilienceMode;
/**
* The configuration settings for software inside the environment.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private SoftwareConfig softwareConfig;
/**
* Optional. The configuration settings for the Airflow web server App Engine instance.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private WebServerConfig webServerConfig;
/**
* Optional. The network-level access control policy for the Airflow web server. If unspecified,
* no network-level access restrictions will be applied.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private WebServerNetworkAccessControl webServerNetworkAccessControl;
/**
* 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private WorkloadsConfig workloadsConfig;
/**
* Output only. The 'bring your own identity' variant of the URI of the Apache Airflow Web UI
* hosted within this environment, to be accessed with external identities using workforce
* identity federation (see [Access environments with workforce identity
* federation](/composer/docs/composer-2/access-environments-with-workforce-identity-federation)).
* @return value or {@code null} for none
*/
public java.lang.String getAirflowByoidUri() {
return airflowByoidUri;
}
/**
* Output only. The 'bring your own identity' variant of the URI of the Apache Airflow Web UI
* hosted within this environment, to be accessed with external identities using workforce
* identity federation (see [Access environments with workforce identity
* federation](/composer/docs/composer-2/access-environments-with-workforce-identity-federation)).
* @param airflowByoidUri airflowByoidUri or {@code null} for none
*/
public EnvironmentConfig setAirflowByoidUri(java.lang.String airflowByoidUri) {
this.airflowByoidUri = airflowByoidUri;
return this;
}
/**
* Output only. The URI of the Apache Airflow Web UI hosted within this environment (see [Airflow
* web interface](/composer/docs/how-to/accessing/airflow-web-interface)).
* @return value or {@code null} for none
*/
public java.lang.String getAirflowUri() {
return airflowUri;
}
/**
* Output only. The URI of the Apache Airflow Web UI hosted within this environment (see [Airflow
* web interface](/composer/docs/how-to/accessing/airflow-web-interface)).
* @param airflowUri airflowUri or {@code null} for none
*/
public EnvironmentConfig setAirflowUri(java.lang.String airflowUri) {
this.airflowUri = airflowUri;
return this;
}
/**
* Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud Storage
* objects reside in a flat namespace, a hierarchical file tree can be simulated using
* "/"-delimited object name prefixes. DAG objects for this environment reside in a simulated
* directory with the given prefix.
* @return value or {@code null} for none
*/
public java.lang.String getDagGcsPrefix() {
return dagGcsPrefix;
}
/**
* Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud Storage
* objects reside in a flat namespace, a hierarchical file tree can be simulated using
* "/"-delimited object name prefixes. DAG objects for this environment reside in a simulated
* directory with the given prefix.
* @param dagGcsPrefix dagGcsPrefix or {@code null} for none
*/
public EnvironmentConfig setDagGcsPrefix(java.lang.String dagGcsPrefix) {
this.dagGcsPrefix = dagGcsPrefix;
return this;
}
/**
* Optional. The configuration setting for Airflow database data retention mechanism.
* @return value or {@code null} for none
*/
public DataRetentionConfig getDataRetentionConfig() {
return dataRetentionConfig;
}
/**
* Optional. The configuration setting for Airflow database data retention mechanism.
* @param dataRetentionConfig dataRetentionConfig or {@code null} for none
*/
public EnvironmentConfig setDataRetentionConfig(DataRetentionConfig dataRetentionConfig) {
this.dataRetentionConfig = dataRetentionConfig;
return this;
}
/**
* Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow
* software.
* @return value or {@code null} for none
*/
public DatabaseConfig getDatabaseConfig() {
return databaseConfig;
}
/**
* Optional. The configuration settings for Cloud SQL instance used internally by Apache Airflow
* software.
* @param databaseConfig databaseConfig or {@code null} for none
*/
public EnvironmentConfig setDatabaseConfig(DatabaseConfig databaseConfig) {
this.databaseConfig = databaseConfig;
return this;
}
/**
* Optional. The encryption options for the Cloud Composer environment and its dependencies.
* Cannot be updated.
* @return value or {@code null} for none
*/
public EncryptionConfig getEncryptionConfig() {
return encryptionConfig;
}
/**
* Optional. The encryption options for the Cloud Composer environment and its dependencies.
* Cannot be updated.
* @param encryptionConfig encryptionConfig or {@code null} for none
*/
public EnvironmentConfig setEncryptionConfig(EncryptionConfig encryptionConfig) {
this.encryptionConfig = encryptionConfig;
return this;
}
/**
* Optional. The size of the Cloud Composer environment. This field is supported for Cloud
* Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
* @return value or {@code null} for none
*/
public java.lang.String getEnvironmentSize() {
return environmentSize;
}
/**
* Optional. The size of the Cloud Composer environment. This field is supported for Cloud
* Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
* @param environmentSize environmentSize or {@code null} for none
*/
public EnvironmentConfig setEnvironmentSize(java.lang.String environmentSize) {
this.environmentSize = environmentSize;
return this;
}
/**
* Output only. The Kubernetes Engine cluster used to run this environment.
* @return value or {@code null} for none
*/
public java.lang.String getGkeCluster() {
return gkeCluster;
}
/**
* Output only. The Kubernetes Engine cluster used to run this environment.
* @param gkeCluster gkeCluster or {@code null} for none
*/
public EnvironmentConfig setGkeCluster(java.lang.String gkeCluster) {
this.gkeCluster = gkeCluster;
return this;
}
/**
* 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, the default value for maintenance
* window is applied. By default, maintenance windows are from 00:00:00 to 04:00:00 (GMT) on
* Friday, Saturday, and Sunday every week.
* @return value or {@code null} for none
*/
public MaintenanceWindow getMaintenanceWindow() {
return maintenanceWindow;
}
/**
* 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, the default value for maintenance
* window is applied. By default, maintenance windows are from 00:00:00 to 04:00:00 (GMT) on
* Friday, Saturday, and Sunday every week.
* @param maintenanceWindow maintenanceWindow or {@code null} for none
*/
public EnvironmentConfig setMaintenanceWindow(MaintenanceWindow maintenanceWindow) {
this.maintenanceWindow = maintenanceWindow;
return this;
}
/**
* Optional. The configuration options for GKE cluster master authorized networks. By default
* master authorized networks feature is: - in case of private environment: enabled with no
* external networks allowlisted. - in case of public environment: disabled.
* @return value or {@code null} for none
*/
public MasterAuthorizedNetworksConfig getMasterAuthorizedNetworksConfig() {
return masterAuthorizedNetworksConfig;
}
/**
* Optional. The configuration options for GKE cluster master authorized networks. By default
* master authorized networks feature is: - in case of private environment: enabled with no
* external networks allowlisted. - in case of public environment: disabled.
* @param masterAuthorizedNetworksConfig masterAuthorizedNetworksConfig or {@code null} for none
*/
public EnvironmentConfig setMasterAuthorizedNetworksConfig(MasterAuthorizedNetworksConfig masterAuthorizedNetworksConfig) {
this.masterAuthorizedNetworksConfig = masterAuthorizedNetworksConfig;
return this;
}
/**
* The configuration used for the Kubernetes Engine cluster.
* @return value or {@code null} for none
*/
public NodeConfig getNodeConfig() {
return nodeConfig;
}
/**
* The configuration used for the Kubernetes Engine cluster.
* @param nodeConfig nodeConfig or {@code null} for none
*/
public EnvironmentConfig setNodeConfig(NodeConfig nodeConfig) {
this.nodeConfig = nodeConfig;
return this;
}
/**
* The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.
* This field is supported for Cloud Composer environments in versions
* composer-1.*.*-airflow-*.*.*.
* @return value or {@code null} for none
*/
public java.lang.Integer getNodeCount() {
return nodeCount;
}
/**
* The number of nodes in the Kubernetes Engine cluster that will be used to run this environment.
* This field is supported for Cloud Composer environments in versions
* composer-1.*.*-airflow-*.*.*.
* @param nodeCount nodeCount or {@code null} for none
*/
public EnvironmentConfig setNodeCount(java.lang.Integer nodeCount) {
this.nodeCount = nodeCount;
return this;
}
/**
* The configuration used for the Private IP Cloud Composer environment.
* @return value or {@code null} for none
*/
public PrivateEnvironmentConfig getPrivateEnvironmentConfig() {
return privateEnvironmentConfig;
}
/**
* The configuration used for the Private IP Cloud Composer environment.
* @param privateEnvironmentConfig privateEnvironmentConfig or {@code null} for none
*/
public EnvironmentConfig setPrivateEnvironmentConfig(PrivateEnvironmentConfig privateEnvironmentConfig) {
this.privateEnvironmentConfig = privateEnvironmentConfig;
return this;
}
/**
* Optional. The Recovery settings configuration of an environment. This field is supported for
* Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
* @return value or {@code null} for none
*/
public RecoveryConfig getRecoveryConfig() {
return recoveryConfig;
}
/**
* Optional. The Recovery settings configuration of an environment. This field is supported for
* Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
* @param recoveryConfig recoveryConfig or {@code null} for none
*/
public EnvironmentConfig setRecoveryConfig(RecoveryConfig recoveryConfig) {
this.recoveryConfig = recoveryConfig;
return this;
}
/**
* Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud
* Composer environments in versions composer-2.2.0-airflow-*.*.* and newer.
* @return value or {@code null} for none
*/
public java.lang.String getResilienceMode() {
return resilienceMode;
}
/**
* Optional. Resilience mode of the Cloud Composer Environment. This field is supported for Cloud
* Composer environments in versions composer-2.2.0-airflow-*.*.* and newer.
* @param resilienceMode resilienceMode or {@code null} for none
*/
public EnvironmentConfig setResilienceMode(java.lang.String resilienceMode) {
this.resilienceMode = resilienceMode;
return this;
}
/**
* The configuration settings for software inside the environment.
* @return value or {@code null} for none
*/
public SoftwareConfig getSoftwareConfig() {
return softwareConfig;
}
/**
* The configuration settings for software inside the environment.
* @param softwareConfig softwareConfig or {@code null} for none
*/
public EnvironmentConfig setSoftwareConfig(SoftwareConfig softwareConfig) {
this.softwareConfig = softwareConfig;
return this;
}
/**
* Optional. The configuration settings for the Airflow web server App Engine instance.
* @return value or {@code null} for none
*/
public WebServerConfig getWebServerConfig() {
return webServerConfig;
}
/**
* Optional. The configuration settings for the Airflow web server App Engine instance.
* @param webServerConfig webServerConfig or {@code null} for none
*/
public EnvironmentConfig setWebServerConfig(WebServerConfig webServerConfig) {
this.webServerConfig = webServerConfig;
return this;
}
/**
* Optional. The network-level access control policy for the Airflow web server. If unspecified,
* no network-level access restrictions will be applied.
* @return value or {@code null} for none
*/
public WebServerNetworkAccessControl getWebServerNetworkAccessControl() {
return webServerNetworkAccessControl;
}
/**
* Optional. The network-level access control policy for the Airflow web server. If unspecified,
* no network-level access restrictions will be applied.
* @param webServerNetworkAccessControl webServerNetworkAccessControl or {@code null} for none
*/
public EnvironmentConfig setWebServerNetworkAccessControl(WebServerNetworkAccessControl webServerNetworkAccessControl) {
this.webServerNetworkAccessControl = webServerNetworkAccessControl;
return this;
}
/**
* 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.
* @return value or {@code null} for none
*/
public WorkloadsConfig getWorkloadsConfig() {
return workloadsConfig;
}
/**
* 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.
* @param workloadsConfig workloadsConfig or {@code null} for none
*/
public EnvironmentConfig setWorkloadsConfig(WorkloadsConfig workloadsConfig) {
this.workloadsConfig = workloadsConfig;
return this;
}
@Override
public EnvironmentConfig set(String fieldName, Object value) {
return (EnvironmentConfig) super.set(fieldName, value);
}
@Override
public EnvironmentConfig clone() {
return (EnvironmentConfig) super.clone();
}
}