Skip to main content

cdk-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.6.tar.gz (74.9 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.6-py3-none-any.whl (72.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cdk_mwaa-0.0.6.tar.gz
Algorithm Hash digest
SHA256 9f69d3978c33a7b7a005b49255048f05e6dc1bd044a4430450c16fa422c7fe97
MD5 7fe642b57de8ab2c808dc7581acafe19
BLAKE2b-256 eeb09bd63bb5ddf091bafd0108b959befd943b8e01f3a11160477b1cf7f48341

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for cdk_mwaa-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2baebf54eb095850fcbaa4bb633421d9d7e99e3d85706cdfe09987cd2f1ac750
MD5 717e7e44079aeb4a4da388cd36451db1
BLAKE2b-256 b4cdcd1ae97207e36bc07709dcaf1b448ed51b39abb38d5d7f7cf0f1c05d92c9

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