/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ package com.amazonaws.services.mwaa.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation to create an * environment. For more information, see Get started with Amazon Managed Workflows * for Apache Airflow. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateEnvironmentRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. *

*/ private java.util.Map airflowConfigurationOptions; /** *

* The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. * Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, and * 2.5.1. For more information, see Apache Airflow versions on Amazon * Managed Workflows for Apache Airflow (MWAA). *

*/ private String airflowVersion; /** *

* The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding * or updating DAGs. *

*/ private String dagS3Path; /** *

* The environment class type. Valid values: mw1.small, mw1.medium, mw1.large * . For more information, see Amazon MWAA environment * class. *

*/ private String environmentClass; /** *

* The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon Web * Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web Services * services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution role. *

*/ private String executionRoleArn; /** *

* The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can use an * Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. *

*/ private String kmsKey; /** *

* Defines the Apache Airflow logs to send to CloudWatch Logs. *

*/ private LoggingConfigurationInput loggingConfiguration; /** *

* The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. For example, 20. When * there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one * worker that is included with your environment, or the number you specify in MinWorkers. *

*/ private Integer maxWorkers; /** *

* The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. When there are no more tasks running, * and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the * MinWorkers field. For example, 2. *

*/ private Integer minWorkers; /** *

* The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. *

*/ private String name; /** *

* The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources * for your environment. For more information, see About networking on Amazon * MWAA. *

*/ private NetworkConfiguration networkConfiguration; /** *

* The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a plugins.zip * file is updated. For more information, see How S3 Versioning * works. *

*/ private String pluginsS3ObjectVersion; /** *

* The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing custom * plugins. *

*/ private String pluginsS3Path; /** *

* The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each * time a requirements.txt file is updated. For more information, see How S3 Versioning * works. *

*/ private String requirementsS3ObjectVersion; /** *

* The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. *

*/ private String requirementsS3Path; /** *

* The number of Apache Airflow schedulers to run in your environment. Valid values: *

* */ private Integer schedulers; /** *

* The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For * example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an Amazon S3 bucket for * Amazon MWAA. *

*/ private String sourceBucketArn; /** *

* The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that Amazon * S3 assigns to the file every time you update the script. *

*

* Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The * following is an example: *

*

* 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

*

* For more information, see Using a startup script. *

*/ private String startupScriptS3ObjectVersion; /** *

* The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh. *

*

* Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can * use this script to install dependencies, modify Apache Airflow configuration options, and set environment * variables. For more information, see Using a startup script. *

*/ private String startupScriptS3Path; /** *

* The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services resources. *

*/ private java.util.Map tags; /** *

* The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. *

*/ private String webserverAccessMode; /** *

* The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. *

*/ private String weeklyMaintenanceWindowStart; /** *

* A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. *

* * @return A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. */ public java.util.Map getAirflowConfigurationOptions() { return airflowConfigurationOptions; } /** *

* A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. *

* * @param airflowConfigurationOptions * A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. */ public void setAirflowConfigurationOptions(java.util.Map airflowConfigurationOptions) { this.airflowConfigurationOptions = airflowConfigurationOptions; } /** *

* A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. *

* * @param airflowConfigurationOptions * A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your * environment. For more information, see Apache Airflow * configuration options. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withAirflowConfigurationOptions(java.util.Map airflowConfigurationOptions) { setAirflowConfigurationOptions(airflowConfigurationOptions); return this; } /** * Add a single AirflowConfigurationOptions entry * * @see CreateEnvironmentRequest#withAirflowConfigurationOptions * @returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest addAirflowConfigurationOptionsEntry(String key, String value) { if (null == this.airflowConfigurationOptions) { this.airflowConfigurationOptions = new java.util.HashMap(); } if (this.airflowConfigurationOptions.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.airflowConfigurationOptions.put(key, value); return this; } /** * Removes all the entries added into AirflowConfigurationOptions. * * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest clearAirflowConfigurationOptionsEntries() { this.airflowConfigurationOptions = null; return this; } /** *

* The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. * Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, and * 2.5.1. For more information, see Apache Airflow versions on Amazon * Managed Workflows for Apache Airflow (MWAA). *

* * @param airflowVersion * The Apache Airflow version for your environment. If no value is specified, it defaults to the latest * version. Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, * and 2.5.1. For more information, see Apache Airflow versions on * Amazon Managed Workflows for Apache Airflow (MWAA). */ public void setAirflowVersion(String airflowVersion) { this.airflowVersion = airflowVersion; } /** *

* The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. * Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, and * 2.5.1. For more information, see Apache Airflow versions on Amazon * Managed Workflows for Apache Airflow (MWAA). *

* * @return The Apache Airflow version for your environment. If no value is specified, it defaults to the latest * version. Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, * and 2.5.1. For more information, see Apache Airflow versions on * Amazon Managed Workflows for Apache Airflow (MWAA). */ public String getAirflowVersion() { return this.airflowVersion; } /** *

* The Apache Airflow version for your environment. If no value is specified, it defaults to the latest version. * Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, and * 2.5.1. For more information, see Apache Airflow versions on Amazon * Managed Workflows for Apache Airflow (MWAA). *

* * @param airflowVersion * The Apache Airflow version for your environment. If no value is specified, it defaults to the latest * version. Valid values: 1.10.12, 2.0.2, 2.2.2, 2.4.3, * and 2.5.1. For more information, see Apache Airflow versions on * Amazon Managed Workflows for Apache Airflow (MWAA). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withAirflowVersion(String airflowVersion) { setAirflowVersion(airflowVersion); return this; } /** *

* The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding * or updating DAGs. *

* * @param dagS3Path * The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding or updating * DAGs. */ public void setDagS3Path(String dagS3Path) { this.dagS3Path = dagS3Path; } /** *

* The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding * or updating DAGs. *

* * @return The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding or updating * DAGs. */ public String getDagS3Path() { return this.dagS3Path; } /** *

* The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding * or updating DAGs. *

* * @param dagS3Path * The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. For more * information, see Adding or updating * DAGs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withDagS3Path(String dagS3Path) { setDagS3Path(dagS3Path); return this; } /** *

* The environment class type. Valid values: mw1.small, mw1.medium, mw1.large * . For more information, see Amazon MWAA environment * class. *

* * @param environmentClass * The environment class type. Valid values: mw1.small, mw1.medium, * mw1.large. For more information, see Amazon MWAA environment * class. */ public void setEnvironmentClass(String environmentClass) { this.environmentClass = environmentClass; } /** *

* The environment class type. Valid values: mw1.small, mw1.medium, mw1.large * . For more information, see Amazon MWAA environment * class. *

* * @return The environment class type. Valid values: mw1.small, mw1.medium, * mw1.large. For more information, see Amazon MWAA environment * class. */ public String getEnvironmentClass() { return this.environmentClass; } /** *

* The environment class type. Valid values: mw1.small, mw1.medium, mw1.large * . For more information, see Amazon MWAA environment * class. *

* * @param environmentClass * The environment class type. Valid values: mw1.small, mw1.medium, * mw1.large. For more information, see Amazon MWAA environment * class. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withEnvironmentClass(String environmentClass) { setEnvironmentClass(environmentClass); return this; } /** *

* The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon Web * Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web Services * services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution role. *

* * @param executionRoleArn * The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon * Web Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web * Services services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution * role. */ public void setExecutionRoleArn(String executionRoleArn) { this.executionRoleArn = executionRoleArn; } /** *

* The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon Web * Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web Services * services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution role. *

* * @return The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon * Web Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web * Services services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution * role. */ public String getExecutionRoleArn() { return this.executionRoleArn; } /** *

* The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon Web * Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web Services * services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution role. *

* * @param executionRoleArn * The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an Amazon * Web Services Identity and Access Management (IAM) role that grants MWAA permission to access Amazon Web * Services services and resources used by your environment. For example, * arn:aws:iam::123456789:role/my-execution-role. For more information, see Amazon MWAA Execution * role. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withExecutionRoleArn(String executionRoleArn) { setExecutionRoleArn(executionRoleArn); return this; } /** *

* The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can use an * Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. *

* * @param kmsKey * The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can * use an Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. */ public void setKmsKey(String kmsKey) { this.kmsKey = kmsKey; } /** *

* The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can use an * Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. *

* * @return The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can * use an Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. */ public String getKmsKey() { return this.kmsKey; } /** *

* The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can use an * Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. *

* * @param kmsKey * The Amazon Web Services Key Management Service (KMS) key to encrypt the data in your environment. You can * use an Amazon Web Services owned CMK, or a Customer managed CMK (advanced). For more information, see Create an Amazon MWAA * environment. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withKmsKey(String kmsKey) { setKmsKey(kmsKey); return this; } /** *

* Defines the Apache Airflow logs to send to CloudWatch Logs. *

* * @param loggingConfiguration * Defines the Apache Airflow logs to send to CloudWatch Logs. */ public void setLoggingConfiguration(LoggingConfigurationInput loggingConfiguration) { this.loggingConfiguration = loggingConfiguration; } /** *

* Defines the Apache Airflow logs to send to CloudWatch Logs. *

* * @return Defines the Apache Airflow logs to send to CloudWatch Logs. */ public LoggingConfigurationInput getLoggingConfiguration() { return this.loggingConfiguration; } /** *

* Defines the Apache Airflow logs to send to CloudWatch Logs. *

* * @param loggingConfiguration * Defines the Apache Airflow logs to send to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withLoggingConfiguration(LoggingConfigurationInput loggingConfiguration) { setLoggingConfiguration(loggingConfiguration); return this; } /** *

* The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. For example, 20. When * there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one * worker that is included with your environment, or the number you specify in MinWorkers. *

* * @param maxWorkers * The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache * Airflow workers up to the number you specify in the MaxWorkers field. For example, * 20. When there are no more tasks running, and no more in the queue, MWAA disposes of the * extra workers leaving the one worker that is included with your environment, or the number you specify in * MinWorkers. */ public void setMaxWorkers(Integer maxWorkers) { this.maxWorkers = maxWorkers; } /** *

* The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. For example, 20. When * there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one * worker that is included with your environment, or the number you specify in MinWorkers. *

* * @return The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache * Airflow workers up to the number you specify in the MaxWorkers field. For example, * 20. When there are no more tasks running, and no more in the queue, MWAA disposes of the * extra workers leaving the one worker that is included with your environment, or the number you specify in * MinWorkers. */ public Integer getMaxWorkers() { return this.maxWorkers; } /** *

* The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. For example, 20. When * there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one * worker that is included with your environment, or the number you specify in MinWorkers. *

* * @param maxWorkers * The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache * Airflow workers up to the number you specify in the MaxWorkers field. For example, * 20. When there are no more tasks running, and no more in the queue, MWAA disposes of the * extra workers leaving the one worker that is included with your environment, or the number you specify in * MinWorkers. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withMaxWorkers(Integer maxWorkers) { setMaxWorkers(maxWorkers); return this; } /** *

* The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. When there are no more tasks running, * and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the * MinWorkers field. For example, 2. *

* * @param minWorkers * The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache * Airflow workers up to the number you specify in the MaxWorkers field. When there are no more * tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you * specify in the MinWorkers field. For example, 2. */ public void setMinWorkers(Integer minWorkers) { this.minWorkers = minWorkers; } /** *

* The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. When there are no more tasks running, * and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the * MinWorkers field. For example, 2. *

* * @return The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache * Airflow workers up to the number you specify in the MaxWorkers field. When there are no more * tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you * specify in the MinWorkers field. For example, 2. */ public Integer getMinWorkers() { return this.minWorkers; } /** *

* The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow * workers up to the number you specify in the MaxWorkers field. When there are no more tasks running, * and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the * MinWorkers field. For example, 2. *

* * @param minWorkers * The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache * Airflow workers up to the number you specify in the MaxWorkers field. When there are no more * tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you * specify in the MinWorkers field. For example, 2. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withMinWorkers(Integer minWorkers) { setMinWorkers(minWorkers); return this; } /** *

* The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. *

* * @param name * The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */ public void setName(String name) { this.name = name; } /** *

* The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. *

* * @return The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. */ public String getName() { return this.name; } /** *

* The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. *

* * @param name * The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withName(String name) { setName(name); return this; } /** *

* The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources * for your environment. For more information, see About networking on Amazon * MWAA. *

* * @param networkConfiguration * The VPC networking components used to secure and enable network traffic between the Amazon Web Services * resources for your environment. For more information, see About networking on Amazon * MWAA. */ public void setNetworkConfiguration(NetworkConfiguration networkConfiguration) { this.networkConfiguration = networkConfiguration; } /** *

* The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources * for your environment. For more information, see About networking on Amazon * MWAA. *

* * @return The VPC networking components used to secure and enable network traffic between the Amazon Web Services * resources for your environment. For more information, see About networking on Amazon * MWAA. */ public NetworkConfiguration getNetworkConfiguration() { return this.networkConfiguration; } /** *

* The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources * for your environment. For more information, see About networking on Amazon * MWAA. *

* * @param networkConfiguration * The VPC networking components used to secure and enable network traffic between the Amazon Web Services * resources for your environment. For more information, see About networking on Amazon * MWAA. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withNetworkConfiguration(NetworkConfiguration networkConfiguration) { setNetworkConfiguration(networkConfiguration); return this; } /** *

* The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a plugins.zip * file is updated. For more information, see How S3 Versioning * works. *

* * @param pluginsS3ObjectVersion * The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a * plugins.zip file is updated. For more information, see How S3 Versioning * works. */ public void setPluginsS3ObjectVersion(String pluginsS3ObjectVersion) { this.pluginsS3ObjectVersion = pluginsS3ObjectVersion; } /** *

* The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a plugins.zip * file is updated. For more information, see How S3 Versioning * works. *

* * @return The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a * plugins.zip file is updated. For more information, see How S3 Versioning * works. */ public String getPluginsS3ObjectVersion() { return this.pluginsS3ObjectVersion; } /** *

* The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a plugins.zip * file is updated. For more information, see How S3 Versioning * works. *

* * @param pluginsS3ObjectVersion * The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a * plugins.zip file is updated. For more information, see How S3 Versioning * works. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withPluginsS3ObjectVersion(String pluginsS3ObjectVersion) { setPluginsS3ObjectVersion(pluginsS3ObjectVersion); return this; } /** *

* The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing custom * plugins. *

* * @param pluginsS3Path * The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing * custom plugins. */ public void setPluginsS3Path(String pluginsS3Path) { this.pluginsS3Path = pluginsS3Path; } /** *

* The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing custom * plugins. *

* * @return The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing * custom plugins. */ public String getPluginsS3Path() { return this.pluginsS3Path; } /** *

* The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing custom * plugins. *

* * @param pluginsS3Path * The relative path to the plugins.zip file on your Amazon S3 bucket. For example, * plugins.zip. If specified, then the plugins.zip version is required. For more * information, see Installing * custom plugins. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withPluginsS3Path(String pluginsS3Path) { setPluginsS3Path(pluginsS3Path); return this; } /** *

* The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each * time a requirements.txt file is updated. For more information, see How S3 Versioning * works. *

* * @param requirementsS3ObjectVersion * The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version * each time a requirements.txt file is updated. For more information, see How S3 Versioning * works. */ public void setRequirementsS3ObjectVersion(String requirementsS3ObjectVersion) { this.requirementsS3ObjectVersion = requirementsS3ObjectVersion; } /** *

* The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each * time a requirements.txt file is updated. For more information, see How S3 Versioning * works. *

* * @return The version of the requirements.txt file on your Amazon S3 bucket. You must specify a * version each time a requirements.txt file is updated. For more information, see How S3 Versioning * works. */ public String getRequirementsS3ObjectVersion() { return this.requirementsS3ObjectVersion; } /** *

* The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each * time a requirements.txt file is updated. For more information, see How S3 Versioning * works. *

* * @param requirementsS3ObjectVersion * The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version * each time a requirements.txt file is updated. For more information, see How S3 Versioning * works. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withRequirementsS3ObjectVersion(String requirementsS3ObjectVersion) { setRequirementsS3ObjectVersion(requirementsS3ObjectVersion); return this; } /** *

* The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. *

* * @param requirementsS3Path * The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. */ public void setRequirementsS3Path(String requirementsS3Path) { this.requirementsS3Path = requirementsS3Path; } /** *

* The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. *

* * @return The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. */ public String getRequirementsS3Path() { return this.requirementsS3Path; } /** *

* The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. *

* * @param requirementsS3Path * The relative path to the requirements.txt file on your Amazon S3 bucket. For example, * requirements.txt. If specified, then a version is required. For more information, see Installing Python * dependencies. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withRequirementsS3Path(String requirementsS3Path) { setRequirementsS3Path(requirementsS3Path); return this; } /** *

* The number of Apache Airflow schedulers to run in your environment. Valid values: *

*
    *
  • *

    * v2 - Accepts between 2 to 5. Defaults to 2. *

    *
  • *
  • *

    * v1 - Accepts 1. *

    *
  • *
* * @param schedulers * The number of Apache Airflow schedulers to run in your environment. Valid values:

*
    *
  • *

    * v2 - Accepts between 2 to 5. Defaults to 2. *

    *
  • *
  • *

    * v1 - Accepts 1. *

    *
  • */ public void setSchedulers(Integer schedulers) { this.schedulers = schedulers; } /** *

    * The number of Apache Airflow schedulers to run in your environment. Valid values: *

    *
      *
    • *

      * v2 - Accepts between 2 to 5. Defaults to 2. *

      *
    • *
    • *

      * v1 - Accepts 1. *

      *
    • *
    * * @return The number of Apache Airflow schedulers to run in your environment. Valid values:

    *
      *
    • *

      * v2 - Accepts between 2 to 5. Defaults to 2. *

      *
    • *
    • *

      * v1 - Accepts 1. *

      *
    • */ public Integer getSchedulers() { return this.schedulers; } /** *

      * The number of Apache Airflow schedulers to run in your environment. Valid values: *

      *
        *
      • *

        * v2 - Accepts between 2 to 5. Defaults to 2. *

        *
      • *
      • *

        * v1 - Accepts 1. *

        *
      • *
      * * @param schedulers * The number of Apache Airflow schedulers to run in your environment. Valid values:

      *
        *
      • *

        * v2 - Accepts between 2 to 5. Defaults to 2. *

        *
      • *
      • *

        * v1 - Accepts 1. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withSchedulers(Integer schedulers) { setSchedulers(schedulers); return this; } /** *

        * The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For * example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an Amazon S3 bucket for * Amazon MWAA. *

        * * @param sourceBucketArn * The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are * stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an Amazon S3 bucket * for Amazon MWAA. */ public void setSourceBucketArn(String sourceBucketArn) { this.sourceBucketArn = sourceBucketArn; } /** *

        * The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For * example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an Amazon S3 bucket for * Amazon MWAA. *

        * * @return The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are * stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see * Create an Amazon S3 * bucket for Amazon MWAA. */ public String getSourceBucketArn() { return this.sourceBucketArn; } /** *

        * The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For * example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an Amazon S3 bucket for * Amazon MWAA. *

        * * @param sourceBucketArn * The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are * stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. For more information, see Create an Amazon S3 bucket * for Amazon MWAA. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withSourceBucketArn(String sourceBucketArn) { setSourceBucketArn(sourceBucketArn); return this; } /** *

        * The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that Amazon * S3 assigns to the file every time you update the script. *

        *

        * Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The * following is an example: *

        *

        * 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

        *

        * For more information, see Using a startup script. *

        * * @param startupScriptS3ObjectVersion * The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that * Amazon S3 assigns to the file every time you update the script.

        *

        * Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. * The following is an example: *

        *

        * 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

        *

        * For more information, see Using a startup * script. */ public void setStartupScriptS3ObjectVersion(String startupScriptS3ObjectVersion) { this.startupScriptS3ObjectVersion = startupScriptS3ObjectVersion; } /** *

        * The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that Amazon * S3 assigns to the file every time you update the script. *

        *

        * Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The * following is an example: *

        *

        * 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

        *

        * For more information, see Using a startup script. *

        * * @return The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID * that Amazon S3 assigns to the file every time you update the script.

        *

        * Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. * The following is an example: *

        *

        * 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

        *

        * For more information, see Using a startup * script. */ public String getStartupScriptS3ObjectVersion() { return this.startupScriptS3ObjectVersion; } /** *

        * The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that Amazon * S3 assigns to the file every time you update the script. *

        *

        * Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The * following is an example: *

        *

        * 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

        *

        * For more information, see Using a startup script. *

        * * @param startupScriptS3ObjectVersion * The version of the startup shell script in your Amazon S3 bucket. You must specify the version ID that * Amazon S3 assigns to the file every time you update the script.

        *

        * Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. * The following is an example: *

        *

        * 3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo *

        *

        * For more information, see Using a startup * script. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withStartupScriptS3ObjectVersion(String startupScriptS3ObjectVersion) { setStartupScriptS3ObjectVersion(startupScriptS3ObjectVersion); return this; } /** *

        * The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh. *

        *

        * Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can * use this script to install dependencies, modify Apache Airflow configuration options, and set environment * variables. For more information, see Using a startup script. *

        * * @param startupScriptS3Path * The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh.

        *

        * Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You * can use this script to install dependencies, modify Apache Airflow configuration options, and set * environment variables. For more information, see Using a startup * script. */ public void setStartupScriptS3Path(String startupScriptS3Path) { this.startupScriptS3Path = startupScriptS3Path; } /** *

        * The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh. *

        *

        * Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can * use this script to install dependencies, modify Apache Airflow configuration options, and set environment * variables. For more information, see Using a startup script. *

        * * @return The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh.

        *

        * Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. * You can use this script to install dependencies, modify Apache Airflow configuration options, and set * environment variables. For more information, see Using a startup * script. */ public String getStartupScriptS3Path() { return this.startupScriptS3Path; } /** *

        * The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh. *

        *

        * Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can * use this script to install dependencies, modify Apache Airflow configuration options, and set environment * variables. For more information, see Using a startup script. *

        * * @param startupScriptS3Path * The relative path to the startup shell script in your Amazon S3 bucket. For example, * s3://mwaa-environment/startup.sh.

        *

        * Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You * can use this script to install dependencies, modify Apache Airflow configuration options, and set * environment variables. For more information, see Using a startup * script. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withStartupScriptS3Path(String startupScriptS3Path) { setStartupScriptS3Path(startupScriptS3Path); return this; } /** *

        * The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services resources. *

        * * @return The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services * resources. */ public java.util.Map getTags() { return tags; } /** *

        * The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services resources. *

        * * @param tags * The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services * resources. */ public void setTags(java.util.Map tags) { this.tags = tags; } /** *

        * The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services resources. *

        * * @param tags * The key-value tag pairs you want to associate to your environment. For example, * "Environment": "Staging". For more information, see Tagging Amazon Web Services * resources. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see CreateEnvironmentRequest#withTags * @returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest addTagsEntry(String key, String value) { if (null == this.tags) { this.tags = new java.util.HashMap(); } if (this.tags.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.tags.put(key, value); return this; } /** * Removes all the entries added into Tags. * * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest clearTagsEntries() { this.tags = null; return this; } /** *

        * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. *

        * * @param webserverAccessMode * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. * @see WebserverAccessMode */ public void setWebserverAccessMode(String webserverAccessMode) { this.webserverAccessMode = webserverAccessMode; } /** *

        * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. *

        * * @return The Apache Airflow Web server access mode. For more information, see Apache Airflow * access modes. * @see WebserverAccessMode */ public String getWebserverAccessMode() { return this.webserverAccessMode; } /** *

        * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. *

        * * @param webserverAccessMode * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. * @return Returns a reference to this object so that method calls can be chained together. * @see WebserverAccessMode */ public CreateEnvironmentRequest withWebserverAccessMode(String webserverAccessMode) { setWebserverAccessMode(webserverAccessMode); return this; } /** *

        * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. *

        * * @param webserverAccessMode * The Apache Airflow Web server access mode. For more information, see Apache Airflow access * modes. * @return Returns a reference to this object so that method calls can be chained together. * @see WebserverAccessMode */ public CreateEnvironmentRequest withWebserverAccessMode(WebserverAccessMode webserverAccessMode) { this.webserverAccessMode = webserverAccessMode.toString(); return this; } /** *

        * The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. *

        * * @param weeklyMaintenanceWindowStart * The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. */ public void setWeeklyMaintenanceWindowStart(String weeklyMaintenanceWindowStart) { this.weeklyMaintenanceWindowStart = weeklyMaintenanceWindowStart; } /** *

        * The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. *

        * * @return The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. */ public String getWeeklyMaintenanceWindowStart() { return this.weeklyMaintenanceWindowStart; } /** *

        * The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. *

        * * @param weeklyMaintenanceWindowStart * The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly * maintenance updates of your environment in the following format: DAY:HH:MM. For example: * TUE:03:30. You can specify a start time in 30 minute increments only. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withWeeklyMaintenanceWindowStart(String weeklyMaintenanceWindowStart) { setWeeklyMaintenanceWindowStart(weeklyMaintenanceWindowStart); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAirflowConfigurationOptions() != null) sb.append("AirflowConfigurationOptions: ").append("***Sensitive Data Redacted***").append(","); if (getAirflowVersion() != null) sb.append("AirflowVersion: ").append(getAirflowVersion()).append(","); if (getDagS3Path() != null) sb.append("DagS3Path: ").append(getDagS3Path()).append(","); if (getEnvironmentClass() != null) sb.append("EnvironmentClass: ").append(getEnvironmentClass()).append(","); if (getExecutionRoleArn() != null) sb.append("ExecutionRoleArn: ").append(getExecutionRoleArn()).append(","); if (getKmsKey() != null) sb.append("KmsKey: ").append(getKmsKey()).append(","); if (getLoggingConfiguration() != null) sb.append("LoggingConfiguration: ").append(getLoggingConfiguration()).append(","); if (getMaxWorkers() != null) sb.append("MaxWorkers: ").append(getMaxWorkers()).append(","); if (getMinWorkers() != null) sb.append("MinWorkers: ").append(getMinWorkers()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getNetworkConfiguration() != null) sb.append("NetworkConfiguration: ").append(getNetworkConfiguration()).append(","); if (getPluginsS3ObjectVersion() != null) sb.append("PluginsS3ObjectVersion: ").append(getPluginsS3ObjectVersion()).append(","); if (getPluginsS3Path() != null) sb.append("PluginsS3Path: ").append(getPluginsS3Path()).append(","); if (getRequirementsS3ObjectVersion() != null) sb.append("RequirementsS3ObjectVersion: ").append(getRequirementsS3ObjectVersion()).append(","); if (getRequirementsS3Path() != null) sb.append("RequirementsS3Path: ").append(getRequirementsS3Path()).append(","); if (getSchedulers() != null) sb.append("Schedulers: ").append(getSchedulers()).append(","); if (getSourceBucketArn() != null) sb.append("SourceBucketArn: ").append(getSourceBucketArn()).append(","); if (getStartupScriptS3ObjectVersion() != null) sb.append("StartupScriptS3ObjectVersion: ").append(getStartupScriptS3ObjectVersion()).append(","); if (getStartupScriptS3Path() != null) sb.append("StartupScriptS3Path: ").append(getStartupScriptS3Path()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getWebserverAccessMode() != null) sb.append("WebserverAccessMode: ").append(getWebserverAccessMode()).append(","); if (getWeeklyMaintenanceWindowStart() != null) sb.append("WeeklyMaintenanceWindowStart: ").append(getWeeklyMaintenanceWindowStart()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateEnvironmentRequest == false) return false; CreateEnvironmentRequest other = (CreateEnvironmentRequest) obj; if (other.getAirflowConfigurationOptions() == null ^ this.getAirflowConfigurationOptions() == null) return false; if (other.getAirflowConfigurationOptions() != null && other.getAirflowConfigurationOptions().equals(this.getAirflowConfigurationOptions()) == false) return false; if (other.getAirflowVersion() == null ^ this.getAirflowVersion() == null) return false; if (other.getAirflowVersion() != null && other.getAirflowVersion().equals(this.getAirflowVersion()) == false) return false; if (other.getDagS3Path() == null ^ this.getDagS3Path() == null) return false; if (other.getDagS3Path() != null && other.getDagS3Path().equals(this.getDagS3Path()) == false) return false; if (other.getEnvironmentClass() == null ^ this.getEnvironmentClass() == null) return false; if (other.getEnvironmentClass() != null && other.getEnvironmentClass().equals(this.getEnvironmentClass()) == false) return false; if (other.getExecutionRoleArn() == null ^ this.getExecutionRoleArn() == null) return false; if (other.getExecutionRoleArn() != null && other.getExecutionRoleArn().equals(this.getExecutionRoleArn()) == false) return false; if (other.getKmsKey() == null ^ this.getKmsKey() == null) return false; if (other.getKmsKey() != null && other.getKmsKey().equals(this.getKmsKey()) == false) return false; if (other.getLoggingConfiguration() == null ^ this.getLoggingConfiguration() == null) return false; if (other.getLoggingConfiguration() != null && other.getLoggingConfiguration().equals(this.getLoggingConfiguration()) == false) return false; if (other.getMaxWorkers() == null ^ this.getMaxWorkers() == null) return false; if (other.getMaxWorkers() != null && other.getMaxWorkers().equals(this.getMaxWorkers()) == false) return false; if (other.getMinWorkers() == null ^ this.getMinWorkers() == null) return false; if (other.getMinWorkers() != null && other.getMinWorkers().equals(this.getMinWorkers()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getNetworkConfiguration() == null ^ this.getNetworkConfiguration() == null) return false; if (other.getNetworkConfiguration() != null && other.getNetworkConfiguration().equals(this.getNetworkConfiguration()) == false) return false; if (other.getPluginsS3ObjectVersion() == null ^ this.getPluginsS3ObjectVersion() == null) return false; if (other.getPluginsS3ObjectVersion() != null && other.getPluginsS3ObjectVersion().equals(this.getPluginsS3ObjectVersion()) == false) return false; if (other.getPluginsS3Path() == null ^ this.getPluginsS3Path() == null) return false; if (other.getPluginsS3Path() != null && other.getPluginsS3Path().equals(this.getPluginsS3Path()) == false) return false; if (other.getRequirementsS3ObjectVersion() == null ^ this.getRequirementsS3ObjectVersion() == null) return false; if (other.getRequirementsS3ObjectVersion() != null && other.getRequirementsS3ObjectVersion().equals(this.getRequirementsS3ObjectVersion()) == false) return false; if (other.getRequirementsS3Path() == null ^ this.getRequirementsS3Path() == null) return false; if (other.getRequirementsS3Path() != null && other.getRequirementsS3Path().equals(this.getRequirementsS3Path()) == false) return false; if (other.getSchedulers() == null ^ this.getSchedulers() == null) return false; if (other.getSchedulers() != null && other.getSchedulers().equals(this.getSchedulers()) == false) return false; if (other.getSourceBucketArn() == null ^ this.getSourceBucketArn() == null) return false; if (other.getSourceBucketArn() != null && other.getSourceBucketArn().equals(this.getSourceBucketArn()) == false) return false; if (other.getStartupScriptS3ObjectVersion() == null ^ this.getStartupScriptS3ObjectVersion() == null) return false; if (other.getStartupScriptS3ObjectVersion() != null && other.getStartupScriptS3ObjectVersion().equals(this.getStartupScriptS3ObjectVersion()) == false) return false; if (other.getStartupScriptS3Path() == null ^ this.getStartupScriptS3Path() == null) return false; if (other.getStartupScriptS3Path() != null && other.getStartupScriptS3Path().equals(this.getStartupScriptS3Path()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getWebserverAccessMode() == null ^ this.getWebserverAccessMode() == null) return false; if (other.getWebserverAccessMode() != null && other.getWebserverAccessMode().equals(this.getWebserverAccessMode()) == false) return false; if (other.getWeeklyMaintenanceWindowStart() == null ^ this.getWeeklyMaintenanceWindowStart() == null) return false; if (other.getWeeklyMaintenanceWindowStart() != null && other.getWeeklyMaintenanceWindowStart().equals(this.getWeeklyMaintenanceWindowStart()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAirflowConfigurationOptions() == null) ? 0 : getAirflowConfigurationOptions().hashCode()); hashCode = prime * hashCode + ((getAirflowVersion() == null) ? 0 : getAirflowVersion().hashCode()); hashCode = prime * hashCode + ((getDagS3Path() == null) ? 0 : getDagS3Path().hashCode()); hashCode = prime * hashCode + ((getEnvironmentClass() == null) ? 0 : getEnvironmentClass().hashCode()); hashCode = prime * hashCode + ((getExecutionRoleArn() == null) ? 0 : getExecutionRoleArn().hashCode()); hashCode = prime * hashCode + ((getKmsKey() == null) ? 0 : getKmsKey().hashCode()); hashCode = prime * hashCode + ((getLoggingConfiguration() == null) ? 0 : getLoggingConfiguration().hashCode()); hashCode = prime * hashCode + ((getMaxWorkers() == null) ? 0 : getMaxWorkers().hashCode()); hashCode = prime * hashCode + ((getMinWorkers() == null) ? 0 : getMinWorkers().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getNetworkConfiguration() == null) ? 0 : getNetworkConfiguration().hashCode()); hashCode = prime * hashCode + ((getPluginsS3ObjectVersion() == null) ? 0 : getPluginsS3ObjectVersion().hashCode()); hashCode = prime * hashCode + ((getPluginsS3Path() == null) ? 0 : getPluginsS3Path().hashCode()); hashCode = prime * hashCode + ((getRequirementsS3ObjectVersion() == null) ? 0 : getRequirementsS3ObjectVersion().hashCode()); hashCode = prime * hashCode + ((getRequirementsS3Path() == null) ? 0 : getRequirementsS3Path().hashCode()); hashCode = prime * hashCode + ((getSchedulers() == null) ? 0 : getSchedulers().hashCode()); hashCode = prime * hashCode + ((getSourceBucketArn() == null) ? 0 : getSourceBucketArn().hashCode()); hashCode = prime * hashCode + ((getStartupScriptS3ObjectVersion() == null) ? 0 : getStartupScriptS3ObjectVersion().hashCode()); hashCode = prime * hashCode + ((getStartupScriptS3Path() == null) ? 0 : getStartupScriptS3Path().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getWebserverAccessMode() == null) ? 0 : getWebserverAccessMode().hashCode()); hashCode = prime * hashCode + ((getWeeklyMaintenanceWindowStart() == null) ? 0 : getWeeklyMaintenanceWindowStart().hashCode()); return hashCode; } @Override public CreateEnvironmentRequest clone() { return (CreateEnvironmentRequest) super.clone(); } }