apache-airflow-providers-amazon 8.26.0rc2__tar.gz → 8.27.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/PKG-INFO +32 -25
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/README.rst +22 -19
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/__init__.py +1 -1
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/datasets/s3.py +45 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +20 -13
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +24 -13
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +65 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/rds.py +3 -3
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/s3.py +26 -1
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/step_function.py +18 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/athena.py +16 -17
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/emr.py +23 -23
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/operators/kinesis_analytics.py +348 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/rds.py +17 -20
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/redshift_cluster.py +71 -53
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/s3.py +7 -11
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/sagemaker.py +6 -18
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/step_function.py +12 -2
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +234 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +1 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +1 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/emr.py +3 -1
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +69 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/sagemaker.py +9 -1
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/waiters/__init__.py +16 -0
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +151 -0
- apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/waiters/rds.json +253 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/get_provider_info.py +35 -2
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/pyproject.toml +11 -6
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/LICENSE +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/executors → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/datasets}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/exceptions.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/executors/utils → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/executors}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/fs → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/executors/utils}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/hooks → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/fs}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/fs/s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/links → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/hooks}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/log → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/links}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/athena.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/batch.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/emr.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/glue.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/logs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/links/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/notifications → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/log}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/operators → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/notifications}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/secrets → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/operators}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/batch.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/dms.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/eks.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/glue.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/sns.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/sensors → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/secrets}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/transfers → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/sensors}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/batch.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/dms.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/emr.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/glue.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/waiters → apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/transfers}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/base.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/README.md +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/base.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/rds.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/tags.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/README.md +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
- {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
{apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-amazon
|
3
|
-
Version: 8.
|
3
|
+
Version: 8.27.0
|
4
4
|
Summary: Provider package apache-airflow-providers-amazon for Apache Airflow
|
5
5
|
Keywords: airflow-provider,amazon,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -22,9 +22,11 @@ Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
23
23
|
Classifier: Topic :: System :: Monitoring
|
24
24
|
Requires-Dist: PyAthena>=3.0.10
|
25
|
-
Requires-Dist: apache-airflow-providers-common-
|
25
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.1.0
|
26
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.1.0
|
27
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.3.1
|
26
28
|
Requires-Dist: apache-airflow-providers-http
|
27
|
-
Requires-Dist: apache-airflow>=2.7.
|
29
|
+
Requires-Dist: apache-airflow>=2.7.0
|
28
30
|
Requires-Dist: asgiref>=2.3.0
|
29
31
|
Requires-Dist: boto3>=1.34.90
|
30
32
|
Requires-Dist: botocore>=1.34.90
|
@@ -36,7 +38,8 @@ Requires-Dist: sqlalchemy_redshift>=0.8.6
|
|
36
38
|
Requires-Dist: watchtower>=3.0.0,<4
|
37
39
|
Requires-Dist: aiobotocore[boto3]>=2.13.0 ; extra == "aiobotocore"
|
38
40
|
Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache.hive"
|
39
|
-
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.
|
41
|
+
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0 ; extra == "cncf.kubernetes"
|
42
|
+
Requires-Dist: apache-airflow-providers-common-compat ; extra == "common.compat"
|
40
43
|
Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
|
41
44
|
Requires-Dist: apache-airflow-providers-exasol ; extra == "exasol"
|
42
45
|
Requires-Dist: apache-airflow-providers-ftp ; extra == "ftp"
|
@@ -53,8 +56,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
|
|
53
56
|
Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
|
54
57
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
55
58
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
56
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
57
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
59
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html
|
60
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0
|
58
61
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
59
62
|
Project-URL: Source Code, https://github.com/apache/airflow
|
60
63
|
Project-URL: Twitter, https://twitter.com/ApacheAirflow
|
@@ -62,6 +65,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
62
65
|
Provides-Extra: aiobotocore
|
63
66
|
Provides-Extra: apache.hive
|
64
67
|
Provides-Extra: cncf.kubernetes
|
68
|
+
Provides-Extra: common.compat
|
65
69
|
Provides-Extra: common.sql
|
66
70
|
Provides-Extra: exasol
|
67
71
|
Provides-Extra: ftp
|
@@ -121,7 +125,7 @@ Provides-Extra: ssh
|
|
121
125
|
|
122
126
|
Package ``apache-airflow-providers-amazon``
|
123
127
|
|
124
|
-
Release: ``8.
|
128
|
+
Release: ``8.27.0``
|
125
129
|
|
126
130
|
|
127
131
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -134,7 +138,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
134
138
|
are in ``airflow.providers.amazon`` python package.
|
135
139
|
|
136
140
|
You can find package information and changelog for the provider
|
137
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
141
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/>`_.
|
138
142
|
|
139
143
|
Installation
|
140
144
|
------------
|
@@ -148,23 +152,25 @@ The package supports the following python versions: 3.8,3.9,3.10,3.11,3.12
|
|
148
152
|
Requirements
|
149
153
|
------------
|
150
154
|
|
151
|
-
|
152
|
-
PIP package
|
153
|
-
|
154
|
-
``apache-airflow``
|
155
|
-
``apache-airflow-providers-common-
|
155
|
+
========================================== ==================
|
156
|
+
PIP package Version required
|
157
|
+
========================================== ==================
|
158
|
+
``apache-airflow`` ``>=2.7.0``
|
159
|
+
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
160
|
+
``apache-airflow-providers-common-sql`` ``>=1.3.1``
|
156
161
|
``apache-airflow-providers-http``
|
157
|
-
``
|
158
|
-
``
|
159
|
-
``
|
160
|
-
``
|
161
|
-
``
|
162
|
-
``
|
163
|
-
``
|
164
|
-
``
|
165
|
-
``
|
166
|
-
``
|
167
|
-
|
162
|
+
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
163
|
+
``boto3`` ``>=1.34.90``
|
164
|
+
``botocore`` ``>=1.34.90``
|
165
|
+
``inflection`` ``>=0.5.1``
|
166
|
+
``watchtower`` ``>=3.0.0,<4``
|
167
|
+
``jsonpath_ng`` ``>=1.5.3``
|
168
|
+
``redshift_connector`` ``>=2.0.918``
|
169
|
+
``sqlalchemy_redshift`` ``>=0.8.6``
|
170
|
+
``asgiref`` ``>=2.3.0``
|
171
|
+
``PyAthena`` ``>=3.0.10``
|
172
|
+
``jmespath`` ``>=0.7.0``
|
173
|
+
========================================== ==================
|
168
174
|
|
169
175
|
Cross provider package dependencies
|
170
176
|
-----------------------------------
|
@@ -184,6 +190,7 @@ Dependent package
|
|
184
190
|
====================================================================================================================== ===================
|
185
191
|
`apache-airflow-providers-apache-hive <https://airflow.apache.org/docs/apache-airflow-providers-apache-hive>`_ ``apache.hive``
|
186
192
|
`apache-airflow-providers-cncf-kubernetes <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes>`_ ``cncf.kubernetes``
|
193
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
187
194
|
`apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
|
188
195
|
`apache-airflow-providers-exasol <https://airflow.apache.org/docs/apache-airflow-providers-exasol>`_ ``exasol``
|
189
196
|
`apache-airflow-providers-ftp <https://airflow.apache.org/docs/apache-airflow-providers-ftp>`_ ``ftp``
|
@@ -198,4 +205,4 @@ Dependent package
|
|
198
205
|
====================================================================================================================== ===================
|
199
206
|
|
200
207
|
The changelog for the provider package can be found in the
|
201
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
208
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html>`_.
|
{apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0}/README.rst
RENAMED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
Package ``apache-airflow-providers-amazon``
|
44
44
|
|
45
|
-
Release: ``8.
|
45
|
+
Release: ``8.27.0``
|
46
46
|
|
47
47
|
|
48
48
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -55,7 +55,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
55
55
|
are in ``airflow.providers.amazon`` python package.
|
56
56
|
|
57
57
|
You can find package information and changelog for the provider
|
58
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
58
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/>`_.
|
59
59
|
|
60
60
|
Installation
|
61
61
|
------------
|
@@ -69,23 +69,25 @@ The package supports the following python versions: 3.8,3.9,3.10,3.11,3.12
|
|
69
69
|
Requirements
|
70
70
|
------------
|
71
71
|
|
72
|
-
|
73
|
-
PIP package
|
74
|
-
|
75
|
-
``apache-airflow``
|
76
|
-
``apache-airflow-providers-common-
|
72
|
+
========================================== ==================
|
73
|
+
PIP package Version required
|
74
|
+
========================================== ==================
|
75
|
+
``apache-airflow`` ``>=2.7.0``
|
76
|
+
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
77
|
+
``apache-airflow-providers-common-sql`` ``>=1.3.1``
|
77
78
|
``apache-airflow-providers-http``
|
78
|
-
``
|
79
|
-
``
|
80
|
-
``
|
81
|
-
``
|
82
|
-
``
|
83
|
-
``
|
84
|
-
``
|
85
|
-
``
|
86
|
-
``
|
87
|
-
``
|
88
|
-
|
79
|
+
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
80
|
+
``boto3`` ``>=1.34.90``
|
81
|
+
``botocore`` ``>=1.34.90``
|
82
|
+
``inflection`` ``>=0.5.1``
|
83
|
+
``watchtower`` ``>=3.0.0,<4``
|
84
|
+
``jsonpath_ng`` ``>=1.5.3``
|
85
|
+
``redshift_connector`` ``>=2.0.918``
|
86
|
+
``sqlalchemy_redshift`` ``>=0.8.6``
|
87
|
+
``asgiref`` ``>=2.3.0``
|
88
|
+
``PyAthena`` ``>=3.0.10``
|
89
|
+
``jmespath`` ``>=0.7.0``
|
90
|
+
========================================== ==================
|
89
91
|
|
90
92
|
Cross provider package dependencies
|
91
93
|
-----------------------------------
|
@@ -105,6 +107,7 @@ Dependent package
|
|
105
107
|
====================================================================================================================== ===================
|
106
108
|
`apache-airflow-providers-apache-hive <https://airflow.apache.org/docs/apache-airflow-providers-apache-hive>`_ ``apache.hive``
|
107
109
|
`apache-airflow-providers-cncf-kubernetes <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes>`_ ``cncf.kubernetes``
|
110
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
108
111
|
`apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
|
109
112
|
`apache-airflow-providers-exasol <https://airflow.apache.org/docs/apache-airflow-providers-exasol>`_ ``exasol``
|
110
113
|
`apache-airflow-providers-ftp <https://airflow.apache.org/docs/apache-airflow-providers-ftp>`_ ``ftp``
|
@@ -119,4 +122,4 @@ Dependent package
|
|
119
122
|
====================================================================================================================== ===================
|
120
123
|
|
121
124
|
The changelog for the provider package can be found in the
|
122
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
125
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html>`_.
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "8.
|
32
|
+
__version__ = "8.27.0"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"2.7.0"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
2
|
+
# or more contributor license agreements. See the NOTICE file
|
3
|
+
# distributed with this work for additional information
|
4
|
+
# regarding copyright ownership. The ASF licenses this file
|
5
|
+
# to you under the Apache License, Version 2.0 (the
|
6
|
+
# "License"); you may not use this file except in compliance
|
7
|
+
# with the License. You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
from __future__ import annotations
|
18
|
+
|
19
|
+
from typing import TYPE_CHECKING
|
20
|
+
|
21
|
+
from airflow.datasets import Dataset
|
22
|
+
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
|
23
|
+
|
24
|
+
if TYPE_CHECKING:
|
25
|
+
from urllib.parse import SplitResult
|
26
|
+
|
27
|
+
from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
|
28
|
+
|
29
|
+
|
30
|
+
def create_dataset(*, bucket: str, key: str, extra=None) -> Dataset:
|
31
|
+
return Dataset(uri=f"s3://{bucket}/{key}", extra=extra)
|
32
|
+
|
33
|
+
|
34
|
+
def sanitize_uri(uri: SplitResult) -> SplitResult:
|
35
|
+
if not uri.netloc:
|
36
|
+
raise ValueError("URI format s3:// must contain a bucket name")
|
37
|
+
return uri
|
38
|
+
|
39
|
+
|
40
|
+
def convert_dataset_to_openlineage(dataset: Dataset, lineage_context) -> OpenLineageDataset:
|
41
|
+
"""Translate Dataset with valid AIP-60 uri to OpenLineage with assistance from the hook."""
|
42
|
+
from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
|
43
|
+
|
44
|
+
bucket, key = S3Hook.parse_s3_url(dataset.uri)
|
45
|
+
return OpenLineageDataset(namespace=f"s3://{bucket}", name=key if key else "/")
|
@@ -19,10 +19,9 @@
|
|
19
19
|
|
20
20
|
from __future__ import annotations
|
21
21
|
|
22
|
-
import contextlib
|
23
|
-
import logging
|
24
22
|
import time
|
25
23
|
from collections import deque
|
24
|
+
from contextlib import suppress
|
26
25
|
from copy import deepcopy
|
27
26
|
from typing import TYPE_CHECKING, Any, Dict, List, Sequence
|
28
27
|
|
@@ -292,12 +291,19 @@ class AwsBatchExecutor(BaseExecutor):
|
|
292
291
|
|
293
292
|
if failure_reason:
|
294
293
|
if attempt_number >= int(self.__class__.MAX_SUBMIT_JOB_ATTEMPTS):
|
295
|
-
self.
|
296
|
-
|
297
|
-
|
294
|
+
self.log.error(
|
295
|
+
(
|
296
|
+
"This job has been unsuccessfully attempted too many times (%s). "
|
297
|
+
"Dropping the task. Reason: %s"
|
298
|
+
),
|
298
299
|
attempt_number,
|
299
300
|
failure_reason,
|
300
|
-
|
301
|
+
)
|
302
|
+
self.log_task_event(
|
303
|
+
event="batch job submit failure",
|
304
|
+
extra=f"This job has been unsuccessfully attempted too many times ({attempt_number}). "
|
305
|
+
f"Dropping the task. Reason: {failure_reason}",
|
306
|
+
ti_key=key,
|
301
307
|
)
|
302
308
|
self.fail(key=key)
|
303
309
|
else:
|
@@ -317,7 +323,7 @@ class AwsBatchExecutor(BaseExecutor):
|
|
317
323
|
exec_config=exec_config,
|
318
324
|
attempt_number=attempt_number,
|
319
325
|
)
|
320
|
-
with
|
326
|
+
with suppress(AttributeError):
|
321
327
|
# TODO: Remove this when min_airflow_version is 2.10.0 or higher in Amazon provider.
|
322
328
|
# running_state is added in Airflow 2.10 and only needed to support task adoption
|
323
329
|
# (an optional executor feature).
|
@@ -458,10 +464,11 @@ class AwsBatchExecutor(BaseExecutor):
|
|
458
464
|
not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
|
459
465
|
return not_adopted_tis
|
460
466
|
|
461
|
-
def
|
467
|
+
def log_task_event(self, *, event: str, extra: str, ti_key: TaskInstanceKey):
|
462
468
|
# TODO: remove this method when min_airflow_version is set to higher than 2.10.0
|
463
|
-
|
464
|
-
super().
|
465
|
-
|
466
|
-
|
467
|
-
|
469
|
+
with suppress(AttributeError):
|
470
|
+
super().log_task_event(
|
471
|
+
event=event,
|
472
|
+
extra=extra,
|
473
|
+
ti_key=ti_key,
|
474
|
+
)
|
@@ -23,9 +23,9 @@ Each Airflow task gets delegated out to an Amazon ECS Task.
|
|
23
23
|
|
24
24
|
from __future__ import annotations
|
25
25
|
|
26
|
-
import logging
|
27
26
|
import time
|
28
27
|
from collections import defaultdict, deque
|
28
|
+
from contextlib import suppress
|
29
29
|
from copy import deepcopy
|
30
30
|
from typing import TYPE_CHECKING, Sequence
|
31
31
|
|
@@ -385,18 +385,28 @@ class AwsEcsExecutor(BaseExecutor):
|
|
385
385
|
)
|
386
386
|
self.pending_tasks.append(ecs_task)
|
387
387
|
else:
|
388
|
-
|
389
|
-
|
388
|
+
reasons_str = ", ".join(failure_reasons)
|
389
|
+
self.log.error(
|
390
390
|
"ECS task %s has failed a maximum of %s times. Marking as failed. Reasons: %s",
|
391
391
|
task_key,
|
392
392
|
attempt_number,
|
393
|
-
|
394
|
-
|
393
|
+
reasons_str,
|
394
|
+
)
|
395
|
+
self.log_task_event(
|
396
|
+
event="ecs task submit failure",
|
397
|
+
ti_key=task_key,
|
398
|
+
extra=(
|
399
|
+
f"Task could not be queued after {attempt_number} attempts. "
|
400
|
+
f"Marking as failed. Reasons: {reasons_str}"
|
401
|
+
),
|
395
402
|
)
|
396
403
|
self.fail(task_key)
|
397
404
|
elif not run_task_response["tasks"]:
|
398
|
-
self.
|
399
|
-
|
405
|
+
self.log.error("ECS RunTask Response: %s", run_task_response)
|
406
|
+
self.log_task_event(
|
407
|
+
event="ecs task submit failure",
|
408
|
+
extra=f"ECS RunTask Response: {run_task_response}",
|
409
|
+
ti_key=task_key,
|
400
410
|
)
|
401
411
|
raise EcsExecutorException(
|
402
412
|
"No failures and no ECS tasks provided in response. This should never happen."
|
@@ -543,10 +553,11 @@ class AwsEcsExecutor(BaseExecutor):
|
|
543
553
|
not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
|
544
554
|
return not_adopted_tis
|
545
555
|
|
546
|
-
def
|
556
|
+
def log_task_event(self, *, event: str, extra: str, ti_key: TaskInstanceKey):
|
547
557
|
# TODO: remove this method when min_airflow_version is set to higher than 2.10.0
|
548
|
-
|
549
|
-
super().
|
550
|
-
|
551
|
-
|
552
|
-
|
558
|
+
with suppress(AttributeError):
|
559
|
+
super().log_task_event(
|
560
|
+
event=event,
|
561
|
+
extra=extra,
|
562
|
+
ti_key=ti_key,
|
563
|
+
)
|
apache_airflow_providers_amazon-8.27.0/airflow/providers/amazon/aws/hooks/kinesis_analytics.py
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
2
|
+
# or more contributor license agreements. See the NOTICE file
|
3
|
+
# distributed with this work for additional information
|
4
|
+
# regarding copyright ownership. The ASF licenses this file
|
5
|
+
# to you under the Apache License, Version 2.0 (the
|
6
|
+
# "License"); you may not use this file except in compliance
|
7
|
+
# with the License. You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
from __future__ import annotations
|
18
|
+
|
19
|
+
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
20
|
+
|
21
|
+
|
22
|
+
class KinesisAnalyticsV2Hook(AwsBaseHook):
|
23
|
+
"""
|
24
|
+
Interact with Amazon Kinesis Analytics V2.
|
25
|
+
|
26
|
+
Provide thin wrapper around :external+boto3:py:class:`boto3.client("kinesisanalyticsv2") <KinesisAnalyticsV2.Client>`.
|
27
|
+
|
28
|
+
Additional arguments (such as ``aws_conn_id``) may be specified and
|
29
|
+
are passed down to the underlying AwsBaseHook.
|
30
|
+
|
31
|
+
.. seealso::
|
32
|
+
- :class:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`
|
33
|
+
"""
|
34
|
+
|
35
|
+
APPLICATION_START_INTERMEDIATE_STATES: tuple[str, ...] = ("STARTING", "UPDATING", "AUTOSCALING")
|
36
|
+
APPLICATION_START_FAILURE_STATES: tuple[str, ...] = (
|
37
|
+
"DELETING",
|
38
|
+
"STOPPING",
|
39
|
+
"READY",
|
40
|
+
"FORCE_STOPPING",
|
41
|
+
"ROLLING_BACK",
|
42
|
+
"MAINTENANCE",
|
43
|
+
"ROLLED_BACK",
|
44
|
+
)
|
45
|
+
APPLICATION_START_SUCCESS_STATES: tuple[str, ...] = ("RUNNING",)
|
46
|
+
|
47
|
+
APPLICATION_STOP_INTERMEDIATE_STATES: tuple[str, ...] = (
|
48
|
+
"STARTING",
|
49
|
+
"UPDATING",
|
50
|
+
"AUTOSCALING",
|
51
|
+
"RUNNING",
|
52
|
+
"STOPPING",
|
53
|
+
"FORCE_STOPPING",
|
54
|
+
)
|
55
|
+
APPLICATION_STOP_FAILURE_STATES: tuple[str, ...] = (
|
56
|
+
"DELETING",
|
57
|
+
"ROLLING_BACK",
|
58
|
+
"MAINTENANCE",
|
59
|
+
"ROLLED_BACK",
|
60
|
+
)
|
61
|
+
APPLICATION_STOP_SUCCESS_STATES: tuple[str, ...] = ("READY",)
|
62
|
+
|
63
|
+
def __init__(self, *args, **kwargs) -> None:
|
64
|
+
kwargs["client_type"] = "kinesisanalyticsv2"
|
65
|
+
super().__init__(*args, **kwargs)
|
@@ -259,7 +259,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
|
|
259
259
|
return self.get_db_instance_state(db_instance_id)
|
260
260
|
|
261
261
|
target_state = target_state.lower()
|
262
|
-
if target_state in ("available", "deleted"):
|
262
|
+
if target_state in ("available", "deleted", "stopped"):
|
263
263
|
waiter = self.conn.get_waiter(f"db_instance_{target_state}") # type: ignore
|
264
264
|
wait(
|
265
265
|
waiter=waiter,
|
@@ -272,7 +272,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
|
|
272
272
|
)
|
273
273
|
else:
|
274
274
|
self._wait_for_state(poke, target_state, check_interval, max_attempts)
|
275
|
-
self.log.info("DB cluster
|
275
|
+
self.log.info("DB cluster '%s' reached the '%s' state", db_instance_id, target_state)
|
276
276
|
|
277
277
|
def get_db_cluster_state(self, db_cluster_id: str) -> str:
|
278
278
|
"""
|
@@ -310,7 +310,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
|
|
310
310
|
return self.get_db_cluster_state(db_cluster_id)
|
311
311
|
|
312
312
|
target_state = target_state.lower()
|
313
|
-
if target_state in ("available", "deleted"):
|
313
|
+
if target_state in ("available", "deleted", "stopped"):
|
314
314
|
waiter = self.conn.get_waiter(f"db_cluster_{target_state}") # type: ignore
|
315
315
|
waiter.wait(
|
316
316
|
DBClusterIdentifier=db_cluster_id,
|
@@ -41,6 +41,8 @@ from typing import TYPE_CHECKING, Any, AsyncIterator, Callable
|
|
41
41
|
from urllib.parse import urlsplit
|
42
42
|
from uuid import uuid4
|
43
43
|
|
44
|
+
from airflow.providers.common.compat.lineage.hook import get_hook_lineage_collector
|
45
|
+
|
44
46
|
if TYPE_CHECKING:
|
45
47
|
from mypy_boto3_s3.service_resource import Bucket as S3Bucket, Object as S3ResourceObject
|
46
48
|
|
@@ -1111,6 +1113,12 @@ class S3Hook(AwsBaseHook):
|
|
1111
1113
|
|
1112
1114
|
client = self.get_conn()
|
1113
1115
|
client.upload_file(filename, bucket_name, key, ExtraArgs=extra_args, Config=self.transfer_config)
|
1116
|
+
get_hook_lineage_collector().add_input_dataset(
|
1117
|
+
context=self, scheme="file", dataset_kwargs={"path": filename}
|
1118
|
+
)
|
1119
|
+
get_hook_lineage_collector().add_output_dataset(
|
1120
|
+
context=self, scheme="s3", dataset_kwargs={"bucket": bucket_name, "key": key}
|
1121
|
+
)
|
1114
1122
|
|
1115
1123
|
@unify_bucket_name_and_key
|
1116
1124
|
@provide_bucket_name
|
@@ -1251,6 +1259,10 @@ class S3Hook(AwsBaseHook):
|
|
1251
1259
|
ExtraArgs=extra_args,
|
1252
1260
|
Config=self.transfer_config,
|
1253
1261
|
)
|
1262
|
+
# No input because file_obj can be anything - handle in calling function if possible
|
1263
|
+
get_hook_lineage_collector().add_output_dataset(
|
1264
|
+
context=self, scheme="s3", dataset_kwargs={"bucket": bucket_name, "key": key}
|
1265
|
+
)
|
1254
1266
|
|
1255
1267
|
def copy_object(
|
1256
1268
|
self,
|
@@ -1306,6 +1318,12 @@ class S3Hook(AwsBaseHook):
|
|
1306
1318
|
response = self.get_conn().copy_object(
|
1307
1319
|
Bucket=dest_bucket_name, Key=dest_bucket_key, CopySource=copy_source, **kwargs
|
1308
1320
|
)
|
1321
|
+
get_hook_lineage_collector().add_input_dataset(
|
1322
|
+
context=self, scheme="s3", dataset_kwargs={"bucket": source_bucket_name, "key": source_bucket_key}
|
1323
|
+
)
|
1324
|
+
get_hook_lineage_collector().add_output_dataset(
|
1325
|
+
context=self, scheme="s3", dataset_kwargs={"bucket": dest_bucket_name, "key": dest_bucket_key}
|
1326
|
+
)
|
1309
1327
|
return response
|
1310
1328
|
|
1311
1329
|
@provide_bucket_name
|
@@ -1425,6 +1443,11 @@ class S3Hook(AwsBaseHook):
|
|
1425
1443
|
|
1426
1444
|
file_path.parent.mkdir(exist_ok=True, parents=True)
|
1427
1445
|
|
1446
|
+
get_hook_lineage_collector().add_output_dataset(
|
1447
|
+
context=self,
|
1448
|
+
scheme="file",
|
1449
|
+
dataset_kwargs={"path": file_path if file_path.is_absolute() else file_path.absolute()},
|
1450
|
+
)
|
1428
1451
|
file = open(file_path, "wb")
|
1429
1452
|
else:
|
1430
1453
|
file = NamedTemporaryFile(dir=local_path, prefix="airflow_tmp_", delete=False) # type: ignore
|
@@ -1435,7 +1458,9 @@ class S3Hook(AwsBaseHook):
|
|
1435
1458
|
ExtraArgs=self.extra_args,
|
1436
1459
|
Config=self.transfer_config,
|
1437
1460
|
)
|
1438
|
-
|
1461
|
+
get_hook_lineage_collector().add_input_dataset(
|
1462
|
+
context=self, scheme="s3", dataset_kwargs={"bucket": bucket_name, "key": key}
|
1463
|
+
)
|
1439
1464
|
return file.name
|
1440
1465
|
|
1441
1466
|
def generate_presigned_url(
|
@@ -18,6 +18,7 @@ from __future__ import annotations
|
|
18
18
|
|
19
19
|
import json
|
20
20
|
|
21
|
+
from airflow.exceptions import AirflowFailException
|
21
22
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
22
23
|
|
23
24
|
|
@@ -43,6 +44,7 @@ class StepFunctionHook(AwsBaseHook):
|
|
43
44
|
state_machine_arn: str,
|
44
45
|
name: str | None = None,
|
45
46
|
state_machine_input: dict | str | None = None,
|
47
|
+
is_redrive_execution: bool = False,
|
46
48
|
) -> str:
|
47
49
|
"""
|
48
50
|
Start Execution of the State Machine.
|
@@ -51,10 +53,26 @@ class StepFunctionHook(AwsBaseHook):
|
|
51
53
|
- :external+boto3:py:meth:`SFN.Client.start_execution`
|
52
54
|
|
53
55
|
:param state_machine_arn: AWS Step Function State Machine ARN.
|
56
|
+
:param is_redrive_execution: Restarts unsuccessful executions of Standard workflows that did not
|
57
|
+
complete successfully in the last 14 days.
|
54
58
|
:param name: The name of the execution.
|
55
59
|
:param state_machine_input: JSON data input to pass to the State Machine.
|
56
60
|
:return: Execution ARN.
|
57
61
|
"""
|
62
|
+
if is_redrive_execution:
|
63
|
+
if not name:
|
64
|
+
raise AirflowFailException(
|
65
|
+
"Execution name is required to start RedriveExecution for %s.", state_machine_arn
|
66
|
+
)
|
67
|
+
elements = state_machine_arn.split(":stateMachine:")
|
68
|
+
execution_arn = f"{elements[0]}:execution:{elements[1]}:{name}"
|
69
|
+
self.conn.redrive_execution(executionArn=execution_arn)
|
70
|
+
self.log.info(
|
71
|
+
"Successfully started RedriveExecution for Step Function State Machine: %s.",
|
72
|
+
state_machine_arn,
|
73
|
+
)
|
74
|
+
return execution_arn
|
75
|
+
|
58
76
|
execution_args = {"stateMachineArn": state_machine_arn}
|
59
77
|
if name is not None:
|
60
78
|
execution_args["name"] = name
|