MWAA

Client

class MWAA.Client

A low-level client representing AmazonMWAA

This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation. For more information, see What Is Amazon MWAA? .

client = session.create_client('mwaa')

These are the available methods:

can_paginate(operation_name)

Check if an operation can be paginated.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Returns
True if the operation can be paginated, False otherwise.
create_cli_token(**kwargs)

Create a CLI token to use Airflow CLI.

See also: AWS API Documentation

Request Syntax

response = client.create_cli_token(
    Name='string'
)
Parameters
Name (string) --

[REQUIRED]

Create a CLI token request for a MWAA environment.

Return type
dict
Returns
Response Syntax
{
    'CliToken': 'string',
    'WebServerHostname': 'string'
}

Response Structure

  • (dict) --
    • CliToken (string) --

      Create an Airflow CLI login token response for the provided JWT token.

    • WebServerHostname (string) --

      Create an Airflow CLI login token response for the provided webserver hostname.

Exceptions

create_environment(**kwargs)

Creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

See also: AWS API Documentation

Request Syntax

response = client.create_environment(
    AirflowConfigurationOptions={
        'string': 'string'
    },
    AirflowVersion='string',
    DagS3Path='string',
    EnvironmentClass='string',
    ExecutionRoleArn='string',
    KmsKey='string',
    LoggingConfiguration={
        'DagProcessingLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'SchedulerLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'TaskLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'WebserverLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'WorkerLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        }
    },
    MaxWorkers=123,
    MinWorkers=123,
    Name='string',
    NetworkConfiguration={
        'SecurityGroupIds': [
            'string',
        ],
        'SubnetIds': [
            'string',
        ]
    },
    PluginsS3ObjectVersion='string',
    PluginsS3Path='string',
    RequirementsS3ObjectVersion='string',
    RequirementsS3Path='string',
    Schedulers=123,
    SourceBucketArn='string',
    Tags={
        'string': 'string'
    },
    WebserverAccessMode='PRIVATE_ONLY'|'PUBLIC_ONLY',
    WeeklyMaintenanceWindowStart='string'
)
Parameters
  • AirflowConfigurationOptions (dict) --

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

    • (string) --
      • (string) --
  • AirflowVersion (string) -- The Apache Airflow version for your environment. For example, v1.10.12 . If no value is specified, defaults to the latest version. Valid values: v1.10.12 .
  • DagS3Path (string) --

    [REQUIRED]

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

  • EnvironmentClass (string) -- The environment class type. Valid values: mw1.small , mw1.medium , mw1.large . To learn more, see Amazon MWAA environment class .
  • ExecutionRoleArn (string) --

    [REQUIRED]

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

  • KmsKey (string) -- The AWS Key Management Service (KMS) key to encrypt the data in your environment. You can use an AWS owned CMK, or a Customer managed CMK (advanced). To learn more, see Get started with Amazon Managed Workflows for Apache Airflow .
  • LoggingConfiguration (dict) --

    Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs , SchedulerLogs , TaskLogs , WebserverLogs , WorkerLogs .

    • DagProcessingLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • SchedulerLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • TaskLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • WebserverLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • WorkerLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

  • MaxWorkers (integer) -- 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 .
  • MinWorkers (integer) -- 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 .
  • Name (string) --

    [REQUIRED]

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

  • NetworkConfiguration (dict) --

    [REQUIRED]

    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 .

    • SecurityGroupIds (list) --

      A list of 1 or more security group IDs. Accepts up to 5 security group IDs. A security group must be attached to the same VPC as the subnets. To learn more, see Security in your VPC on Amazon MWAA .

      • (string) --
    • SubnetIds (list) --

      A list of 2 subnet IDs. Required to create an environment. Must be private subnets in two different availability zones. A subnet must be attached to the same VPC as the security group.

      • (string) --
  • PluginsS3ObjectVersion (string) -- The version of the plugins.zip file on your Amazon S3 bucket. A version must be specified each time a plugins.zip file is updated. To learn more, see How S3 Versioning works .
  • PluginsS3Path (string) -- 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. To learn more, see Installing custom plugins .
  • RequirementsS3ObjectVersion (string) -- The version of the requirements.txt file on your Amazon S3 bucket. A version must be specified each time a requirements.txt file is updated. To learn more, see How S3 Versioning works .
  • RequirementsS3Path (string) -- The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt . If specified, then a file version is required. To learn more, see Installing Python dependencies .
  • Schedulers (integer) -- The number of Apache Airflow schedulers to run in your environment.
  • SourceBucketArn (string) --

    [REQUIRED]

    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 .

  • Tags (dict) --

    The key-value tag pairs you want to associate to your environment. For example, "Environment": "Staging" . To learn more, see Tagging AWS resources .

    • (string) --
      • (string) --
  • WebserverAccessMode (string) -- The Apache Airflow Web server access mode. To learn more, see Apache Airflow access modes .
  • WeeklyMaintenanceWindowStart (string) --

    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)
Return type

dict

Returns

Response Syntax

{
    'Arn': 'string'
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name (ARN) returned in the response for the environment.

Exceptions

create_web_login_token(**kwargs)

Create a JWT token to be used to login to Airflow Web UI with claims based Authentication.

See also: AWS API Documentation

Request Syntax

response = client.create_web_login_token(
    Name='string'
)
Parameters
Name (string) --

[REQUIRED]

Create an Airflow Web UI login token request for a MWAA environment.

Return type
dict
Returns
Response Syntax
{
    'WebServerHostname': 'string',
    'WebToken': 'string'
}

Response Structure

  • (dict) --
    • WebServerHostname (string) --

      Create an Airflow Web UI login token response for the provided webserver hostname.

    • WebToken (string) --

      Create an Airflow Web UI login token response for the provided JWT token.

Exceptions

delete_environment(**kwargs)

Deletes an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

See also: AWS API Documentation

Request Syntax

response = client.delete_environment(
    Name='string'
)
Parameters
Name (string) --

[REQUIRED]

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

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

Exceptions

generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)

Generate a presigned url given a client, its method, and arguments

Parameters
  • ClientMethod (string) -- The client method to presign for
  • Params (dict) -- The parameters normally passed to ClientMethod.
  • ExpiresIn (int) -- The number of seconds the presigned url is valid for. By default it expires in an hour (3600 seconds)
  • HttpMethod (string) -- The http method to use on the generated url. By default, the http method is whatever is used in the method's model.
Returns

The presigned url

get_environment(**kwargs)

Retrieves the details of an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

See also: AWS API Documentation

Request Syntax

response = client.get_environment(
    Name='string'
)
Parameters
Name (string) --

[REQUIRED]

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

Return type
dict
Returns
Response Syntax
{
    'Environment': {
        'AirflowConfigurationOptions': {
            'string': 'string'
        },
        'AirflowVersion': 'string',
        'Arn': 'string',
        'CreatedAt': datetime(2015, 1, 1),
        'DagS3Path': 'string',
        'EnvironmentClass': 'string',
        'ExecutionRoleArn': 'string',
        'KmsKey': 'string',
        'LastUpdate': {
            'CreatedAt': datetime(2015, 1, 1),
            'Error': {
                'ErrorCode': 'string',
                'ErrorMessage': 'string'
            },
            'Status': 'SUCCESS'|'PENDING'|'FAILED'
        },
        'LoggingConfiguration': {
            'DagProcessingLogs': {
                'CloudWatchLogGroupArn': 'string',
                'Enabled': True|False,
                'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
            },
            'SchedulerLogs': {
                'CloudWatchLogGroupArn': 'string',
                'Enabled': True|False,
                'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
            },
            'TaskLogs': {
                'CloudWatchLogGroupArn': 'string',
                'Enabled': True|False,
                'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
            },
            'WebserverLogs': {
                'CloudWatchLogGroupArn': 'string',
                'Enabled': True|False,
                'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
            },
            'WorkerLogs': {
                'CloudWatchLogGroupArn': 'string',
                'Enabled': True|False,
                'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
            }
        },
        'MaxWorkers': 123,
        'MinWorkers': 123,
        'Name': 'string',
        'NetworkConfiguration': {
            'SecurityGroupIds': [
                'string',
            ],
            'SubnetIds': [
                'string',
            ]
        },
        'PluginsS3ObjectVersion': 'string',
        'PluginsS3Path': 'string',
        'RequirementsS3ObjectVersion': 'string',
        'RequirementsS3Path': 'string',
        'Schedulers': 123,
        'ServiceRoleArn': 'string',
        'SourceBucketArn': 'string',
        'Status': 'CREATING'|'CREATE_FAILED'|'AVAILABLE'|'UPDATING'|'DELETING'|'DELETED'|'UNAVAILABLE'|'UPDATE_FAILED',
        'Tags': {
            'string': 'string'
        },
        'WebserverAccessMode': 'PRIVATE_ONLY'|'PUBLIC_ONLY',
        'WebserverUrl': 'string',
        'WeeklyMaintenanceWindowStart': 'string'
    }
}

Response Structure

  • (dict) --
    • Environment (dict) --

      An object containing all available details about the environment.

      • AirflowConfigurationOptions (dict) --

        A list of key-value pairs containing the Apache Airflow configuration options attached to your environment. To learn more, see Apache Airflow configuration options .

        • (string) --
          • (string) --
      • AirflowVersion (string) --

        The Apache Airflow version on your environment. For example, v1.10.12 .

      • Arn (string) --

        The Amazon Resource Name (ARN) of the Amazon MWAA environment.

      • CreatedAt (datetime) --

        The day and time the environment was created.

      • DagS3Path (string) --

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

      • EnvironmentClass (string) --

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

      • ExecutionRoleArn (string) --

        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 .

      • KmsKey (string) --

        The Key Management Service (KMS) encryption key used to encrypt the data in your environment.

      • LastUpdate (dict) --

        The status of the last update on the environment, and any errors that were encountered.

        • CreatedAt (datetime) --

          The day and time of the last update on the environment.

        • Error (dict) --

          The error that was encountered during the last update of the environment.

          • ErrorCode (string) --

            The error code that corresponds to the error with the last update.

          • ErrorMessage (string) --

            The error message that corresponds to the error code.

        • Status (string) --

          The status of the last update on the environment. Valid values: SUCCESS , PENDING , FAILED .

      • LoggingConfiguration (dict) --

        The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs , SchedulerLogs , TaskLogs , WebserverLogs , WorkerLogs .

        • DagProcessingLogs (dict) --

          Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

          • CloudWatchLogGroupArn (string) --

            The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache Airflow log type (e.g. DagProcessingLogs ) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:* .

          • Enabled (boolean) --

            Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

          • LogLevel (string) --

            Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

        • SchedulerLogs (dict) --

          Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

          • CloudWatchLogGroupArn (string) --

            The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache Airflow log type (e.g. DagProcessingLogs ) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:* .

          • Enabled (boolean) --

            Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

          • LogLevel (string) --

            Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

        • TaskLogs (dict) --

          Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

          • CloudWatchLogGroupArn (string) --

            The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache Airflow log type (e.g. DagProcessingLogs ) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:* .

          • Enabled (boolean) --

            Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

          • LogLevel (string) --

            Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

        • WebserverLogs (dict) --

          Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

          • CloudWatchLogGroupArn (string) --

            The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache Airflow log type (e.g. DagProcessingLogs ) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:* .

          • Enabled (boolean) --

            Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

          • LogLevel (string) --

            Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

        • WorkerLogs (dict) --

          Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

          • CloudWatchLogGroupArn (string) --

            The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache Airflow log type (e.g. DagProcessingLogs ) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:* .

          • Enabled (boolean) --

            Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

          • LogLevel (string) --

            Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

      • MaxWorkers (integer) --

        The maximum number of workers that run in your environment. For example, 20 .

      • MinWorkers (integer) --

        The minimum number of workers that run in your environment. For example, 2 .

      • Name (string) --

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

      • NetworkConfiguration (dict) --

        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 .

        • SecurityGroupIds (list) --

          A list of 1 or more security group IDs. Accepts up to 5 security group IDs. A security group must be attached to the same VPC as the subnets. To learn more, see Security in your VPC on Amazon MWAA .

          • (string) --
        • SubnetIds (list) --

          A list of 2 subnet IDs. Required to create an environment. Must be private subnets in two different availability zones. A subnet must be attached to the same VPC as the security group.

          • (string) --
      • PluginsS3ObjectVersion (string) --

        The version of the plugins.zip file on your Amazon S3 bucket. To learn more, see Installing custom plugins .

      • PluginsS3Path (string) --

        The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip . To learn more, see Installing custom plugins .

      • RequirementsS3ObjectVersion (string) --

        The version of the requirements.txt file on your Amazon S3 bucket. To learn more, see Installing Python dependencies .

      • RequirementsS3Path (string) --

        The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt . To learn more, see Installing Python dependencies .

      • Schedulers (integer) --

        The number of Apache Airflow schedulers that run in your Amazon MWAA environment.

      • ServiceRoleArn (string) --

        The Amazon Resource Name (ARN) for the service-linked role of the environment. To learn more, see Amazon MWAA Service-linked role .

      • SourceBucketArn (string) --

        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 .

      • Status (string) --

        The status of the Amazon MWAA environment. Valid values:

        • CREATING - Indicates the request to create the environment is in progress.
        • CREATE_FAILED - Indicates the request to create the environment failed, and the environment could not be created.
        • AVAILABLE - Indicates the request was successful and the environment is ready to use.
        • UPDATING - Indicates the request to update the environment is in progress.
        • DELETING - Indicates the request to delete the environment is in progress.
        • DELETED - Indicates the request to delete the environment is complete, and the environment has been deleted.
        • UNAVAILABLE - Indicates the request failed, but the environment was unable to rollback and is not in a stable state.
        • UPDATE_FAILED - Indicates the request to update the environment failed, and the environment has rolled back successfully and is ready to use.

        We recommend reviewing our troubleshooting guide for a list of common errors and their solutions. To learn more, see Amazon MWAA troubleshooting .

      • Tags (dict) --

        The key-value tag pairs associated to your environment. For example, "Environment": "Staging" . To learn more, see Tagging AWS resources .

        • (string) --
          • (string) --
      • WebserverAccessMode (string) --

        The Apache Airflow Web server access mode. To learn more, see Apache Airflow access modes .

      • WebserverUrl (string) --

        The Apache Airflow Web server host name for the Amazon MWAA environment. To learn more, see Accessing the Apache Airflow UI .

      • WeeklyMaintenanceWindowStart (string) --

        The day and time of the week that weekly maintenance updates are scheduled. For example: TUE:03:30 .

Exceptions

get_paginator(operation_name)

Create a paginator for an operation.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Raises OperationNotPageableError
Raised if the operation is not pageable. You can use the client.can_paginate method to check if an operation is pageable.
Return type
L{botocore.paginate.Paginator}
Returns
A paginator object.
get_waiter(waiter_name)

Returns an object that can wait for some condition.

Parameters
waiter_name (str) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
Returns
The specified waiter object.
Return type
botocore.waiter.Waiter
list_environments(**kwargs)

Lists the Amazon Managed Workflows for Apache Airflow (MWAA) environments.

See also: AWS API Documentation

Request Syntax

response = client.list_environments(
    MaxResults=123,
    NextToken='string'
)
Parameters
  • MaxResults (integer) -- The maximum number of results to retrieve per page. For example, 5 environments per page.
  • NextToken (string) -- Retrieves the next page of the results.
Return type

dict

Returns

Response Syntax

{
    'Environments': [
        'string',
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Environments (list) --

      Returns the list of Amazon MWAA environments.

      • (string) --
    • NextToken (string) --

      Retrieves the next page of the results.

Exceptions

list_tags_for_resource(**kwargs)

Lists the key-value tag pairs associated to the Amazon Managed Workflows for Apache Airflow (MWAA) environment. For example, "Environment": "Staging" .

See also: AWS API Documentation

Request Syntax

response = client.list_tags_for_resource(
    ResourceArn='string'
)
Parameters
ResourceArn (string) --

[REQUIRED]

The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment .

Return type
dict
Returns
Response Syntax
{
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --
    • Tags (dict) --

      The key-value tag pairs associated to your environment. To learn more, see Tagging AWS resources .

      • (string) --
        • (string) --

Exceptions

publish_metrics(**kwargs)

An operation for publishing metrics from the customers to the Ops plane.

See also: AWS API Documentation

Request Syntax

response = client.publish_metrics(
    EnvironmentName='string',
    MetricData=[
        {
            'Dimensions': [
                {
                    'Name': 'string',
                    'Value': 'string'
                },
            ],
            'MetricName': 'string',
            'StatisticValues': {
                'Maximum': 123.0,
                'Minimum': 123.0,
                'SampleCount': 123,
                'Sum': 123.0
            },
            'Timestamp': datetime(2015, 1, 1),
            'Unit': 'Seconds'|'Microseconds'|'Milliseconds'|'Bytes'|'Kilobytes'|'Megabytes'|'Gigabytes'|'Terabytes'|'Bits'|'Kilobits'|'Megabits'|'Gigabits'|'Terabits'|'Percent'|'Count'|'Bytes/Second'|'Kilobytes/Second'|'Megabytes/Second'|'Gigabytes/Second'|'Terabytes/Second'|'Bits/Second'|'Kilobits/Second'|'Megabits/Second'|'Gigabits/Second'|'Terabits/Second'|'Count/Second'|'None',
            'Value': 123.0
        },
    ]
)
Parameters
  • EnvironmentName (string) --

    [REQUIRED]

    Publishes environment metric data to Amazon CloudWatch.

  • MetricData (list) --

    [REQUIRED]

    Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metrica.

    • (dict) --

      Internal only API.

      • Dimensions (list) --

        Internal only API.

        • (dict) --

          Internal only API.

          • Name (string) -- [REQUIRED]

            Internal only API.

          • Value (string) -- [REQUIRED]

            Internal only API.

      • MetricName (string) -- [REQUIRED]

        Internal only API.

      • StatisticValues (dict) --

        Internal only API.

        • Maximum (float) --

          Internal only API.

        • Minimum (float) --

          Internal only API.

        • SampleCount (integer) --

          Internal only API.

        • Sum (float) --

          Internal only API.

      • Timestamp (datetime) -- [REQUIRED]

        Internal only API.

      • Unit (string) --

        Unit

      • Value (float) --

        Internal only API.

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

tag_resource(**kwargs)

Associates key-value tag pairs to your Amazon Managed Workflows for Apache Airflow (MWAA) environment.

See also: AWS API Documentation

Request Syntax

response = client.tag_resource(
    ResourceArn='string',
    Tags={
        'string': 'string'
    }
)
Parameters
  • ResourceArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment .

  • Tags (dict) --

    [REQUIRED]

    The key-value tag pairs you want to associate to your environment. For example, "Environment": "Staging" . To learn more, see Tagging AWS resources .

    • (string) --
      • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

untag_resource(**kwargs)

Removes key-value tag pairs associated to your Amazon Managed Workflows for Apache Airflow (MWAA) environment. For example, "Environment": "Staging" .

See also: AWS API Documentation

Request Syntax

response = client.untag_resource(
    ResourceArn='string',
    tagKeys=[
        'string',
    ]
)
Parameters
  • ResourceArn (string) --

    [REQUIRED]

    The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment .

  • tagKeys (list) --

    [REQUIRED]

    The key-value tag pair you want to remove. For example, "Environment": "Staging" .

    • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

update_environment(**kwargs)

Updates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

See also: AWS API Documentation

Request Syntax

response = client.update_environment(
    AirflowConfigurationOptions={
        'string': 'string'
    },
    AirflowVersion='string',
    DagS3Path='string',
    EnvironmentClass='string',
    ExecutionRoleArn='string',
    LoggingConfiguration={
        'DagProcessingLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'SchedulerLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'TaskLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'WebserverLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        },
        'WorkerLogs': {
            'Enabled': True|False,
            'LogLevel': 'CRITICAL'|'ERROR'|'WARNING'|'INFO'|'DEBUG'
        }
    },
    MaxWorkers=123,
    MinWorkers=123,
    Name='string',
    NetworkConfiguration={
        'SecurityGroupIds': [
            'string',
        ]
    },
    PluginsS3ObjectVersion='string',
    PluginsS3Path='string',
    RequirementsS3ObjectVersion='string',
    RequirementsS3Path='string',
    Schedulers=123,
    SourceBucketArn='string',
    WebserverAccessMode='PRIVATE_ONLY'|'PUBLIC_ONLY',
    WeeklyMaintenanceWindowStart='string'
)
Parameters
  • AirflowConfigurationOptions (dict) --

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

    • (string) --
      • (string) --
  • AirflowVersion (string) -- The Apache Airflow version for your environment. For example, v1.10.12 . If no value is specified, defaults to the latest version. Valid values: v1.10.12 .
  • DagS3Path (string) -- The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags . To learn more, see Adding or updating DAGs .
  • EnvironmentClass (string) -- The environment class type. Valid values: mw1.small , mw1.medium , mw1.large . To learn more, see Amazon MWAA environment class .
  • ExecutionRoleArn (string) -- 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 .
  • LoggingConfiguration (dict) --

    Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs , SchedulerLogs , TaskLogs , WebserverLogs , WorkerLogs .

    • DagProcessingLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • SchedulerLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • TaskLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • WebserverLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

    • WorkerLogs (dict) --

      Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs ). Valid values: CloudWatchLogGroupArn , Enabled , LogLevel .

      • Enabled (boolean) -- [REQUIRED]

        Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs ) in CloudWatch Logs.

      • LogLevel (string) -- [REQUIRED]

        Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs ) to CloudWatch Logs. Valid values: CRITICAL , ERROR , WARNING , INFO .

  • MaxWorkers (integer) -- 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 .
  • MinWorkers (integer) -- 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 .
  • Name (string) --

    [REQUIRED]

    The name of your Amazon MWAA environment. For example, MyMWAAEnvironment .

  • NetworkConfiguration (dict) --

    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 .

    • SecurityGroupIds (list) -- [REQUIRED]

      A list of 1 or more security group IDs. Accepts up to 5 security group IDs. A security group must be attached to the same VPC as the subnets. To learn more, see Security in your VPC on Amazon MWAA .

      • (string) --
  • PluginsS3ObjectVersion (string) -- The version of the plugins.zip file on your Amazon S3 bucket. A version must be specified each time a plugins.zip file is updated. To learn more, see How S3 Versioning works .
  • PluginsS3Path (string) -- 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. To learn more, see Installing custom plugins .
  • RequirementsS3ObjectVersion (string) -- The version of the requirements.txt file on your Amazon S3 bucket. A version must be specified each time a requirements.txt file is updated. To learn more, see How S3 Versioning works .
  • RequirementsS3Path (string) -- The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt . If specified, then a file version is required. To learn more, see Installing Python dependencies .
  • Schedulers (integer) -- The number of Apache Airflow schedulers to run in your Amazon MWAA environment.
  • SourceBucketArn (string) -- 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 .
  • WebserverAccessMode (string) -- The Apache Airflow Web server access mode. To learn more, see Apache Airflow access modes .
  • WeeklyMaintenanceWindowStart (string) --

    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)
Return type

dict

Returns

Response Syntax

{
    'Arn': 'string'
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment .

Exceptions

Client Exceptions

Client exceptions are available on a client instance via the exceptions property. For more detailed instructions and examples on the exact usage of client exceptions, see the error handling user guide.

The available client exceptions are:

class MWAA.Client.exceptions.AccessDeniedException

Access to the Airflow Web UI or CLI has been Denied. Please follow the MWAA user guide to setup permissions to access the Web UI and CLI functionality.

Example

try:
  ...
except client.exceptions.AccessDeniedException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'Message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    Access to the Airflow Web UI or CLI has been Denied. Please follow the MWAA user guide to setup permissions to access the Web UI and CLI functionality.

    • Message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class MWAA.Client.exceptions.InternalServerException

InternalServerException: An internal error has occurred.

Example

try:
  ...
except client.exceptions.InternalServerException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    InternalServerException: An internal error has occurred.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class MWAA.Client.exceptions.ResourceNotFoundException

ResourceNotFoundException: The resource is not available.

Example

try:
  ...
except client.exceptions.ResourceNotFoundException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    ResourceNotFoundException: The resource is not available.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class MWAA.Client.exceptions.ValidationException

ValidationException: The provided input is not valid.

Example

try:
  ...
except client.exceptions.ValidationException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --

    ValidationException: The provided input is not valid.

    • message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.

Paginators

The available paginators are:

class MWAA.Paginator.ListEnvironments
paginator = client.get_paginator('list_environments')
paginate(**kwargs)

Creates an iterator that will paginate through responses from MWAA.Client.list_environments().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
PaginationConfig (dict) --

A dictionary that provides parameters to control pagination.

  • MaxItems (integer) --

    The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

  • PageSize (integer) --

    The size of each page.

  • StartingToken (string) --

    A token to specify where to start paginating. This is the NextToken from a previous response.

Return type
dict
Returns
Response Syntax
{
    'Environments': [
        'string',
    ],

}

Response Structure

  • (dict) --
    • Environments (list) --

      Returns the list of Amazon MWAA environments.

      • (string) --