Class CfnEnvironment

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:00.375Z") @Stability(Stable) public class CfnEnvironment extends CfnResource implements IInspectable
A CloudFormation AWS::MWAA::Environment.

The AWS::MWAA::Environment resource creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.mwaa.*;
 Object airflowConfigurationOptions;
 Object tags;
 CfnEnvironment cfnEnvironment = CfnEnvironment.Builder.create(this, "MyCfnEnvironment")
         .name("name")
         // the properties below are optional
         .airflowConfigurationOptions(airflowConfigurationOptions)
         .airflowVersion("airflowVersion")
         .dagS3Path("dagS3Path")
         .environmentClass("environmentClass")
         .executionRoleArn("executionRoleArn")
         .kmsKey("kmsKey")
         .loggingConfiguration(LoggingConfigurationProperty.builder()
                 .dagProcessingLogs(ModuleLoggingConfigurationProperty.builder()
                         .cloudWatchLogGroupArn("cloudWatchLogGroupArn")
                         .enabled(false)
                         .logLevel("logLevel")
                         .build())
                 .schedulerLogs(ModuleLoggingConfigurationProperty.builder()
                         .cloudWatchLogGroupArn("cloudWatchLogGroupArn")
                         .enabled(false)
                         .logLevel("logLevel")
                         .build())
                 .taskLogs(ModuleLoggingConfigurationProperty.builder()
                         .cloudWatchLogGroupArn("cloudWatchLogGroupArn")
                         .enabled(false)
                         .logLevel("logLevel")
                         .build())
                 .webserverLogs(ModuleLoggingConfigurationProperty.builder()
                         .cloudWatchLogGroupArn("cloudWatchLogGroupArn")
                         .enabled(false)
                         .logLevel("logLevel")
                         .build())
                 .workerLogs(ModuleLoggingConfigurationProperty.builder()
                         .cloudWatchLogGroupArn("cloudWatchLogGroupArn")
                         .enabled(false)
                         .logLevel("logLevel")
                         .build())
                 .build())
         .maxWorkers(123)
         .minWorkers(123)
         .networkConfiguration(NetworkConfigurationProperty.builder()
                 .securityGroupIds(List.of("securityGroupIds"))
                 .subnetIds(List.of("subnetIds"))
                 .build())
         .pluginsS3ObjectVersion("pluginsS3ObjectVersion")
         .pluginsS3Path("pluginsS3Path")
         .requirementsS3ObjectVersion("requirementsS3ObjectVersion")
         .requirementsS3Path("requirementsS3Path")
         .schedulers(123)
         .sourceBucketArn("sourceBucketArn")
         .startupScriptS3ObjectVersion("startupScriptS3ObjectVersion")
         .startupScriptS3Path("startupScriptS3Path")
         .tags(tags)
         .webserverAccessMode("webserverAccessMode")
         .weeklyMaintenanceWindowStart("weeklyMaintenanceWindowStart")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnEnvironment

      protected CfnEnvironment(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnEnvironment

      protected CfnEnvironment(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnEnvironment

      @Stability(Stable) public CfnEnvironment(@NotNull Construct scope, @NotNull String id, @NotNull CfnEnvironmentProps props)
      Create a new AWS::MWAA::Environment.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The ARN for the Amazon MWAA environment.
    • getAttrLoggingConfigurationDagProcessingLogsCloudWatchLogGroupArn

      @Stability(Stable) @NotNull public String getAttrLoggingConfigurationDagProcessingLogsCloudWatchLogGroupArn()
      The ARN for the CloudWatch Logs group where the Apache Airflow DAG processing logs are published.
    • getAttrLoggingConfigurationSchedulerLogsCloudWatchLogGroupArn

      @Stability(Stable) @NotNull public String getAttrLoggingConfigurationSchedulerLogsCloudWatchLogGroupArn()
      The ARN for the CloudWatch Logs group where the Apache Airflow Scheduler logs are published.
    • getAttrLoggingConfigurationTaskLogsCloudWatchLogGroupArn

      @Stability(Stable) @NotNull public String getAttrLoggingConfigurationTaskLogsCloudWatchLogGroupArn()
      The ARN for the CloudWatch Logs group where the Apache Airflow task logs are published.
    • getAttrLoggingConfigurationWebserverLogsCloudWatchLogGroupArn

      @Stability(Stable) @NotNull public String getAttrLoggingConfigurationWebserverLogsCloudWatchLogGroupArn()
      The ARN for the CloudWatch Logs group where the Apache Airflow Web server logs are published.
    • getAttrLoggingConfigurationWorkerLogsCloudWatchLogGroupArn

      @Stability(Stable) @NotNull public String getAttrLoggingConfigurationWorkerLogsCloudWatchLogGroupArn()
      The ARN for the CloudWatch Logs group where the Apache Airflow Worker logs are published.
    • getAttrWebserverUrl

      @Stability(Stable) @NotNull public String getAttrWebserverUrl()
      The URL of your Apache Airflow UI.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The key-value tag pairs associated to your environment.

      For example, "Environment": "Staging" . To learn more, see Tagging .

    • getAirflowConfigurationOptions

      @Stability(Stable) @NotNull public Object getAirflowConfigurationOptions()
      A list of key-value pairs containing the Airflow configuration options for your environment.

      For example, core.default_timezone: utc . To learn more, see Apache Airflow configuration options .

    • setAirflowConfigurationOptions

      @Stability(Stable) public void setAirflowConfigurationOptions(@NotNull Object value)
      A list of key-value pairs containing the Airflow configuration options for your environment.

      For example, core.default_timezone: utc . To learn more, see Apache Airflow configuration options .

    • getName

      @Stability(Stable) @NotNull public String getName()
      The name of your Amazon MWAA environment.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The name of your Amazon MWAA environment.
    • getAirflowVersion

      @Stability(Stable) @Nullable public String getAirflowVersion()
      The version of Apache Airflow to use for the environment.

      If no value is specified, defaults to the latest version.

      Allowed Values : 2.0.2 | 1.10.12 | 2.2.2 | 2.4.3 | 2.5.1 (latest)

    • setAirflowVersion

      @Stability(Stable) public void setAirflowVersion(@Nullable String value)
      The version of Apache Airflow to use for the environment.

      If no value is specified, defaults to the latest version.

      Allowed Values : 2.0.2 | 1.10.12 | 2.2.2 | 2.4.3 | 2.5.1 (latest)

    • getDagS3Path

      @Stability(Stable) @Nullable public String getDagS3Path()
      The relative path to the DAGs folder on your Amazon S3 bucket.

      For example, dags . To learn more, see Adding or updating DAGs .

    • setDagS3Path

      @Stability(Stable) public void setDagS3Path(@Nullable String value)
      The relative path to the DAGs folder on your Amazon S3 bucket.

      For example, dags . To learn more, see Adding or updating DAGs .

    • getEnvironmentClass

      @Stability(Stable) @Nullable public String getEnvironmentClass()
      The environment class type.

      Valid values: mw1.small , mw1.medium , mw1.large . To learn more, see Amazon MWAA environment class .

    • setEnvironmentClass

      @Stability(Stable) public void setEnvironmentClass(@Nullable String value)
      The environment class type.

      Valid values: mw1.small , mw1.medium , mw1.large . To learn more, see Amazon MWAA environment class .

    • getExecutionRoleArn

      @Stability(Stable) @Nullable public String getExecutionRoleArn()
      The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access AWS resources in your environment.

      For example, arn:aws:iam::123456789:role/my-execution-role . To learn more, see Amazon MWAA Execution role .

    • setExecutionRoleArn

      @Stability(Stable) public void setExecutionRoleArn(@Nullable String value)
      The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access AWS resources in your environment.

      For example, arn:aws:iam::123456789:role/my-execution-role . To learn more, see Amazon MWAA Execution role .

    • getKmsKey

      @Stability(Stable) @Nullable public String getKmsKey()
      The AWS Key Management Service (KMS) key to encrypt and decrypt the data in your environment.

      You can use an AWS KMS key managed by MWAA, or a customer-managed KMS key (advanced).

    • setKmsKey

      @Stability(Stable) public void setKmsKey(@Nullable String value)
      The AWS Key Management Service (KMS) key to encrypt and decrypt the data in your environment.

      You can use an AWS KMS key managed by MWAA, or a customer-managed KMS key (advanced).

    • getLoggingConfiguration

      @Stability(Stable) @Nullable public Object getLoggingConfiguration()
      The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs , SchedulerLogs , TaskLogs , WebserverLogs , WorkerLogs .
    • setLoggingConfiguration

      @Stability(Stable) public void setLoggingConfiguration(@Nullable IResolvable value)
      The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs , SchedulerLogs , TaskLogs , WebserverLogs , WorkerLogs .
    • setLoggingConfiguration

      @Stability(Stable) public void setLoggingConfiguration(@Nullable CfnEnvironment.LoggingConfigurationProperty value)
      The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs , SchedulerLogs , TaskLogs , WebserverLogs , WorkerLogs .
    • getMaxWorkers

      @Stability(Stable) @Nullable public Number getMaxWorkers()
      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 .

    • setMaxWorkers

      @Stability(Stable) public void setMaxWorkers(@Nullable Number value)
      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 .

    • getMinWorkers

      @Stability(Stable) @Nullable public Number getMinWorkers()
      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 .

    • setMinWorkers

      @Stability(Stable) public void setMinWorkers(@Nullable Number value)
      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 .

    • getNetworkConfiguration

      @Stability(Stable) @Nullable public Object getNetworkConfiguration()
      The VPC networking components used to secure and enable network traffic between the AWS resources for your environment.

      To learn more, see About networking on Amazon MWAA .

    • setNetworkConfiguration

      @Stability(Stable) public void setNetworkConfiguration(@Nullable IResolvable value)
      The VPC networking components used to secure and enable network traffic between the AWS resources for your environment.

      To learn more, see About networking on Amazon MWAA .

    • setNetworkConfiguration

      @Stability(Stable) public void setNetworkConfiguration(@Nullable CfnEnvironment.NetworkConfigurationProperty value)
      The VPC networking components used to secure and enable network traffic between the AWS resources for your environment.

      To learn more, see About networking on Amazon MWAA .

    • getPluginsS3ObjectVersion

      @Stability(Stable) @Nullable public String getPluginsS3ObjectVersion()
      The version of the plugins.zip file on your Amazon S3 bucket. To learn more, see Installing custom plugins .
    • setPluginsS3ObjectVersion

      @Stability(Stable) public void setPluginsS3ObjectVersion(@Nullable String value)
      The version of the plugins.zip file on your Amazon S3 bucket. To learn more, see Installing custom plugins .
    • getPluginsS3Path

      @Stability(Stable) @Nullable public String getPluginsS3Path()
      The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip . To learn more, see Installing custom plugins .
    • setPluginsS3Path

      @Stability(Stable) public void setPluginsS3Path(@Nullable String value)
      The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip . To learn more, see Installing custom plugins .
    • getRequirementsS3ObjectVersion

      @Stability(Stable) @Nullable public String getRequirementsS3ObjectVersion()
      The version of the requirements.txt file on your Amazon S3 bucket. To learn more, see Installing Python dependencies .
    • setRequirementsS3ObjectVersion

      @Stability(Stable) public void setRequirementsS3ObjectVersion(@Nullable String value)
      The version of the requirements.txt file on your Amazon S3 bucket. To learn more, see Installing Python dependencies .
    • getRequirementsS3Path

      @Stability(Stable) @Nullable public String getRequirementsS3Path()
      The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt . To learn more, see Installing Python dependencies .
    • setRequirementsS3Path

      @Stability(Stable) public void setRequirementsS3Path(@Nullable String value)
      The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt . To learn more, see Installing Python dependencies .
    • getSchedulers

      @Stability(Stable) @Nullable public Number getSchedulers()
      The number of schedulers that you want to run in your environment. Valid values:.

      • v2 - Accepts between 2 to 5. Defaults to 2.
      • v1 - Accepts 1.
    • setSchedulers

      @Stability(Stable) public void setSchedulers(@Nullable Number value)
      The number of schedulers that you want to run in your environment. Valid values:.

      • v2 - Accepts between 2 to 5. Defaults to 2.
      • v1 - Accepts 1.
    • getSourceBucketArn

      @Stability(Stable) @Nullable public String getSourceBucketArn()
      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 . To learn more, see Create an Amazon S3 bucket for Amazon MWAA .

    • setSourceBucketArn

      @Stability(Stable) public void setSourceBucketArn(@Nullable String value)
      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 . To learn more, see Create an Amazon S3 bucket for Amazon MWAA .

    • getStartupScriptS3ObjectVersion

      @Stability(Stable) @Nullable public String getStartupScriptS3ObjectVersion()
      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 .

    • setStartupScriptS3ObjectVersion

      @Stability(Stable) public void setStartupScriptS3ObjectVersion(@Nullable String value)
      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 .

    • getStartupScriptS3Path

      @Stability(Stable) @Nullable public String getStartupScriptS3Path()
      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 .

    • setStartupScriptS3Path

      @Stability(Stable) public void setStartupScriptS3Path(@Nullable String value)
      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 .

    • getWebserverAccessMode

      @Stability(Stable) @Nullable public String getWebserverAccessMode()
      The Apache Airflow Web server access mode.

      To learn more, see Apache Airflow access modes . Valid values: PRIVATE_ONLY or PUBLIC_ONLY .

    • setWebserverAccessMode

      @Stability(Stable) public void setWebserverAccessMode(@Nullable String value)
      The Apache Airflow Web server access mode.

      To learn more, see Apache Airflow access modes . Valid values: PRIVATE_ONLY or PUBLIC_ONLY .

    • getWeeklyMaintenanceWindowStart

      @Stability(Stable) @Nullable public String getWeeklyMaintenanceWindowStart()
      The day and time of the week 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. Supported input includes the following:

      • MON|TUE|WED|THU|FRI|SAT|SUN:([01]\d|2[0-3]):(00|30)
    • setWeeklyMaintenanceWindowStart

      @Stability(Stable) public void setWeeklyMaintenanceWindowStart(@Nullable String value)
      The day and time of the week 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. Supported input includes the following:

      • MON|TUE|WED|THU|FRI|SAT|SUN:([01]\d|2[0-3]):(00|30)