apache-airflow-providers-amazon 9.4.0__tar.gz → 9.5.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-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/PKG-INFO +33 -28
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/README.rst +21 -21
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/pyproject.toml +46 -13
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/__init__.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/avp/entities.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/avp/facade.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +21 -100
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/router/login.py +3 -2
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/user.py +7 -4
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/base_aws.py +25 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/ec2.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/glue.py +6 -2
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/logs.py +2 -2
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/hooks/mwaa.py +149 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/redshift_cluster.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/redshift_data.py +2 -2
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/sagemaker.py +1 -1
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/hooks/sagemaker_unified_studio.py +188 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/base_aws.py +7 -1
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/links/sagemaker_unified_studio.py +27 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/log/s3_task_handler.py +22 -7
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/s3.py +147 -157
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/operators/sagemaker_unified_studio.py +155 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/emr.py +1 -1
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/sensors/mwaa.py +113 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/rds.py +10 -5
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/s3.py +31 -42
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/sensors/sagemaker_unified_studio.py +73 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/README.md +4 -4
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/base.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/ecs.py +6 -2
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/eks.py +2 -2
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/glue.py +1 -1
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/s3.py +31 -6
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/sagemaker.py +2 -2
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/triggers/sagemaker_unified_studio.py +66 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/sqs.py +11 -3
- apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/utils/sagemaker_unified_studio.py +28 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/get_provider_info.py +36 -1
- apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -40
- apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/hooks/mwaa.py +0 -85
- apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/waiters/__init__.py +0 -16
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/LICENSE +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/assets/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/assets/s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/auth_manager/router/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/exceptions.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/auth_manager/security_manager → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/executors}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/executors → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/executors/utils}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/executors/utils → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/fs}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/fs/s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/fs → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/hooks}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/athena.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/chime.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/dms.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/eks.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/emr.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/rds.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/ses.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/sns.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/sts.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/hooks → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/links}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/athena.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/batch.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/datasync.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/emr.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/glue.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/logs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/links/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/links → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/log}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/log → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/notifications}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/notifications/chime.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/notifications/sns.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/notifications → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/operators}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/appflow.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/athena.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/batch.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/datasync.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/dms.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/eks.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/emr.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/glacier.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/glue.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/mwaa.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/rds.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/sns.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/operators/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/operators → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/secrets}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/secrets → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/sensors}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/athena.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/batch.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/dms.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/eks.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/glue.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/sensors → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/transfers}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/base.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/athena.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/batch.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/dms.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/emr.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/rds.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/emailer.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/mixins.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/openlineage.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/rds.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/redshift.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/suppress.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/tags.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/waiter.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/README.md +0 -0
- {apache_airflow_providers_amazon-9.4.0/src/airflow/providers/amazon/aws/transfers → apache_airflow_providers_amazon-9.5.0rc1/src/airflow/providers/amazon/aws/waiters}/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/athena.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/batch.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/dms.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/eks.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/emr.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/glue.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/rds.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
- {apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/src/airflow/providers/amazon/version_compat.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-amazon
|
3
|
-
Version: 9.
|
3
|
+
Version: 9.5.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>
|
@@ -20,9 +20,9 @@ Classifier: Programming Language :: Python :: 3.10
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
|
-
Requires-Dist: apache-airflow>=2.9.
|
24
|
-
Requires-Dist: apache-airflow-providers-common-compat>=1.3.
|
25
|
-
Requires-Dist: apache-airflow-providers-common-sql>=1.20.
|
23
|
+
Requires-Dist: apache-airflow>=2.9.0rc0
|
24
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.3.0rc0
|
25
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.20.0rc0
|
26
26
|
Requires-Dist: apache-airflow-providers-http
|
27
27
|
Requires-Dist: boto3>=1.34.90
|
28
28
|
Requires-Dist: botocore>=1.34.90
|
@@ -34,10 +34,12 @@ Requires-Dist: asgiref>=2.3.0
|
|
34
34
|
Requires-Dist: PyAthena>=3.0.10
|
35
35
|
Requires-Dist: jmespath>=0.7.0
|
36
36
|
Requires-Dist: python3-saml>=1.16.0
|
37
|
+
Requires-Dist: sagemaker-studio>=1.0.9
|
37
38
|
Requires-Dist: aiobotocore[boto3]>=2.13.0 ; extra == "aiobotocore"
|
38
39
|
Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache-hive"
|
39
40
|
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0 ; extra == "cncf-kubernetes"
|
40
41
|
Requires-Dist: apache-airflow-providers-exasol ; extra == "exasol"
|
42
|
+
Requires-Dist: apache-airflow-providers-fab ; extra == "fab"
|
41
43
|
Requires-Dist: apache-airflow-providers-ftp ; extra == "ftp"
|
42
44
|
Requires-Dist: apache-airflow-providers-google ; extra == "google"
|
43
45
|
Requires-Dist: apache-airflow-providers-imap ; extra == "imap"
|
@@ -49,9 +51,10 @@ Requires-Dist: python3-saml>=1.16.0 ; extra == "python3-saml"
|
|
49
51
|
Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
|
50
52
|
Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
|
51
53
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
54
|
+
Requires-Dist: apache-airflow-providers-standard ; extra == "standard"
|
52
55
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
53
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
54
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
56
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0/changelog.html
|
57
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0
|
55
58
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
56
59
|
Project-URL: Source Code, https://github.com/apache/airflow
|
57
60
|
Project-URL: Twitter, https://x.com/ApacheAirflow
|
@@ -60,6 +63,7 @@ Provides-Extra: aiobotocore
|
|
60
63
|
Provides-Extra: apache-hive
|
61
64
|
Provides-Extra: cncf-kubernetes
|
62
65
|
Provides-Extra: exasol
|
66
|
+
Provides-Extra: fab
|
63
67
|
Provides-Extra: ftp
|
64
68
|
Provides-Extra: google
|
65
69
|
Provides-Extra: imap
|
@@ -71,34 +75,34 @@ Provides-Extra: python3-saml
|
|
71
75
|
Provides-Extra: s3fs
|
72
76
|
Provides-Extra: salesforce
|
73
77
|
Provides-Extra: ssh
|
78
|
+
Provides-Extra: standard
|
74
79
|
|
75
80
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
81
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
82
|
+
or more contributor license agreements. See the NOTICE file
|
83
|
+
distributed with this work for additional information
|
84
|
+
regarding copyright ownership. The ASF licenses this file
|
85
|
+
to you under the Apache License, Version 2.0 (the
|
86
|
+
"License"); you may not use this file except in compliance
|
87
|
+
with the License. You may obtain a copy of the License at
|
83
88
|
|
84
|
-
|
89
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
85
90
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
91
|
+
.. Unless required by applicable law or agreed to in writing,
|
92
|
+
software distributed under the License is distributed on an
|
93
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
94
|
+
KIND, either express or implied. See the License for the
|
95
|
+
specific language governing permissions and limitations
|
96
|
+
under the License.
|
92
97
|
|
93
|
-
|
94
|
-
|
95
|
-
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
96
|
-
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
98
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
97
99
|
|
100
|
+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
101
|
+
``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
|
98
102
|
|
99
103
|
Package ``apache-airflow-providers-amazon``
|
100
104
|
|
101
|
-
Release: ``9.
|
105
|
+
Release: ``9.5.0``
|
102
106
|
|
103
107
|
|
104
108
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -111,7 +115,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
111
115
|
are in ``airflow.providers.amazon`` python package.
|
112
116
|
|
113
117
|
You can find package information and changelog for the provider
|
114
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
118
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0/>`_.
|
115
119
|
|
116
120
|
Installation
|
117
121
|
------------
|
@@ -142,6 +146,7 @@ PIP package Version required
|
|
142
146
|
``PyAthena`` ``>=3.0.10``
|
143
147
|
``jmespath`` ``>=0.7.0``
|
144
148
|
``python3-saml`` ``>=1.16.0``
|
149
|
+
``sagemaker-studio`` ``>=1.0.9``
|
145
150
|
========================================== ======================
|
146
151
|
|
147
152
|
Cross provider package dependencies
|
@@ -177,5 +182,5 @@ Dependent package
|
|
177
182
|
====================================================================================================================== ===================
|
178
183
|
|
179
184
|
The changelog for the provider package can be found in the
|
180
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
185
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0/changelog.html>`_.
|
181
186
|
|
{apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/README.rst
RENAMED
@@ -1,30 +1,29 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
.. Licensed to the Apache Software Foundation (ASF) under one
|
3
|
+
or more contributor license agreements. See the NOTICE file
|
4
|
+
distributed with this work for additional information
|
5
|
+
regarding copyright ownership. The ASF licenses this file
|
6
|
+
to you under the Apache License, Version 2.0 (the
|
7
|
+
"License"); you may not use this file except in compliance
|
8
|
+
with the License. You may obtain a copy of the License at
|
9
9
|
|
10
|
-
|
10
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
.. Unless required by applicable law or agreed to in writing,
|
13
|
+
software distributed under the License is distributed on an
|
14
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
+
KIND, either express or implied. See the License for the
|
16
|
+
specific language governing permissions and limitations
|
17
|
+
under the License.
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
22
|
-
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
19
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
23
20
|
|
21
|
+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
22
|
+
``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
|
24
23
|
|
25
24
|
Package ``apache-airflow-providers-amazon``
|
26
25
|
|
27
|
-
Release: ``9.
|
26
|
+
Release: ``9.5.0``
|
28
27
|
|
29
28
|
|
30
29
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -37,7 +36,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
37
36
|
are in ``airflow.providers.amazon`` python package.
|
38
37
|
|
39
38
|
You can find package information and changelog for the provider
|
40
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0/>`_.
|
41
40
|
|
42
41
|
Installation
|
43
42
|
------------
|
@@ -68,6 +67,7 @@ PIP package Version required
|
|
68
67
|
``PyAthena`` ``>=3.0.10``
|
69
68
|
``jmespath`` ``>=0.7.0``
|
70
69
|
``python3-saml`` ``>=1.16.0``
|
70
|
+
``sagemaker-studio`` ``>=1.0.9``
|
71
71
|
========================================== ======================
|
72
72
|
|
73
73
|
Cross provider package dependencies
|
@@ -103,4 +103,4 @@ Dependent package
|
|
103
103
|
====================================================================================================================== ===================
|
104
104
|
|
105
105
|
The changelog for the provider package can be found in the
|
106
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
106
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0/changelog.html>`_.
|
{apache_airflow_providers_amazon-9.4.0 → apache_airflow_providers_amazon-9.5.0rc1}/pyproject.toml
RENAMED
@@ -20,12 +20,12 @@
|
|
20
20
|
# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE TEMPLATE
|
21
21
|
# `pyproject_TEMPLATE.toml.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
22
22
|
[build-system]
|
23
|
-
requires = ["flit_core==3.
|
23
|
+
requires = ["flit_core==3.11.0"]
|
24
24
|
build-backend = "flit_core.buildapi"
|
25
25
|
|
26
26
|
[project]
|
27
27
|
name = "apache-airflow-providers-amazon"
|
28
|
-
version = "9.
|
28
|
+
version = "9.5.0.rc1"
|
29
29
|
description = "Provider package apache-airflow-providers-amazon for Apache Airflow"
|
30
30
|
readme = "README.rst"
|
31
31
|
authors = [
|
@@ -52,12 +52,14 @@ classifiers = [
|
|
52
52
|
]
|
53
53
|
requires-python = "~=3.9"
|
54
54
|
|
55
|
-
# The dependencies should be modified in place in the generated file
|
55
|
+
# The dependencies should be modified in place in the generated file.
|
56
56
|
# Any change in the dependencies is preserved when the file is regenerated
|
57
|
+
# Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
|
58
|
+
# After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
|
57
59
|
dependencies = [
|
58
|
-
"apache-airflow>=2.9.
|
59
|
-
"apache-airflow-providers-common-compat>=1.3.
|
60
|
-
"apache-airflow-providers-common-sql>=1.20.
|
60
|
+
"apache-airflow>=2.9.0rc0",
|
61
|
+
"apache-airflow-providers-common-compat>=1.3.0rc0",
|
62
|
+
"apache-airflow-providers-common-sql>=1.20.0rc0",
|
61
63
|
"apache-airflow-providers-http",
|
62
64
|
# We should update minimum version of boto3 and here regularly to avoid `pip` backtracking with the number
|
63
65
|
# of candidates to consider. Make sure to configure boto3 version here as well as in all the tools below
|
@@ -73,6 +75,7 @@ dependencies = [
|
|
73
75
|
"PyAthena>=3.0.10",
|
74
76
|
"jmespath>=0.7.0",
|
75
77
|
"python3-saml>=1.16.0",
|
78
|
+
"sagemaker-studio>=1.0.9",
|
76
79
|
]
|
77
80
|
|
78
81
|
# The optional dependencies should be modified in place in the generated file
|
@@ -106,6 +109,9 @@ dependencies = [
|
|
106
109
|
"exasol" = [
|
107
110
|
"apache-airflow-providers-exasol"
|
108
111
|
]
|
112
|
+
"fab" = [
|
113
|
+
"apache-airflow-providers-fab"
|
114
|
+
]
|
109
115
|
"ftp" = [
|
110
116
|
"apache-airflow-providers-ftp"
|
111
117
|
]
|
@@ -130,11 +136,30 @@ dependencies = [
|
|
130
136
|
"ssh" = [
|
131
137
|
"apache-airflow-providers-ssh"
|
132
138
|
]
|
139
|
+
"standard" = [
|
140
|
+
"apache-airflow-providers-standard"
|
141
|
+
]
|
133
142
|
|
134
|
-
# The dependency groups should be modified in place in the generated file
|
135
|
-
# Any change in the dependencies is preserved when the file is regenerated
|
136
143
|
[dependency-groups]
|
137
144
|
dev = [
|
145
|
+
"apache-airflow",
|
146
|
+
"apache-airflow-task-sdk",
|
147
|
+
"apache-airflow-devel-common",
|
148
|
+
"apache-airflow-providers-apache-hive",
|
149
|
+
"apache-airflow-providers-cncf-kubernetes",
|
150
|
+
"apache-airflow-providers-common-compat",
|
151
|
+
"apache-airflow-providers-common-sql",
|
152
|
+
"apache-airflow-providers-exasol",
|
153
|
+
"apache-airflow-providers-ftp",
|
154
|
+
"apache-airflow-providers-google",
|
155
|
+
"apache-airflow-providers-http",
|
156
|
+
"apache-airflow-providers-imap",
|
157
|
+
"apache-airflow-providers-microsoft-azure",
|
158
|
+
"apache-airflow-providers-mongo",
|
159
|
+
"apache-airflow-providers-openlineage",
|
160
|
+
"apache-airflow-providers-salesforce",
|
161
|
+
"apache-airflow-providers-ssh",
|
162
|
+
# Additional devel dependencies (do not remove this line and add extra development dependencies)
|
138
163
|
"aiobotocore>=2.13.0",
|
139
164
|
"aws_xray_sdk>=2.12.0",
|
140
165
|
"moto[cloudformation,glue]>=5.0.0",
|
@@ -145,11 +170,22 @@ dev = [
|
|
145
170
|
"s3fs>=2023.10.0",
|
146
171
|
"openapi-schema-validator>=0.6.2",
|
147
172
|
"openapi-spec-validator>=0.7.1",
|
173
|
+
"opensearch-py>=2.2.0",
|
148
174
|
]
|
149
175
|
|
176
|
+
[tool.uv.sources]
|
177
|
+
# These names must match the names as defined in the pyproject.toml of the workspace items,
|
178
|
+
# *not* the workspace folder paths
|
179
|
+
apache-airflow = {workspace = true}
|
180
|
+
apache-airflow-devel-common = {workspace = true}
|
181
|
+
apache-airflow-task-sdk = {workspace = true}
|
182
|
+
apache-airflow-providers-common-sql = {workspace = true}
|
183
|
+
apache-airflow-providers-fab = {workspace = true}
|
184
|
+
apache-airflow-providers-standard = {workspace = true}
|
185
|
+
|
150
186
|
[project.urls]
|
151
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
152
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
187
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0"
|
188
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.5.0/changelog.html"
|
153
189
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
154
190
|
"Source Code" = "https://github.com/apache/airflow"
|
155
191
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
@@ -161,6 +197,3 @@ provider_info = "airflow.providers.amazon.get_provider_info:get_provider_info"
|
|
161
197
|
|
162
198
|
[tool.flit.module]
|
163
199
|
name = "airflow.providers.amazon"
|
164
|
-
|
165
|
-
[tool.pytest.ini_options]
|
166
|
-
ignore = "tests/system/"
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "9.
|
32
|
+
__version__ = "9.5.0"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"2.9.0"
|
@@ -20,7 +20,7 @@ from enum import Enum
|
|
20
20
|
from typing import TYPE_CHECKING
|
21
21
|
|
22
22
|
if TYPE_CHECKING:
|
23
|
-
from airflow.auth.managers.base_auth_manager import ResourceMethod
|
23
|
+
from airflow.api_fastapi.auth.managers.base_auth_manager import ResourceMethod
|
24
24
|
|
25
25
|
AVP_PREFIX_ENTITIES = "Airflow::"
|
26
26
|
|
@@ -36,7 +36,7 @@ from airflow.utils.helpers import prune_dict
|
|
36
36
|
from airflow.utils.log.logging_mixin import LoggingMixin
|
37
37
|
|
38
38
|
if TYPE_CHECKING:
|
39
|
-
from airflow.auth.managers.base_auth_manager import ResourceMethod
|
39
|
+
from airflow.api_fastapi.auth.managers.base_auth_manager import ResourceMethod
|
40
40
|
from airflow.providers.amazon.aws.auth_manager.user import AwsAuthManagerUser
|
41
41
|
|
42
42
|
|
@@ -18,15 +18,14 @@ from __future__ import annotations
|
|
18
18
|
|
19
19
|
import argparse
|
20
20
|
from collections import defaultdict
|
21
|
-
from collections.abc import
|
21
|
+
from collections.abc import Sequence
|
22
22
|
from functools import cached_property
|
23
23
|
from typing import TYPE_CHECKING, Any, cast
|
24
24
|
|
25
25
|
from fastapi import FastAPI
|
26
|
-
from flask import session
|
27
26
|
|
28
|
-
from airflow.auth.managers.base_auth_manager import BaseAuthManager
|
29
|
-
from airflow.auth.managers.models.resource_details import (
|
27
|
+
from airflow.api_fastapi.auth.managers.base_auth_manager import BaseAuthManager
|
28
|
+
from airflow.api_fastapi.auth.managers.models.resource_details import (
|
30
29
|
AccessView,
|
31
30
|
ConnectionDetails,
|
32
31
|
DagAccessEntity,
|
@@ -49,16 +48,14 @@ from airflow.providers.amazon.aws.auth_manager.user import AwsAuthManagerUser
|
|
49
48
|
from airflow.providers.amazon.version_compat import AIRFLOW_V_3_0_PLUS
|
50
49
|
|
51
50
|
if TYPE_CHECKING:
|
52
|
-
from
|
53
|
-
|
54
|
-
from airflow.auth.managers.base_auth_manager import ResourceMethod
|
55
|
-
from airflow.auth.managers.models.batch_apis import (
|
51
|
+
from airflow.api_fastapi.auth.managers.base_auth_manager import ResourceMethod
|
52
|
+
from airflow.api_fastapi.auth.managers.models.batch_apis import (
|
56
53
|
IsAuthorizedConnectionRequest,
|
57
54
|
IsAuthorizedDagRequest,
|
58
55
|
IsAuthorizedPoolRequest,
|
59
56
|
IsAuthorizedVariableRequest,
|
60
57
|
)
|
61
|
-
from airflow.auth.managers.models.resource_details import AssetDetails, ConfigurationDetails
|
58
|
+
from airflow.api_fastapi.auth.managers.models.resource_details import AssetDetails, ConfigurationDetails
|
62
59
|
|
63
60
|
|
64
61
|
class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
@@ -83,14 +80,8 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
|
83
80
|
return AwsAuthManagerAmazonVerifiedPermissionsFacade()
|
84
81
|
|
85
82
|
@cached_property
|
86
|
-
def
|
87
|
-
return conf.get("
|
88
|
-
|
89
|
-
def get_user(self) -> AwsAuthManagerUser | None:
|
90
|
-
return session["aws_user"] if self.is_logged_in() else None
|
91
|
-
|
92
|
-
def is_logged_in(self) -> bool:
|
93
|
-
return "aws_user" in session
|
83
|
+
def apiserver_endpoint(self) -> str:
|
84
|
+
return conf.get("api", "base_url")
|
94
85
|
|
95
86
|
def deserialize_user(self, token: dict[str, Any]) -> AwsAuthManagerUser:
|
96
87
|
return AwsAuthManagerUser(**token)
|
@@ -162,9 +153,9 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
|
162
153
|
def is_authorized_asset(
|
163
154
|
self, *, method: ResourceMethod, user: AwsAuthManagerUser, details: AssetDetails | None = None
|
164
155
|
) -> bool:
|
165
|
-
|
156
|
+
asset_id = details.id if details else None
|
166
157
|
return self.avp_facade.is_authorized(
|
167
|
-
method=method, entity_type=AvpEntities.ASSET, user=user, entity_id=
|
158
|
+
method=method, entity_type=AvpEntities.ASSET, user=user, entity_id=asset_id
|
168
159
|
)
|
169
160
|
|
170
161
|
def is_authorized_pool(
|
@@ -204,7 +195,7 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
|
204
195
|
|
205
196
|
def is_authorized_custom_view(
|
206
197
|
self, *, method: ResourceMethod | str, resource_name: str, user: AwsAuthManagerUser
|
207
|
-
):
|
198
|
+
) -> bool:
|
208
199
|
return self.avp_facade.is_authorized(
|
209
200
|
method=method,
|
210
201
|
entity_type=AvpEntities.CUSTOM,
|
@@ -292,23 +283,18 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
|
292
283
|
*,
|
293
284
|
dag_ids: set[str],
|
294
285
|
user: AwsAuthManagerUser,
|
295
|
-
|
286
|
+
method: ResourceMethod = "GET",
|
296
287
|
):
|
297
|
-
if not methods:
|
298
|
-
methods = ["PUT", "GET"]
|
299
|
-
|
300
288
|
requests: dict[str, dict[ResourceMethod, IsAuthorizedRequest]] = defaultdict(dict)
|
301
289
|
requests_list: list[IsAuthorizedRequest] = []
|
302
290
|
for dag_id in dag_ids:
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
requests[dag_id][cast("ResourceMethod", method)] = request
|
311
|
-
requests_list.append(request)
|
291
|
+
request: IsAuthorizedRequest = {
|
292
|
+
"method": method,
|
293
|
+
"entity_type": AvpEntities.DAG,
|
294
|
+
"entity_id": dag_id,
|
295
|
+
}
|
296
|
+
requests[dag_id][method] = request
|
297
|
+
requests_list.append(request)
|
312
298
|
|
313
299
|
batch_is_authorized_results = self.avp_facade.get_batch_is_authorized_results(
|
314
300
|
requests=requests_list, user=user
|
@@ -320,67 +306,10 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
|
320
306
|
)
|
321
307
|
return result["decision"] == "ALLOW"
|
322
308
|
|
323
|
-
return {
|
324
|
-
dag_id
|
325
|
-
for dag_id in dag_ids
|
326
|
-
if (
|
327
|
-
"GET" in methods
|
328
|
-
and _has_access_to_dag(requests[dag_id]["GET"])
|
329
|
-
or "PUT" in methods
|
330
|
-
and _has_access_to_dag(requests[dag_id]["PUT"])
|
331
|
-
)
|
332
|
-
}
|
333
|
-
|
334
|
-
def filter_permitted_menu_items(self, menu_items: list[MenuItem]) -> list[MenuItem]:
|
335
|
-
"""
|
336
|
-
Filter menu items based on user permissions.
|
337
|
-
|
338
|
-
:param menu_items: list of all menu items
|
339
|
-
"""
|
340
|
-
user = self.get_user()
|
341
|
-
if not user:
|
342
|
-
return []
|
343
|
-
|
344
|
-
requests: dict[str, IsAuthorizedRequest] = {}
|
345
|
-
for menu_item in menu_items:
|
346
|
-
if menu_item.childs:
|
347
|
-
for child in menu_item.childs:
|
348
|
-
requests[child.name] = self._get_menu_item_request(child.name)
|
349
|
-
else:
|
350
|
-
requests[menu_item.name] = self._get_menu_item_request(menu_item.name)
|
351
|
-
|
352
|
-
batch_is_authorized_results = self.avp_facade.get_batch_is_authorized_results(
|
353
|
-
requests=list(requests.values()), user=user
|
354
|
-
)
|
355
|
-
|
356
|
-
def _has_access_to_menu_item(request: IsAuthorizedRequest):
|
357
|
-
result = self.avp_facade.get_batch_is_authorized_single_result(
|
358
|
-
batch_is_authorized_results=batch_is_authorized_results, request=request, user=user
|
359
|
-
)
|
360
|
-
return result["decision"] == "ALLOW"
|
361
|
-
|
362
|
-
accessible_items = []
|
363
|
-
for menu_item in menu_items:
|
364
|
-
if menu_item.childs:
|
365
|
-
accessible_children = []
|
366
|
-
for child in menu_item.childs:
|
367
|
-
if _has_access_to_menu_item(requests[child.name]):
|
368
|
-
accessible_children.append(child)
|
369
|
-
menu_item.childs = accessible_children
|
370
|
-
|
371
|
-
# Display the menu if the user has access to at least one sub item
|
372
|
-
if len(accessible_children) > 0:
|
373
|
-
accessible_items.append(menu_item)
|
374
|
-
elif _has_access_to_menu_item(requests[menu_item.name]):
|
375
|
-
accessible_items.append(menu_item)
|
376
|
-
|
377
|
-
return accessible_items
|
309
|
+
return {dag_id for dag_id in dag_ids if _has_access_to_dag(requests[dag_id][method])}
|
378
310
|
|
379
311
|
def get_url_login(self, **kwargs) -> str:
|
380
|
-
return f"{self.
|
381
|
-
|
382
|
-
def get_url_logout(self) -> str:
|
383
|
-
raise NotImplementedError()
|
312
|
+
return f"{self.apiserver_endpoint}/auth/login"
|
384
313
|
|
385
314
|
@staticmethod
|
386
315
|
def get_cli_commands() -> list[CLICommand]:
|
@@ -408,14 +337,6 @@ class AwsAuthManager(BaseAuthManager[AwsAuthManagerUser]):
|
|
408
337
|
|
409
338
|
return app
|
410
339
|
|
411
|
-
@staticmethod
|
412
|
-
def _get_menu_item_request(resource_name: str) -> IsAuthorizedRequest:
|
413
|
-
return {
|
414
|
-
"method": "MENU",
|
415
|
-
"entity_type": AvpEntities.MENU,
|
416
|
-
"entity_id": resource_name,
|
417
|
-
}
|
418
|
-
|
419
340
|
def _check_avp_schema_version(self):
|
420
341
|
if not self.avp_facade.is_policy_store_schema_up_to_date():
|
421
342
|
self.log.warning(
|
@@ -79,12 +79,13 @@ def login_callback(request: Request):
|
|
79
79
|
username=saml_auth.get_nameid(),
|
80
80
|
email=attributes["email"][0] if "email" in attributes else None,
|
81
81
|
)
|
82
|
-
|
82
|
+
url = f"{conf.get('api', 'base_url')}/?token={get_auth_manager().get_jwt_token(user)}"
|
83
|
+
return RedirectResponse(url=url, status_code=303)
|
83
84
|
|
84
85
|
|
85
86
|
def _init_saml_auth(request: Request) -> OneLogin_Saml2_Auth:
|
86
87
|
request_data = _prepare_request(request)
|
87
|
-
base_url = conf.get(section="
|
88
|
+
base_url = conf.get(section="api", key="base_url")
|
88
89
|
settings = {
|
89
90
|
# We want to keep this flag on in case of errors.
|
90
91
|
# It provides an error reasons, if turned off, it does not
|
@@ -19,11 +19,14 @@ from __future__ import annotations
|
|
19
19
|
from airflow.exceptions import AirflowOptionalProviderFeatureException
|
20
20
|
|
21
21
|
try:
|
22
|
-
from airflow.auth.managers.models.base_user import BaseUser
|
22
|
+
from airflow.api_fastapi.auth.managers.models.base_user import BaseUser
|
23
23
|
except ImportError:
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
try:
|
25
|
+
from airflow.auth.managers.models.base_user import BaseUser # type: ignore[no-redef]
|
26
|
+
except ImportError:
|
27
|
+
raise AirflowOptionalProviderFeatureException(
|
28
|
+
"Failed to import BaseUser. This feature is only available in Airflow versions >= 2.8.0"
|
29
|
+
) from None
|
27
30
|
|
28
31
|
|
29
32
|
class AwsAuthManagerUser(BaseUser):
|
@@ -30,6 +30,7 @@ import inspect
|
|
30
30
|
import json
|
31
31
|
import logging
|
32
32
|
import os
|
33
|
+
import warnings
|
33
34
|
from copy import deepcopy
|
34
35
|
from functools import cached_property, wraps
|
35
36
|
from pathlib import Path
|
@@ -41,6 +42,7 @@ import botocore.session
|
|
41
42
|
import jinja2
|
42
43
|
import requests
|
43
44
|
import tenacity
|
45
|
+
from asgiref.sync import sync_to_async
|
44
46
|
from botocore.config import Config
|
45
47
|
from botocore.waiter import Waiter, WaiterModel
|
46
48
|
from dateutil.tz import tzlocal
|
@@ -50,6 +52,7 @@ from airflow.configuration import conf
|
|
50
52
|
from airflow.exceptions import (
|
51
53
|
AirflowException,
|
52
54
|
AirflowNotFoundException,
|
55
|
+
AirflowProviderDeprecationWarning,
|
53
56
|
)
|
54
57
|
from airflow.hooks.base import BaseHook
|
55
58
|
from airflow.providers.amazon.aws.utils.connection_wrapper import AwsConnectionWrapper
|
@@ -747,7 +750,29 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
|
|
747
750
|
|
748
751
|
@property
|
749
752
|
def async_conn(self):
|
753
|
+
"""
|
754
|
+
[DEPRECATED] Get an aiobotocore client to use for async operations.
|
755
|
+
|
756
|
+
This property is deprecated. Accessing it in an async context will cause the event loop to block.
|
757
|
+
Use the async method `get_async_conn` instead.
|
758
|
+
"""
|
759
|
+
warnings.warn(
|
760
|
+
"The property `async_conn` is deprecated. Accessing it in an async context will cause the event loop to block. "
|
761
|
+
"Use the async method `get_async_conn` instead.",
|
762
|
+
AirflowProviderDeprecationWarning,
|
763
|
+
stacklevel=2,
|
764
|
+
)
|
765
|
+
|
766
|
+
return self._get_async_conn()
|
767
|
+
|
768
|
+
async def get_async_conn(self):
|
750
769
|
"""Get an aiobotocore client to use for async operations."""
|
770
|
+
# We have to wrap the call `self.get_client_type` in another call `_get_async_conn`,
|
771
|
+
# because one of it's arguments `self.region_name` is a `@property` decorated function
|
772
|
+
# calling the cached property `self.conn_config` at the end.
|
773
|
+
return await sync_to_async(self._get_async_conn)()
|
774
|
+
|
775
|
+
def _get_async_conn(self):
|
751
776
|
if not self.client_type:
|
752
777
|
raise ValueError("client_type must be specified.")
|
753
778
|
|
@@ -173,7 +173,7 @@ class EC2Hook(AwsBaseHook):
|
|
173
173
|
return [instance["InstanceId"] for instance in self.get_instances(filters=filters)]
|
174
174
|
|
175
175
|
async def get_instance_state_async(self, instance_id: str) -> str:
|
176
|
-
async with self.
|
176
|
+
async with await self.get_async_conn() as client:
|
177
177
|
response = await client.describe_instances(InstanceIds=[instance_id])
|
178
178
|
return response["Reservations"][0]["Instances"][0]["State"]["Name"]
|
179
179
|
|