in functions/create_dashboard/app.py [0:0]
def lambda_handler(event, context):
logger.info(json.dumps(event, indent=2, default=default))
mwaa_environments = mwaa.list_environments()["Environments"]
logger.info(f"Airflow environments: {json.dumps(mwaa_environments, indent=2)}")
response = cloudwatch.list_dashboards(DashboardNamePrefix="Airflow-")
logger.info(json.dumps(response, indent=2, default=default))
# Create or update dashboards for new/existing environments
for env in mwaa_environments:
dashboard_name = f"Airflow-{env}"
dashboard_body = dashboard_template.replace(
"${AWS::Region}", os.getenv("AWS_REGION", "us-east-1")
).replace("${EnvironmentName}", env)
logger.info(f"Creating/updating dashboard: {dashboard_name}")
logger.debug(dashboard_body)
response = cloudwatch.put_dashboard(
DashboardName=dashboard_name, DashboardBody=dashboard_body
)
logger.info(json.dumps(response, indent=2))