apache-airflow-providers-amazon 8.27.0rc2__tar.gz → 8.28.0rc1__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.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/PKG-INFO +8 -8
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/README.rst +4 -4
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/__init__.py +3 -3
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/batch_client.py +3 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/rds.py +2 -2
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/batch.py +8 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/redshift_data.py +3 -3
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/athena.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/batch.py +7 -33
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/bedrock.py +1 -4
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/cloud_formation.py +2 -11
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/comprehend.py +1 -7
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/dms.py +5 -11
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/ec2.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/ecs.py +4 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/eks.py +5 -7
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/emr.py +9 -36
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/glacier.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/glue.py +0 -9
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/glue_crawler.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +1 -4
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/lambda_function.py +4 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +1 -4
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/quicksight.py +2 -5
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/s3.py +3 -14
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/sagemaker.py +4 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/sqs.py +3 -11
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/step_function.py +2 -6
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +41 -10
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/eks.py +2 -4
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +12 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/get_provider_info.py +3 -2
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/pyproject.toml +4 -4
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/LICENSE +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/datasets/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/datasets/s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/exceptions.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/fs/s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/athena.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/batch.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/emr.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/glue.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/logs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/links/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/log/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/athena.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/dms.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/eks.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/emr.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/glue.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/rds.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/sns.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/base.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/README.md +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/base.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/rds.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/tags.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/README.md +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/rds.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
- {apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
{apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/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.28.0rc1
|
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>
|
@@ -26,7 +26,7 @@ Requires-Dist: apache-airflow-providers-common-compat>=1.1.0rc0
|
|
26
26
|
Requires-Dist: apache-airflow-providers-common-compat>=1.1.0rc0
|
27
27
|
Requires-Dist: apache-airflow-providers-common-sql>=1.3.1rc0
|
28
28
|
Requires-Dist: apache-airflow-providers-http
|
29
|
-
Requires-Dist: apache-airflow>=2.
|
29
|
+
Requires-Dist: apache-airflow>=2.8.0rc0
|
30
30
|
Requires-Dist: asgiref>=2.3.0
|
31
31
|
Requires-Dist: boto3>=1.34.90
|
32
32
|
Requires-Dist: botocore>=1.34.90
|
@@ -56,8 +56,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
|
|
56
56
|
Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
|
57
57
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
58
58
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
59
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
60
|
-
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.28.0/changelog.html
|
60
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0
|
61
61
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
62
62
|
Project-URL: Source Code, https://github.com/apache/airflow
|
63
63
|
Project-URL: Twitter, https://twitter.com/ApacheAirflow
|
@@ -125,7 +125,7 @@ Provides-Extra: ssh
|
|
125
125
|
|
126
126
|
Package ``apache-airflow-providers-amazon``
|
127
127
|
|
128
|
-
Release: ``8.
|
128
|
+
Release: ``8.28.0.rc1``
|
129
129
|
|
130
130
|
|
131
131
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -138,7 +138,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
138
138
|
are in ``airflow.providers.amazon`` python package.
|
139
139
|
|
140
140
|
You can find package information and changelog for the provider
|
141
|
-
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.28.0/>`_.
|
142
142
|
|
143
143
|
Installation
|
144
144
|
------------
|
@@ -155,7 +155,7 @@ Requirements
|
|
155
155
|
========================================== ==================
|
156
156
|
PIP package Version required
|
157
157
|
========================================== ==================
|
158
|
-
``apache-airflow`` ``>=2.
|
158
|
+
``apache-airflow`` ``>=2.8.0``
|
159
159
|
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
160
160
|
``apache-airflow-providers-common-sql`` ``>=1.3.1``
|
161
161
|
``apache-airflow-providers-http``
|
@@ -205,4 +205,4 @@ Dependent package
|
|
205
205
|
====================================================================================================================== ===================
|
206
206
|
|
207
207
|
The changelog for the provider package can be found in the
|
208
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
208
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/changelog.html>`_.
|
{apache_airflow_providers_amazon-8.27.0rc2 → apache_airflow_providers_amazon-8.28.0rc1}/README.rst
RENAMED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
Package ``apache-airflow-providers-amazon``
|
44
44
|
|
45
|
-
Release: ``8.
|
45
|
+
Release: ``8.28.0.rc1``
|
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.28.0/>`_.
|
59
59
|
|
60
60
|
Installation
|
61
61
|
------------
|
@@ -72,7 +72,7 @@ Requirements
|
|
72
72
|
========================================== ==================
|
73
73
|
PIP package Version required
|
74
74
|
========================================== ==================
|
75
|
-
``apache-airflow`` ``>=2.
|
75
|
+
``apache-airflow`` ``>=2.8.0``
|
76
76
|
``apache-airflow-providers-common-compat`` ``>=1.1.0``
|
77
77
|
``apache-airflow-providers-common-sql`` ``>=1.3.1``
|
78
78
|
``apache-airflow-providers-http``
|
@@ -122,4 +122,4 @@ Dependent package
|
|
122
122
|
====================================================================================================================== ===================
|
123
123
|
|
124
124
|
The changelog for the provider package can be found in the
|
125
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.
|
125
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/changelog.html>`_.
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "8.
|
32
|
+
__version__ = "8.28.0"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
|
-
"2.
|
35
|
+
"2.8.0"
|
36
36
|
):
|
37
37
|
raise RuntimeError(
|
38
|
-
f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.
|
38
|
+
f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.8.0+"
|
39
39
|
)
|
@@ -103,6 +103,7 @@ class BatchProtocol(Protocol):
|
|
103
103
|
parameters: dict,
|
104
104
|
containerOverrides: dict,
|
105
105
|
ecsPropertiesOverride: dict,
|
106
|
+
eksPropertiesOverride: dict,
|
106
107
|
tags: dict,
|
107
108
|
) -> dict:
|
108
109
|
"""
|
@@ -122,6 +123,8 @@ class BatchProtocol(Protocol):
|
|
122
123
|
|
123
124
|
:param ecsPropertiesOverride: the same parameter that boto3 will receive
|
124
125
|
|
126
|
+
:param eksPropertiesOverride: the same parameter that boto3 will receive
|
127
|
+
|
125
128
|
:param tags: the same parameter that boto3 will receive
|
126
129
|
|
127
130
|
:return: an API response
|
@@ -155,7 +155,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
|
|
155
155
|
try:
|
156
156
|
response = self.conn.describe_export_tasks(ExportTaskIdentifier=export_task_id)
|
157
157
|
except self.conn.exceptions.ClientError as e:
|
158
|
-
if e.response["Error"]["Code"]
|
158
|
+
if e.response["Error"]["Code"] in ("ExportTaskNotFound", "ExportTaskNotFoundFault"):
|
159
159
|
raise AirflowNotFoundException(e)
|
160
160
|
raise e
|
161
161
|
return response["ExportTasks"][0]["Status"].lower()
|
@@ -196,7 +196,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
|
|
196
196
|
try:
|
197
197
|
response = self.conn.describe_event_subscriptions(SubscriptionName=subscription_name)
|
198
198
|
except self.conn.exceptions.ClientError as e:
|
199
|
-
if e.response["Error"]["Code"]
|
199
|
+
if e.response["Error"]["Code"] in ("SubscriptionNotFoundFault", "SubscriptionNotFound"):
|
200
200
|
raise AirflowNotFoundException(e)
|
201
201
|
raise e
|
202
202
|
return response["EventSubscriptionsList"][0]["Status"].lower()
|
@@ -68,6 +68,7 @@ class BatchOperator(BaseOperator):
|
|
68
68
|
:param overrides: DEPRECATED, use container_overrides instead with the same value.
|
69
69
|
:param container_overrides: the `containerOverrides` parameter for boto3 (templated)
|
70
70
|
:param ecs_properties_override: the `ecsPropertiesOverride` parameter for boto3 (templated)
|
71
|
+
:param eks_properties_override: the `eksPropertiesOverride` parameter for boto3 (templated)
|
71
72
|
:param node_overrides: the `nodeOverrides` parameter for boto3 (templated)
|
72
73
|
:param share_identifier: The share identifier for the job. Don't specify this parameter if the job queue
|
73
74
|
doesn't have a scheduling policy.
|
@@ -116,6 +117,7 @@ class BatchOperator(BaseOperator):
|
|
116
117
|
"container_overrides",
|
117
118
|
"array_properties",
|
118
119
|
"ecs_properties_override",
|
120
|
+
"eks_properties_override",
|
119
121
|
"node_overrides",
|
120
122
|
"parameters",
|
121
123
|
"retry_strategy",
|
@@ -129,6 +131,7 @@ class BatchOperator(BaseOperator):
|
|
129
131
|
"container_overrides": "json",
|
130
132
|
"parameters": "json",
|
131
133
|
"ecs_properties_override": "json",
|
134
|
+
"eks_properties_override": "json",
|
132
135
|
"node_overrides": "json",
|
133
136
|
"retry_strategy": "json",
|
134
137
|
}
|
@@ -166,6 +169,7 @@ class BatchOperator(BaseOperator):
|
|
166
169
|
container_overrides: dict | None = None,
|
167
170
|
array_properties: dict | None = None,
|
168
171
|
ecs_properties_override: dict | None = None,
|
172
|
+
eks_properties_override: dict | None = None,
|
169
173
|
node_overrides: dict | None = None,
|
170
174
|
share_identifier: str | None = None,
|
171
175
|
scheduling_priority_override: int | None = None,
|
@@ -208,6 +212,7 @@ class BatchOperator(BaseOperator):
|
|
208
212
|
)
|
209
213
|
|
210
214
|
self.ecs_properties_override = ecs_properties_override
|
215
|
+
self.eks_properties_override = eks_properties_override
|
211
216
|
self.node_overrides = node_overrides
|
212
217
|
self.share_identifier = share_identifier
|
213
218
|
self.scheduling_priority_override = scheduling_priority_override
|
@@ -307,6 +312,8 @@ class BatchOperator(BaseOperator):
|
|
307
312
|
self.log.info("AWS Batch job - array properties: %s", self.array_properties)
|
308
313
|
if self.ecs_properties_override:
|
309
314
|
self.log.info("AWS Batch job - ECS properties: %s", self.ecs_properties_override)
|
315
|
+
if self.eks_properties_override:
|
316
|
+
self.log.info("AWS Batch job - EKS properties: %s", self.eks_properties_override)
|
310
317
|
if self.node_overrides:
|
311
318
|
self.log.info("AWS Batch job - node properties: %s", self.node_overrides)
|
312
319
|
|
@@ -319,6 +326,7 @@ class BatchOperator(BaseOperator):
|
|
319
326
|
"tags": self.tags,
|
320
327
|
"containerOverrides": self.container_overrides,
|
321
328
|
"ecsPropertiesOverride": self.ecs_properties_override,
|
329
|
+
"eksPropertiesOverride": self.eks_properties_override,
|
322
330
|
"nodeOverrides": self.node_overrides,
|
323
331
|
"retryStrategy": self.retry_strategy,
|
324
332
|
"shareIdentifier": self.share_identifier,
|
@@ -127,8 +127,8 @@ class RedshiftDataOperator(AwsBaseOperator[RedshiftDataHook]):
|
|
127
127
|
|
128
128
|
# Set wait_for_completion to False so that it waits for the status in the deferred task.
|
129
129
|
wait_for_completion = self.wait_for_completion
|
130
|
-
if self.deferrable
|
131
|
-
|
130
|
+
if self.deferrable:
|
131
|
+
wait_for_completion = False
|
132
132
|
|
133
133
|
self.statement_id = self.hook.execute_query(
|
134
134
|
database=self.database,
|
@@ -144,7 +144,7 @@ class RedshiftDataOperator(AwsBaseOperator[RedshiftDataHook]):
|
|
144
144
|
poll_interval=self.poll_interval,
|
145
145
|
)
|
146
146
|
|
147
|
-
if self.deferrable:
|
147
|
+
if self.deferrable and self.wait_for_completion:
|
148
148
|
is_finished = self.hook.check_query_is_finished(self.statement_id)
|
149
149
|
if not is_finished:
|
150
150
|
self.defer(
|
@@ -25,7 +25,7 @@ from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
25
25
|
if TYPE_CHECKING:
|
26
26
|
from airflow.utils.context import Context
|
27
27
|
|
28
|
-
from airflow.exceptions import AirflowException
|
28
|
+
from airflow.exceptions import AirflowException
|
29
29
|
from airflow.providers.amazon.aws.hooks.athena import AthenaHook
|
30
30
|
|
31
31
|
|
@@ -88,11 +88,7 @@ class AthenaSensor(AwsBaseSensor[AthenaHook]):
|
|
88
88
|
state = self.hook.poll_query_status(self.query_execution_id, self.max_retries, self.sleep_time)
|
89
89
|
|
90
90
|
if state in self.FAILURE_STATES:
|
91
|
-
|
92
|
-
message = "Athena sensor failed"
|
93
|
-
if self.soft_fail:
|
94
|
-
raise AirflowSkipException(message)
|
95
|
-
raise AirflowException(message)
|
91
|
+
raise AirflowException("Athena sensor failed")
|
96
92
|
|
97
93
|
if state in self.INTERMEDIATE_STATES:
|
98
94
|
return False
|
@@ -86,18 +86,7 @@ class BatchSensor(BaseSensorOperator):
|
|
86
86
|
if state in BatchClientHook.INTERMEDIATE_STATES:
|
87
87
|
return False
|
88
88
|
|
89
|
-
|
90
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
|
91
|
-
message = f"Batch sensor failed. AWS Batch job status: {state}"
|
92
|
-
if self.soft_fail:
|
93
|
-
raise AirflowSkipException(message)
|
94
|
-
raise AirflowException(message)
|
95
|
-
|
96
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
|
97
|
-
message = f"Batch sensor failed. Unknown AWS Batch job status: {state}"
|
98
|
-
if self.soft_fail:
|
99
|
-
raise AirflowSkipException(message)
|
100
|
-
raise AirflowException(message)
|
89
|
+
raise AirflowException(f"Batch sensor failed. AWS Batch job status: {state}")
|
101
90
|
|
102
91
|
def execute(self, context: Context) -> None:
|
103
92
|
if not self.deferrable:
|
@@ -127,12 +116,7 @@ class BatchSensor(BaseSensorOperator):
|
|
127
116
|
Relies on trigger to throw an exception, otherwise it assumes execution was successful.
|
128
117
|
"""
|
129
118
|
if event["status"] != "success":
|
130
|
-
|
131
|
-
# TODO: remove this if-else block when min_airflow_version is set to higher than the version that
|
132
|
-
# changed in https://github.com/apache/airflow/pull/33424 is released (2.7.1)
|
133
|
-
if self.soft_fail:
|
134
|
-
raise AirflowSkipException(message)
|
135
|
-
raise AirflowException(message)
|
119
|
+
raise AirflowException(f"Error while running job: {event}")
|
136
120
|
job_id = event["job_id"]
|
137
121
|
self.log.info("Batch Job %s complete", job_id)
|
138
122
|
|
@@ -198,11 +182,7 @@ class BatchComputeEnvironmentSensor(BaseSensorOperator):
|
|
198
182
|
)
|
199
183
|
|
200
184
|
if not response["computeEnvironments"]:
|
201
|
-
|
202
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
|
203
|
-
if self.soft_fail:
|
204
|
-
raise AirflowSkipException(message)
|
205
|
-
raise AirflowException(message)
|
185
|
+
raise AirflowException(f"AWS Batch compute environment {self.compute_environment} not found")
|
206
186
|
|
207
187
|
status = response["computeEnvironments"][0]["status"]
|
208
188
|
|
@@ -212,11 +192,9 @@ class BatchComputeEnvironmentSensor(BaseSensorOperator):
|
|
212
192
|
if status in BatchClientHook.COMPUTE_ENVIRONMENT_INTERMEDIATE_STATUS:
|
213
193
|
return False
|
214
194
|
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
raise AirflowSkipException(message)
|
219
|
-
raise AirflowException(message)
|
195
|
+
raise AirflowException(
|
196
|
+
f"AWS Batch compute environment failed. AWS Batch compute environment status: {status}"
|
197
|
+
)
|
220
198
|
|
221
199
|
|
222
200
|
class BatchJobQueueSensor(BaseSensorOperator):
|
@@ -276,11 +254,7 @@ class BatchJobQueueSensor(BaseSensorOperator):
|
|
276
254
|
if self.treat_non_existing_as_deleted:
|
277
255
|
return True
|
278
256
|
else:
|
279
|
-
|
280
|
-
message = f"AWS Batch job queue {self.job_queue} not found"
|
281
|
-
if self.soft_fail:
|
282
|
-
raise AirflowSkipException(message)
|
283
|
-
raise AirflowException(message)
|
257
|
+
raise AirflowException(f"AWS Batch job queue {self.job_queue} not found")
|
284
258
|
|
285
259
|
status = response["jobQueues"][0]["status"]
|
286
260
|
|
@@ -21,7 +21,7 @@ import abc
|
|
21
21
|
from typing import TYPE_CHECKING, Any, Sequence, TypeVar
|
22
22
|
|
23
23
|
from airflow.configuration import conf
|
24
|
-
from airflow.exceptions import AirflowException
|
24
|
+
from airflow.exceptions import AirflowException
|
25
25
|
from airflow.providers.amazon.aws.hooks.bedrock import BedrockAgentHook, BedrockHook
|
26
26
|
from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
|
27
27
|
from airflow.providers.amazon.aws.triggers.bedrock import (
|
@@ -76,9 +76,6 @@ class BedrockBaseSensor(AwsBaseSensor[_GenericBedrockHook]):
|
|
76
76
|
def poke(self, context: Context, **kwargs) -> bool:
|
77
77
|
state = self.get_state()
|
78
78
|
if state in self.FAILURE_STATES:
|
79
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
|
80
|
-
if self.soft_fail:
|
81
|
-
raise AirflowSkipException(self.FAILURE_MESSAGE)
|
82
79
|
raise AirflowException(self.FAILURE_MESSAGE)
|
83
80
|
|
84
81
|
return state not in self.INTERMEDIATE_STATES
|
@@ -27,7 +27,6 @@ from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
27
27
|
if TYPE_CHECKING:
|
28
28
|
from airflow.utils.context import Context
|
29
29
|
|
30
|
-
from airflow.exceptions import AirflowSkipException
|
31
30
|
from airflow.providers.amazon.aws.hooks.cloud_formation import CloudFormationHook
|
32
31
|
|
33
32
|
|
@@ -67,11 +66,7 @@ class CloudFormationCreateStackSensor(AwsBaseSensor[CloudFormationHook]):
|
|
67
66
|
if stack_status in ("CREATE_IN_PROGRESS", None):
|
68
67
|
return False
|
69
68
|
|
70
|
-
|
71
|
-
message = f"Stack {self.stack_name} in bad state: {stack_status}"
|
72
|
-
if self.soft_fail:
|
73
|
-
raise AirflowSkipException(message)
|
74
|
-
raise ValueError(message)
|
69
|
+
raise ValueError(f"Stack {self.stack_name} in bad state: {stack_status}")
|
75
70
|
|
76
71
|
|
77
72
|
class CloudFormationDeleteStackSensor(AwsBaseSensor[CloudFormationHook]):
|
@@ -119,8 +114,4 @@ class CloudFormationDeleteStackSensor(AwsBaseSensor[CloudFormationHook]):
|
|
119
114
|
if stack_status == "DELETE_IN_PROGRESS":
|
120
115
|
return False
|
121
116
|
|
122
|
-
|
123
|
-
message = f"Stack {self.stack_name} in bad state: {stack_status}"
|
124
|
-
if self.soft_fail:
|
125
|
-
raise AirflowSkipException(message)
|
126
|
-
raise ValueError(message)
|
117
|
+
raise ValueError(f"Stack {self.stack_name} in bad state: {stack_status}")
|
@@ -20,7 +20,7 @@ import abc
|
|
20
20
|
from typing import TYPE_CHECKING, Any, Sequence
|
21
21
|
|
22
22
|
from airflow.configuration import conf
|
23
|
-
from airflow.exceptions import AirflowException
|
23
|
+
from airflow.exceptions import AirflowException
|
24
24
|
from airflow.providers.amazon.aws.hooks.comprehend import ComprehendHook
|
25
25
|
from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
|
26
26
|
from airflow.providers.amazon.aws.triggers.comprehend import (
|
@@ -71,9 +71,6 @@ class ComprehendBaseSensor(AwsBaseSensor[ComprehendHook]):
|
|
71
71
|
def poke(self, context: Context, **kwargs) -> bool:
|
72
72
|
state = self.get_state()
|
73
73
|
if state in self.FAILURE_STATES:
|
74
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
|
75
|
-
if self.soft_fail:
|
76
|
-
raise AirflowSkipException(self.FAILURE_MESSAGE)
|
77
74
|
raise AirflowException(self.FAILURE_MESSAGE)
|
78
75
|
|
79
76
|
return state not in self.INTERMEDIATE_STATES
|
@@ -241,9 +238,6 @@ class ComprehendCreateDocumentClassifierCompletedSensor(AwsBaseSensor[Comprehend
|
|
241
238
|
)
|
242
239
|
|
243
240
|
if status in self.FAILURE_STATES:
|
244
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
|
245
|
-
if self.soft_fail:
|
246
|
-
raise AirflowSkipException(self.FAILURE_MESSAGE)
|
247
241
|
raise AirflowException(self.FAILURE_MESSAGE)
|
248
242
|
|
249
243
|
if status in self.SUCCESS_STATES:
|
@@ -21,7 +21,7 @@ from typing import TYPE_CHECKING, Iterable, Sequence
|
|
21
21
|
|
22
22
|
from deprecated import deprecated
|
23
23
|
|
24
|
-
from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
|
24
|
+
from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
|
25
25
|
from airflow.providers.amazon.aws.hooks.dms import DmsHook
|
26
26
|
from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
|
27
27
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
@@ -75,11 +75,9 @@ class DmsTaskBaseSensor(AwsBaseSensor[DmsHook]):
|
|
75
75
|
|
76
76
|
def poke(self, context: Context):
|
77
77
|
if not (status := self.hook.get_task_status(self.replication_task_arn)):
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
raise AirflowSkipException(message)
|
82
|
-
raise AirflowException(message)
|
78
|
+
raise AirflowException(
|
79
|
+
f"Failed to read task status, task with ARN {self.replication_task_arn} not found"
|
80
|
+
)
|
83
81
|
|
84
82
|
self.log.info("DMS Replication task (%s) has status: %s", self.replication_task_arn, status)
|
85
83
|
|
@@ -87,11 +85,7 @@ class DmsTaskBaseSensor(AwsBaseSensor[DmsHook]):
|
|
87
85
|
return True
|
88
86
|
|
89
87
|
if status in self.termination_statuses:
|
90
|
-
|
91
|
-
message = f"Unexpected status: {status}"
|
92
|
-
if self.soft_fail:
|
93
|
-
raise AirflowSkipException(message)
|
94
|
-
raise AirflowException(message)
|
88
|
+
raise AirflowException(f"Unexpected status: {status}")
|
95
89
|
|
96
90
|
return False
|
97
91
|
|
@@ -21,7 +21,7 @@ from functools import cached_property
|
|
21
21
|
from typing import TYPE_CHECKING, Any, Sequence
|
22
22
|
|
23
23
|
from airflow.configuration import conf
|
24
|
-
from airflow.exceptions import AirflowException
|
24
|
+
from airflow.exceptions import AirflowException
|
25
25
|
from airflow.providers.amazon.aws.hooks.ec2 import EC2Hook
|
26
26
|
from airflow.providers.amazon.aws.triggers.ec2 import EC2StateSensorTrigger
|
27
27
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
@@ -97,8 +97,4 @@ class EC2InstanceStateSensor(BaseSensorOperator):
|
|
97
97
|
event = validate_execute_complete_event(event)
|
98
98
|
|
99
99
|
if event["status"] != "success":
|
100
|
-
|
101
|
-
message = f"Error: {event}"
|
102
|
-
if self.soft_fail:
|
103
|
-
raise AirflowSkipException(message)
|
104
|
-
raise AirflowException(message)
|
100
|
+
raise AirflowException(f"Error: {event}")
|
@@ -19,7 +19,7 @@ from __future__ import annotations
|
|
19
19
|
from functools import cached_property
|
20
20
|
from typing import TYPE_CHECKING, Sequence
|
21
21
|
|
22
|
-
from airflow.exceptions import AirflowException
|
22
|
+
from airflow.exceptions import AirflowException
|
23
23
|
from airflow.providers.amazon.aws.hooks.ecs import (
|
24
24
|
EcsClusterStates,
|
25
25
|
EcsHook,
|
@@ -37,11 +37,9 @@ if TYPE_CHECKING:
|
|
37
37
|
|
38
38
|
def _check_failed(current_state, target_state, failure_states, soft_fail: bool) -> None:
|
39
39
|
if (current_state != target_state) and (current_state in failure_states):
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
raise AirflowSkipException(message)
|
44
|
-
raise AirflowException(message)
|
40
|
+
raise AirflowException(
|
41
|
+
f"Terminal state reached. Current state: {current_state}, Expected state: {target_state}"
|
42
|
+
)
|
45
43
|
|
46
44
|
|
47
45
|
class EcsBaseSensor(AwsBaseSensor[EcsHook]):
|
@@ -22,7 +22,7 @@ from abc import abstractmethod
|
|
22
22
|
from functools import cached_property
|
23
23
|
from typing import TYPE_CHECKING, Sequence
|
24
24
|
|
25
|
-
from airflow.exceptions import AirflowException
|
25
|
+
from airflow.exceptions import AirflowException
|
26
26
|
from airflow.providers.amazon.aws.hooks.eks import (
|
27
27
|
ClusterStates,
|
28
28
|
EksHook,
|
@@ -106,12 +106,10 @@ class EksBaseSensor(BaseSensorOperator):
|
|
106
106
|
state = self.get_state()
|
107
107
|
self.log.info("Current state: %s", state)
|
108
108
|
if state in (self.get_terminal_states() - {self.target_state}):
|
109
|
-
# If we reach a terminal state which is not the target state
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
raise AirflowSkipException(message)
|
114
|
-
raise AirflowException(message)
|
109
|
+
# If we reach a terminal state which is not the target state
|
110
|
+
raise AirflowException(
|
111
|
+
f"Terminal state reached. Current state: {state}, Expected state: {self.target_state}"
|
112
|
+
)
|
115
113
|
return state == self.target_state
|
116
114
|
|
117
115
|
@abstractmethod
|
@@ -27,7 +27,6 @@ from airflow.configuration import conf
|
|
27
27
|
from airflow.exceptions import (
|
28
28
|
AirflowException,
|
29
29
|
AirflowProviderDeprecationWarning,
|
30
|
-
AirflowSkipException,
|
31
30
|
)
|
32
31
|
from airflow.providers.amazon.aws.hooks.emr import EmrContainerHook, EmrHook, EmrServerlessHook
|
33
32
|
from airflow.providers.amazon.aws.links.emr import EmrClusterLink, EmrLogsLink, get_log_uri
|
@@ -91,11 +90,7 @@ class EmrBaseSensor(BaseSensorOperator):
|
|
91
90
|
return True
|
92
91
|
|
93
92
|
if state in self.failed_states:
|
94
|
-
|
95
|
-
message = f"EMR job failed: {self.failure_message_from_response(response)}"
|
96
|
-
if self.soft_fail:
|
97
|
-
raise AirflowSkipException(message)
|
98
|
-
raise AirflowException(message)
|
93
|
+
raise AirflowException(f"EMR job failed: {self.failure_message_from_response(response)}")
|
99
94
|
|
100
95
|
return False
|
101
96
|
|
@@ -172,11 +167,9 @@ class EmrServerlessJobSensor(BaseSensorOperator):
|
|
172
167
|
state = response["jobRun"]["state"]
|
173
168
|
|
174
169
|
if state in EmrServerlessHook.JOB_FAILURE_STATES:
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
raise AirflowSkipException(failure_message)
|
179
|
-
raise AirflowException(failure_message)
|
170
|
+
raise AirflowException(
|
171
|
+
f"EMR Serverless job failed: {self.failure_message_from_response(response)}"
|
172
|
+
)
|
180
173
|
|
181
174
|
return state in self.target_states
|
182
175
|
|
@@ -234,13 +227,9 @@ class EmrServerlessApplicationSensor(BaseSensorOperator):
|
|
234
227
|
state = response["application"]["state"]
|
235
228
|
|
236
229
|
if state in EmrServerlessHook.APPLICATION_FAILURE_STATES:
|
237
|
-
|
238
|
-
failure_message = (
|
230
|
+
raise AirflowException(
|
239
231
|
f"EMR Serverless application failed: {self.failure_message_from_response(response)}"
|
240
232
|
)
|
241
|
-
if self.soft_fail:
|
242
|
-
raise AirflowSkipException(failure_message)
|
243
|
-
raise AirflowException(failure_message)
|
244
233
|
|
245
234
|
return state in self.target_states
|
246
235
|
|
@@ -328,11 +317,7 @@ class EmrContainerSensor(BaseSensorOperator):
|
|
328
317
|
)
|
329
318
|
|
330
319
|
if state in self.FAILURE_STATES:
|
331
|
-
|
332
|
-
message = "EMR Containers sensor failed"
|
333
|
-
if self.soft_fail:
|
334
|
-
raise AirflowSkipException(message)
|
335
|
-
raise AirflowException(message)
|
320
|
+
raise AirflowException("EMR Containers sensor failed")
|
336
321
|
|
337
322
|
if state in self.INTERMEDIATE_STATES:
|
338
323
|
return False
|
@@ -370,11 +355,7 @@ class EmrContainerSensor(BaseSensorOperator):
|
|
370
355
|
event = validate_execute_complete_event(event)
|
371
356
|
|
372
357
|
if event["status"] != "success":
|
373
|
-
|
374
|
-
message = f"Error while running job: {event}"
|
375
|
-
if self.soft_fail:
|
376
|
-
raise AirflowSkipException(message)
|
377
|
-
raise AirflowException(message)
|
358
|
+
raise AirflowException(f"Error while running job: {event}")
|
378
359
|
|
379
360
|
self.log.info("Job completed.")
|
380
361
|
|
@@ -563,11 +544,7 @@ class EmrJobFlowSensor(EmrBaseSensor):
|
|
563
544
|
event = validate_execute_complete_event(event)
|
564
545
|
|
565
546
|
if event["status"] != "success":
|
566
|
-
|
567
|
-
message = f"Error while running job: {event}"
|
568
|
-
if self.soft_fail:
|
569
|
-
raise AirflowSkipException(message)
|
570
|
-
raise AirflowException(message)
|
547
|
+
raise AirflowException(f"Error while running job: {event}")
|
571
548
|
self.log.info("Job completed.")
|
572
549
|
|
573
550
|
|
@@ -696,10 +673,6 @@ class EmrStepSensor(EmrBaseSensor):
|
|
696
673
|
event = validate_execute_complete_event(event)
|
697
674
|
|
698
675
|
if event["status"] != "success":
|
699
|
-
|
700
|
-
message = f"Error while running job: {event}"
|
701
|
-
if self.soft_fail:
|
702
|
-
raise AirflowSkipException(message)
|
703
|
-
raise AirflowException(message)
|
676
|
+
raise AirflowException(f"Error while running job: {event}")
|
704
677
|
|
705
678
|
self.log.info("Job %s completed.", self.job_flow_id)
|
@@ -20,7 +20,7 @@ from __future__ import annotations
|
|
20
20
|
from enum import Enum
|
21
21
|
from typing import TYPE_CHECKING, Any, Sequence
|
22
22
|
|
23
|
-
from airflow.exceptions import AirflowException
|
23
|
+
from airflow.exceptions import AirflowException
|
24
24
|
from airflow.providers.amazon.aws.hooks.glacier import GlacierHook
|
25
25
|
from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
|
26
26
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
@@ -93,10 +93,6 @@ class GlacierJobOperationSensor(AwsBaseSensor[GlacierHook]):
|
|
93
93
|
self.log.warning("Code status: %s", response["StatusCode"])
|
94
94
|
return False
|
95
95
|
else:
|
96
|
-
|
97
|
-
message = (
|
96
|
+
raise AirflowException(
|
98
97
|
f'Sensor failed. Job status: {response["Action"]}, code status: {response["StatusCode"]}'
|
99
98
|
)
|
100
|
-
if self.soft_fail:
|
101
|
-
raise AirflowSkipException(message)
|
102
|
-
raise AirflowException(message)
|