Skip to main content

AWS CDK construct library for Amazon Managed Workflows for Apache Airflow (MWAA)

Project description

cdk-mwaa

This project provides an AWS CDK construct library for creating and managing Amazon Managed Workflows for Apache Airflow (MWAA) environments.

Features

  • Create and manage MWAA environments
  • Configure environment properties such as webserver access mode, Airflow version, environment class, and more
  • Validate and set default values for environment properties
  • Automatically create and configure necessary AWS resources such as S3 buckets and VPCs

Installation

To use this construct library in your AWS CDK project, add it as a dependency:

npm install cdk-mwaa
# or
yarn add cdk-mwaa

Usage

Here is an example of how to use the cdk-mwaa construct library in your AWS CDK project:

import * as path from 'node:path';
import * as cdk from 'aws-cdk-lib';
import * as mwaa from 'cdk-mwaa';

const app = new cdk.App();
const stack = new cdk.Stack(app, 'MwaaStack');

const dagStorage = new mwaa.DagStorage(stack, 'MyMwaaDagStorage', {
    bucketName: 'my-mwaa-dag-storage',
    dagsOptions: {
        localPath: path.join(__dirname, 'dags'),
        s3Path: 'dags/',
      },
    // additional configuration options...
});

new mwaa.Environment(stack, 'MyMwaaEnvironment', {
    name: 'my-mwaa-environment',
    dagStorage,
    airflowVersion: '2.10.3',
    sizing: mwaa.Sizing.mw1Micro(),
    // additional configuration options...
});

app.synth();

Enabling Secrets Backend

To enable the secrets backend for your MWAA environment, you can use the enableSecretsBackend method. This allows you to securely manage secrets and environment variables.

Here is an example of how to enable the secrets backend in your MWAA environment:

import * as cdk from 'aws-cdk-lib';
import * as mwaa from 'cdk-mwaa';

const app = new cdk.App();
const stack = new cdk.Stack(app, 'MwaaStack');

const dagStorage = new mwaa.DagStorage(stack, 'MyMwaaDagStorage', {
    bucketName: 'my-mwaa-dag-storage',
    // additional configuration options...
});

const environment = new mwaa.Environment(stack, 'MyMwaaEnvironment', {
    name: 'my-mwaa-environment',
    dagStorage,
    airflowVersion: '2.10.3',
    sizing: mwaa.Sizing.mw1Micro(),
    // additional configuration options...
});

// Enabling Secrets Backend
environment.enableSecretsBackend();

app.synth();

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk_mwaa-0.0.29.tar.gz (99.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdk_mwaa-0.0.29-py3-none-any.whl (97.5 kB view details)

Uploaded Python 3

File details

Details for the file cdk_mwaa-0.0.29.tar.gz.

File metadata

  • Download URL: cdk_mwaa-0.0.29.tar.gz
  • Upload date:
  • Size: 99.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for cdk_mwaa-0.0.29.tar.gz
Algorithm Hash digest
SHA256 4723aeb95f883619c2e52e536b42b84d6b9f3869546d8abfd12cb81f5f5486b2
MD5 4fffea8feee152a979618440ed531067
BLAKE2b-256 4009c757d08093a66f8ab48815ac655d9a789dd80743231de4c6d8580f026027

See more details on using hashes here.

File details

Details for the file cdk_mwaa-0.0.29-py3-none-any.whl.

File metadata

  • Download URL: cdk_mwaa-0.0.29-py3-none-any.whl
  • Upload date:
  • Size: 97.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for cdk_mwaa-0.0.29-py3-none-any.whl
Algorithm Hash digest
SHA256 63a9ceee0a9396b53a8def9367650cc3f6d21faf2bf6d4d5c90dcacb26697bf3
MD5 4f37a43c3063c0910d400df062607944
BLAKE2b-256 57a84ee802393af457255bbbbee0835f93b9b169fe994b81bdada5686cadfc56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page