All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.composer.v1.model.SoftwareConfig 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;

/**
 * Specifies the selection and configuration of software inside the 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 SoftwareConfig extends com.google.api.client.json.GenericJson { /** * Optional. Apache Airflow configuration properties to override. Property keys contain the * section and property names, separated by a hyphen, for example "core- * dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square * brackets ("["), or closing square brackets ("]"). The property name must not be empty and must * not contain an equals sign ("=") or semicolon (";"). Section and property names must not * contain a period ("."). Apache Airflow configuration property names must be written in * [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any * character, and can be written in any lower/upper case format. Certain Apache Airflow * configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), * and cannot be overridden. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map airflowConfigOverrides; /** * Optional. The configuration for Cloud Data Lineage integration. * The value may be {@code null}. */ @com.google.api.client.util.Key private CloudDataLineageIntegration cloudDataLineageIntegration; /** * Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, * and webserver processes. Environment variable names must match the regular expression `a-zA- * Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match * the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the * following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER` * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map envVariables; /** * The version of the software running in the environment. This encapsulates both the version of * Cloud Composer functionality and the version of Apache Airflow. It must match the regular * expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0 * -9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is * supported and denies the request for an unsupported version. The Cloud Composer portion of the * image version is a full [semantic version](https://semver.org), or an alias in the form of * major version number or `latest`. When an alias is provided, the server replaces it with the * current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the * image version is a full semantic version that points to one of the supported Apache Airflow * versions, or an alias in the form of only major or major.minor versions specified. When an * alias is provided, the server replaces it with the latest Apache Airflow version that satisfies * the alias and is supported in the given Cloud Composer version. In all cases, the resolved * image version is stored in the same field. See also [version * list](/composer/docs/concepts/versioning/composer-versions) and [versioning * overview](/composer/docs/concepts/versioning/composer-versioning-overview). * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String imageVersion; /** * Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys * refer to the lowercase package name such as "numpy" and values are the lowercase extras and * version specifier such as "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To * specify a package without pinning it to a version specifier, use the empty string as the value. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map pypiPackages; /** * Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and * webserver processes. Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be * updated. This field is only supported for Cloud Composer environments in versions * composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String pythonVersion; /** * Optional. The number of schedulers for Airflow. This field is supported for Cloud Composer * environments in versions composer-1.*.*-airflow-2.*.*. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer schedulerCount; /** * Optional. Whether or not the web server uses custom plugins. If unspecified, the field defaults * to `PLUGINS_ENABLED`. This field is supported for Cloud Composer environments in versions * composer-3.*.*-airflow-*.*.* and newer. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String webServerPluginsMode; /** * Optional. Apache Airflow configuration properties to override. Property keys contain the * section and property names, separated by a hyphen, for example "core- * dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square * brackets ("["), or closing square brackets ("]"). The property name must not be empty and must * not contain an equals sign ("=") or semicolon (";"). Section and property names must not * contain a period ("."). Apache Airflow configuration property names must be written in * [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any * character, and can be written in any lower/upper case format. Certain Apache Airflow * configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), * and cannot be overridden. * @return value or {@code null} for none */ public java.util.Map getAirflowConfigOverrides() { return airflowConfigOverrides; } /** * Optional. Apache Airflow configuration properties to override. Property keys contain the * section and property names, separated by a hyphen, for example "core- * dags_are_paused_at_creation". Section names must not contain hyphens ("-"), opening square * brackets ("["), or closing square brackets ("]"). The property name must not be empty and must * not contain an equals sign ("=") or semicolon (";"). Section and property names must not * contain a period ("."). Apache Airflow configuration property names must be written in * [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any * character, and can be written in any lower/upper case format. Certain Apache Airflow * configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), * and cannot be overridden. * @param airflowConfigOverrides airflowConfigOverrides or {@code null} for none */ public SoftwareConfig setAirflowConfigOverrides(java.util.Map airflowConfigOverrides) { this.airflowConfigOverrides = airflowConfigOverrides; return this; } /** * Optional. The configuration for Cloud Data Lineage integration. * @return value or {@code null} for none */ public CloudDataLineageIntegration getCloudDataLineageIntegration() { return cloudDataLineageIntegration; } /** * Optional. The configuration for Cloud Data Lineage integration. * @param cloudDataLineageIntegration cloudDataLineageIntegration or {@code null} for none */ public SoftwareConfig setCloudDataLineageIntegration(CloudDataLineageIntegration cloudDataLineageIntegration) { this.cloudDataLineageIntegration = cloudDataLineageIntegration; return this; } /** * Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, * and webserver processes. Environment variable names must match the regular expression `a-zA- * Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match * the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the * following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER` * @return value or {@code null} for none */ public java.util.Map getEnvVariables() { return envVariables; } /** * Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, * and webserver processes. Environment variable names must match the regular expression `a-zA- * Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match * the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the * following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER` * @param envVariables envVariables or {@code null} for none */ public SoftwareConfig setEnvVariables(java.util.Map envVariables) { this.envVariables = envVariables; return this; } /** * The version of the software running in the environment. This encapsulates both the version of * Cloud Composer functionality and the version of Apache Airflow. It must match the regular * expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0 * -9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is * supported and denies the request for an unsupported version. The Cloud Composer portion of the * image version is a full [semantic version](https://semver.org), or an alias in the form of * major version number or `latest`. When an alias is provided, the server replaces it with the * current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the * image version is a full semantic version that points to one of the supported Apache Airflow * versions, or an alias in the form of only major or major.minor versions specified. When an * alias is provided, the server replaces it with the latest Apache Airflow version that satisfies * the alias and is supported in the given Cloud Composer version. In all cases, the resolved * image version is stored in the same field. See also [version * list](/composer/docs/concepts/versioning/composer-versions) and [versioning * overview](/composer/docs/concepts/versioning/composer-versioning-overview). * @return value or {@code null} for none */ public java.lang.String getImageVersion() { return imageVersion; } /** * The version of the software running in the environment. This encapsulates both the version of * Cloud Composer functionality and the version of Apache Airflow. It must match the regular * expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0 * -9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is * supported and denies the request for an unsupported version. The Cloud Composer portion of the * image version is a full [semantic version](https://semver.org), or an alias in the form of * major version number or `latest`. When an alias is provided, the server replaces it with the * current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the * image version is a full semantic version that points to one of the supported Apache Airflow * versions, or an alias in the form of only major or major.minor versions specified. When an * alias is provided, the server replaces it with the latest Apache Airflow version that satisfies * the alias and is supported in the given Cloud Composer version. In all cases, the resolved * image version is stored in the same field. See also [version * list](/composer/docs/concepts/versioning/composer-versions) and [versioning * overview](/composer/docs/concepts/versioning/composer-versioning-overview). * @param imageVersion imageVersion or {@code null} for none */ public SoftwareConfig setImageVersion(java.lang.String imageVersion) { this.imageVersion = imageVersion; return this; } /** * Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys * refer to the lowercase package name such as "numpy" and values are the lowercase extras and * version specifier such as "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To * specify a package without pinning it to a version specifier, use the empty string as the value. * @return value or {@code null} for none */ public java.util.Map getPypiPackages() { return pypiPackages; } /** * Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys * refer to the lowercase package name such as "numpy" and values are the lowercase extras and * version specifier such as "==1.12.0", "[devel,gcp_api]", or "[devel]>=1.8.2, <1.9.2". To * specify a package without pinning it to a version specifier, use the empty string as the value. * @param pypiPackages pypiPackages or {@code null} for none */ public SoftwareConfig setPypiPackages(java.util.Map pypiPackages) { this.pypiPackages = pypiPackages; return this; } /** * Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and * webserver processes. Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be * updated. This field is only supported for Cloud Composer environments in versions * composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3. * @return value or {@code null} for none */ public java.lang.String getPythonVersion() { return pythonVersion; } /** * Optional. The major version of Python used to run the Apache Airflow scheduler, worker, and * webserver processes. Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be * updated. This field is only supported for Cloud Composer environments in versions * composer-1.*.*-airflow-*.*.*. Environments in newer versions always use Python major version 3. * @param pythonVersion pythonVersion or {@code null} for none */ public SoftwareConfig setPythonVersion(java.lang.String pythonVersion) { this.pythonVersion = pythonVersion; return this; } /** * Optional. The number of schedulers for Airflow. This field is supported for Cloud Composer * environments in versions composer-1.*.*-airflow-2.*.*. * @return value or {@code null} for none */ public java.lang.Integer getSchedulerCount() { return schedulerCount; } /** * Optional. The number of schedulers for Airflow. This field is supported for Cloud Composer * environments in versions composer-1.*.*-airflow-2.*.*. * @param schedulerCount schedulerCount or {@code null} for none */ public SoftwareConfig setSchedulerCount(java.lang.Integer schedulerCount) { this.schedulerCount = schedulerCount; return this; } /** * Optional. Whether or not the web server uses custom plugins. If unspecified, the field defaults * to `PLUGINS_ENABLED`. This field is supported for Cloud Composer environments in versions * composer-3.*.*-airflow-*.*.* and newer. * @return value or {@code null} for none */ public java.lang.String getWebServerPluginsMode() { return webServerPluginsMode; } /** * Optional. Whether or not the web server uses custom plugins. If unspecified, the field defaults * to `PLUGINS_ENABLED`. This field is supported for Cloud Composer environments in versions * composer-3.*.*-airflow-*.*.* and newer. * @param webServerPluginsMode webServerPluginsMode or {@code null} for none */ public SoftwareConfig setWebServerPluginsMode(java.lang.String webServerPluginsMode) { this.webServerPluginsMode = webServerPluginsMode; return this; } @Override public SoftwareConfig set(String fieldName, Object value) { return (SoftwareConfig) super.set(fieldName, value); } @Override public SoftwareConfig clone() { return (SoftwareConfig) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy