apache-airflow-providers-amazon 8.29.0rc1__tar.gz → 9.0.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.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/PKG-INFO +8 -9
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/README.rst +4 -4
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/__init__.py +1 -1
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/datasets → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/assets}/s3.py +10 -6
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +1 -1
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +5 -11
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +2 -5
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -6
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/views/auth.py +1 -1
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/athena.py +3 -17
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/base_aws.py +4 -162
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/logs.py +1 -20
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/quicksight.py +1 -17
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +6 -120
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/redshift_data.py +52 -14
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/s3.py +24 -27
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/sagemaker.py +4 -48
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/log/s3_task_handler.py +1 -6
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/appflow.py +1 -10
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/batch.py +1 -29
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/datasync.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/ecs.py +1 -25
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/eks.py +7 -46
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/emr.py +16 -232
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/glue_databrew.py +1 -10
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/rds.py +3 -17
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/redshift_data.py +18 -3
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/s3.py +12 -2
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/sagemaker.py +10 -32
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/secrets/secrets_manager.py +1 -40
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/batch.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/dms.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/dynamodb.py +22 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/emr.py +0 -7
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/glue_crawler.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/quicksight.py +1 -29
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/s3.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/sagemaker.py +2 -9
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/sqs.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/step_function.py +1 -8
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/base.py +1 -14
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +5 -33
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +15 -10
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +6 -6
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +3 -6
- apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/triggers/batch.py +102 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/eks.py +1 -20
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/emr.py +0 -32
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -11
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -21
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/rds.py +0 -79
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +5 -64
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/sagemaker.py +2 -93
- apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/utils/asset_compat_lineage_collector.py +106 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/connection_wrapper.py +4 -164
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/mixins.py +1 -23
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/openlineage.py +3 -1
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +1 -1
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/get_provider_info.py +13 -4
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/pyproject.toml +4 -5
- apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -149
- apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/triggers/batch.py +0 -269
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/LICENSE +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/auth_manager → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/assets}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/auth_manager/avp → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/auth_manager}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/auth_manager/cli → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/auth_manager/avp}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/auth_manager/security_manager → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/auth_manager/cli}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/auth_manager/views → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/auth_manager/security_manager}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1/airflow/providers/amazon/aws/datasets → apache_airflow_providers_amazon-9.0.0rc1/airflow/providers/amazon/aws/auth_manager/views}/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/exceptions.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/fs/s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/athena.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/batch.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/emr.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/glue.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/logs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/links/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/log/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/athena.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/dms.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/glue.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/redshift_cluster.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/sns.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/glue.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/README.md +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/base.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/rds.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/tags.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/README.md +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/rds.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
- {apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
{apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/PKG-INFO
RENAMED
@@ -1,11 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-amazon
|
3
|
-
Version:
|
3
|
+
Version: 9.0.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>
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
8
|
-
Requires-Python: ~=3.
|
8
|
+
Requires-Python: ~=3.9
|
9
9
|
Description-Content-Type: text/x-rst
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
11
11
|
Classifier: Environment :: Console
|
@@ -15,7 +15,6 @@ Classifier: Intended Audience :: System Administrators
|
|
15
15
|
Classifier: Framework :: Apache Airflow
|
16
16
|
Classifier: Framework :: Apache Airflow :: Provider
|
17
17
|
Classifier: License :: OSI Approved :: Apache Software License
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
@@ -56,8 +55,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
|
|
56
55
|
Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
|
57
56
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
58
57
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
59
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/
|
60
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/
|
58
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0/changelog.html
|
59
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0
|
61
60
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
62
61
|
Project-URL: Source Code, https://github.com/apache/airflow
|
63
62
|
Project-URL: Twitter, https://twitter.com/ApacheAirflow
|
@@ -125,7 +124,7 @@ Provides-Extra: ssh
|
|
125
124
|
|
126
125
|
Package ``apache-airflow-providers-amazon``
|
127
126
|
|
128
|
-
Release: ``
|
127
|
+
Release: ``9.0.0.rc1``
|
129
128
|
|
130
129
|
|
131
130
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -138,7 +137,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
138
137
|
are in ``airflow.providers.amazon`` python package.
|
139
138
|
|
140
139
|
You can find package information and changelog for the provider
|
141
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/
|
140
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0/>`_.
|
142
141
|
|
143
142
|
Installation
|
144
143
|
------------
|
@@ -147,7 +146,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
147
146
|
for the minimum Airflow version supported) via
|
148
147
|
``pip install apache-airflow-providers-amazon``
|
149
148
|
|
150
|
-
The package supports the following python versions: 3.
|
149
|
+
The package supports the following python versions: 3.9,3.10,3.11,3.12
|
151
150
|
|
152
151
|
Requirements
|
153
152
|
------------
|
@@ -205,4 +204,4 @@ Dependent package
|
|
205
204
|
====================================================================================================================== ===================
|
206
205
|
|
207
206
|
The changelog for the provider package can be found in the
|
208
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/
|
207
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0/changelog.html>`_.
|
{apache_airflow_providers_amazon-8.29.0rc1 → apache_airflow_providers_amazon-9.0.0rc1}/README.rst
RENAMED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
Package ``apache-airflow-providers-amazon``
|
44
44
|
|
45
|
-
Release: ``
|
45
|
+
Release: ``9.0.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/
|
58
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0/>`_.
|
59
59
|
|
60
60
|
Installation
|
61
61
|
------------
|
@@ -64,7 +64,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
64
64
|
for the minimum Airflow version supported) via
|
65
65
|
``pip install apache-airflow-providers-amazon``
|
66
66
|
|
67
|
-
The package supports the following python versions: 3.
|
67
|
+
The package supports the following python versions: 3.9,3.10,3.11,3.12
|
68
68
|
|
69
69
|
Requirements
|
70
70
|
------------
|
@@ -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/
|
125
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.0.0/changelog.html>`_.
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "
|
32
|
+
__version__ = "9.0.0"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"2.8.0"
|
@@ -18,17 +18,21 @@ from __future__ import annotations
|
|
18
18
|
|
19
19
|
from typing import TYPE_CHECKING
|
20
20
|
|
21
|
-
from airflow.datasets import Dataset
|
22
21
|
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
|
23
22
|
|
23
|
+
try:
|
24
|
+
from airflow.assets import Asset
|
25
|
+
except ModuleNotFoundError:
|
26
|
+
from airflow.datasets import Dataset as Asset # type: ignore[no-redef]
|
27
|
+
|
24
28
|
if TYPE_CHECKING:
|
25
29
|
from urllib.parse import SplitResult
|
26
30
|
|
27
31
|
from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
|
28
32
|
|
29
33
|
|
30
|
-
def
|
31
|
-
return
|
34
|
+
def create_asset(*, bucket: str, key: str, extra=None) -> Asset:
|
35
|
+
return Asset(uri=f"s3://{bucket}/{key}", extra=extra)
|
32
36
|
|
33
37
|
|
34
38
|
def sanitize_uri(uri: SplitResult) -> SplitResult:
|
@@ -37,9 +41,9 @@ def sanitize_uri(uri: SplitResult) -> SplitResult:
|
|
37
41
|
return uri
|
38
42
|
|
39
43
|
|
40
|
-
def
|
41
|
-
"""Translate
|
44
|
+
def convert_asset_to_openlineage(asset: Asset, lineage_context) -> OpenLineageDataset:
|
45
|
+
"""Translate Asset with valid AIP-60 uri to OpenLineage with assistance from the hook."""
|
42
46
|
from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
|
43
47
|
|
44
|
-
bucket, key = S3Hook.parse_s3_url(
|
48
|
+
bucket, key = S3Hook.parse_s3_url(asset.uri)
|
45
49
|
return OpenLineageDataset(namespace=f"s3://{bucket}", name=key if key else "/")
|
@@ -33,11 +33,11 @@ class AvpEntities(Enum):
|
|
33
33
|
USER = "User"
|
34
34
|
|
35
35
|
# Resource types
|
36
|
+
ASSET = "Asset"
|
36
37
|
CONFIGURATION = "Configuration"
|
37
38
|
CONNECTION = "Connection"
|
38
39
|
CUSTOM = "Custom"
|
39
40
|
DAG = "Dag"
|
40
|
-
DATASET = "Dataset"
|
41
41
|
MENU = "Menu"
|
42
42
|
POOL = "Pool"
|
43
43
|
VARIABLE = "Variable"
|
@@ -63,10 +63,7 @@ if TYPE_CHECKING:
|
|
63
63
|
IsAuthorizedPoolRequest,
|
64
64
|
IsAuthorizedVariableRequest,
|
65
65
|
)
|
66
|
-
from airflow.auth.managers.models.resource_details import
|
67
|
-
ConfigurationDetails,
|
68
|
-
DatasetDetails,
|
69
|
-
)
|
66
|
+
from airflow.auth.managers.models.resource_details import AssetDetails, ConfigurationDetails
|
70
67
|
from airflow.providers.amazon.aws.auth_manager.user import AwsAuthManagerUser
|
71
68
|
from airflow.www.extensions.init_appbuilder import AirflowAppBuilder
|
72
69
|
|
@@ -161,15 +158,12 @@ class AwsAuthManager(BaseAuthManager):
|
|
161
158
|
context=context,
|
162
159
|
)
|
163
160
|
|
164
|
-
def
|
165
|
-
self, *, method: ResourceMethod, details:
|
161
|
+
def is_authorized_asset(
|
162
|
+
self, *, method: ResourceMethod, details: AssetDetails | None = None, user: BaseUser | None = None
|
166
163
|
) -> bool:
|
167
|
-
|
164
|
+
asset_uri = details.uri if details else None
|
168
165
|
return self.avp_facade.is_authorized(
|
169
|
-
method=method,
|
170
|
-
entity_type=AvpEntities.DATASET,
|
171
|
-
user=user or self.get_user(),
|
172
|
-
entity_id=dataset_uri,
|
166
|
+
method=method, entity_type=AvpEntities.ASSET, user=user or self.get_user(), entity_id=asset_uri
|
173
167
|
)
|
174
168
|
|
175
169
|
def is_authorized_pool(
|
@@ -18,7 +18,6 @@
|
|
18
18
|
|
19
19
|
from __future__ import annotations
|
20
20
|
|
21
|
-
import json
|
22
21
|
import logging
|
23
22
|
from pathlib import Path
|
24
23
|
from typing import TYPE_CHECKING
|
@@ -64,10 +63,8 @@ def init_avp(args):
|
|
64
63
|
_set_schema(client, policy_store_id, args)
|
65
64
|
|
66
65
|
if not args.dry_run:
|
67
|
-
print(
|
68
|
-
|
69
|
-
)
|
70
|
-
print(json.dumps({"avp_policy_store_id": policy_store_id}, indent=4))
|
66
|
+
print("Please set configs below in Airflow configuration:\n")
|
67
|
+
print(f"AIRFLOW__AWS_AUTH_MANAGER__AVP_POLICY_STORE_ID={policy_store_id}\n")
|
71
68
|
|
72
69
|
|
73
70
|
@cli_utils.action_cli
|
@@ -55,12 +55,6 @@ ARG_POLICY_STORE_ID = Arg(("--policy-store-id",), help="Policy store ID")
|
|
55
55
|
################
|
56
56
|
|
57
57
|
AWS_AUTH_MANAGER_COMMANDS = (
|
58
|
-
ActionCommand(
|
59
|
-
name="init-identity-center",
|
60
|
-
help="Initialize AWS IAM identity Center resources to be used by AWS manager",
|
61
|
-
func=lazy_load_command("airflow.providers.amazon.aws.auth_manager.cli.idc_commands.init_idc"),
|
62
|
-
args=(ARG_INSTANCE_NAME, ARG_APPLICATION_NAME, ARG_DRY_RUN, ARG_VERBOSE),
|
63
|
-
),
|
64
58
|
ActionCommand(
|
65
59
|
name="init-avp",
|
66
60
|
help="Initialize Amazon Verified resources to be used by AWS manager",
|
@@ -61,7 +61,7 @@ class AwsAuthManagerAuthenticationViews(AirflowBaseView):
|
|
61
61
|
saml_auth = self._init_saml_auth()
|
62
62
|
return redirect(saml_auth.login())
|
63
63
|
|
64
|
-
@expose("/logout")
|
64
|
+
@expose("/logout", methods=("GET", "POST"))
|
65
65
|
def logout(self):
|
66
66
|
"""Start logout process."""
|
67
67
|
session.clear()
|
@@ -25,10 +25,9 @@ This module contains AWS Athena hook.
|
|
25
25
|
|
26
26
|
from __future__ import annotations
|
27
27
|
|
28
|
-
import warnings
|
29
28
|
from typing import TYPE_CHECKING, Any, Collection
|
30
29
|
|
31
|
-
from airflow.exceptions import AirflowException
|
30
|
+
from airflow.exceptions import AirflowException
|
32
31
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
33
32
|
from airflow.providers.amazon.aws.utils.waiter_with_logging import wait
|
34
33
|
|
@@ -56,7 +55,6 @@ class AthenaHook(AwsBaseHook):
|
|
56
55
|
Provide thick wrapper around
|
57
56
|
:external+boto3:py:class:`boto3.client("athena") <Athena.Client>`.
|
58
57
|
|
59
|
-
:param sleep_time: obsolete, please use the parameter of `poll_query_status` method instead
|
60
58
|
:param log_query: Whether to log athena query and other execution params
|
61
59
|
when it's executed. Defaults to *True*.
|
62
60
|
|
@@ -82,20 +80,8 @@ class AthenaHook(AwsBaseHook):
|
|
82
80
|
"CANCELLED",
|
83
81
|
)
|
84
82
|
|
85
|
-
def __init__(
|
86
|
-
self, *args: Any, sleep_time: int | None = None, log_query: bool = True, **kwargs: Any
|
87
|
-
) -> None:
|
83
|
+
def __init__(self, *args: Any, log_query: bool = True, **kwargs: Any) -> None:
|
88
84
|
super().__init__(client_type="athena", *args, **kwargs) # type: ignore
|
89
|
-
if sleep_time is not None:
|
90
|
-
self.sleep_time = sleep_time
|
91
|
-
warnings.warn(
|
92
|
-
"The `sleep_time` parameter of the Athena hook is deprecated, "
|
93
|
-
"please pass this parameter to the poll_query_status method instead.",
|
94
|
-
AirflowProviderDeprecationWarning,
|
95
|
-
stacklevel=2,
|
96
|
-
)
|
97
|
-
else:
|
98
|
-
self.sleep_time = 30 # previous default value
|
99
85
|
self.log_query = log_query
|
100
86
|
self.__query_results: dict[str, Any] = {}
|
101
87
|
|
@@ -291,7 +277,7 @@ class AthenaHook(AwsBaseHook):
|
|
291
277
|
try:
|
292
278
|
wait(
|
293
279
|
waiter=self.get_waiter("query_complete"),
|
294
|
-
waiter_delay=
|
280
|
+
waiter_delay=30 if sleep_time is None else sleep_time,
|
295
281
|
waiter_max_attempts=max_polling_attempts or 120,
|
296
282
|
args={"QueryExecutionId": query_execution_id},
|
297
283
|
failure_message=f"Error while waiting for query {query_execution_id} to complete",
|
@@ -44,14 +44,12 @@ import tenacity
|
|
44
44
|
from botocore.config import Config
|
45
45
|
from botocore.waiter import Waiter, WaiterModel
|
46
46
|
from dateutil.tz import tzlocal
|
47
|
-
from deprecated import deprecated
|
48
47
|
from slugify import slugify
|
49
48
|
|
50
49
|
from airflow.configuration import conf
|
51
50
|
from airflow.exceptions import (
|
52
51
|
AirflowException,
|
53
52
|
AirflowNotFoundException,
|
54
|
-
AirflowProviderDeprecationWarning,
|
55
53
|
)
|
56
54
|
from airflow.hooks.base import BaseHook
|
57
55
|
from airflow.providers.amazon.aws.utils.connection_wrapper import AwsConnectionWrapper
|
@@ -65,10 +63,11 @@ from airflow.utils.log.secrets_masker import mask_secret
|
|
65
63
|
BaseAwsConnection = TypeVar("BaseAwsConnection", bound=Union[boto3.client, boto3.resource])
|
66
64
|
|
67
65
|
if TYPE_CHECKING:
|
66
|
+
from aiobotocore.session import AioSession
|
68
67
|
from botocore.client import ClientMeta
|
69
68
|
from botocore.credentials import ReadOnlyCredentials
|
70
69
|
|
71
|
-
from airflow.models.connection import Connection
|
70
|
+
from airflow.models.connection import Connection
|
72
71
|
|
73
72
|
_loader = botocore.loaders.Loader()
|
74
73
|
"""
|
@@ -172,9 +171,7 @@ class BaseSessionFactory(LoggingMixin):
|
|
172
171
|
session.register_component("data_loader", _loader)
|
173
172
|
return session
|
174
173
|
|
175
|
-
def create_session(
|
176
|
-
self, deferrable: bool = False
|
177
|
-
) -> boto3.session.Session | aiobotocore.session.AioSession:
|
174
|
+
def create_session(self, deferrable: bool = False) -> boto3.session.Session | AioSession:
|
178
175
|
"""Create boto3 or aiobotocore Session from connection config."""
|
179
176
|
if not self.conn:
|
180
177
|
self.log.info(
|
@@ -216,7 +213,7 @@ class BaseSessionFactory(LoggingMixin):
|
|
216
213
|
|
217
214
|
def _create_session_with_assume_role(
|
218
215
|
self, session_kwargs: dict[str, Any], deferrable: bool = False
|
219
|
-
) -> boto3.session.Session |
|
216
|
+
) -> boto3.session.Session | AioSession:
|
220
217
|
if self.conn.assume_role_method == "assume_role_with_web_identity":
|
221
218
|
# Deferred credentials have no initial credentials
|
222
219
|
credential_fetcher = self._get_web_identity_credential_fetcher()
|
@@ -1029,158 +1026,3 @@ def resolve_session_factory() -> type[BaseSessionFactory]:
|
|
1029
1026
|
|
1030
1027
|
|
1031
1028
|
SessionFactory = resolve_session_factory()
|
1032
|
-
|
1033
|
-
|
1034
|
-
def _parse_s3_config(config_file_name: str, config_format: str | None = "boto", profile: str | None = None):
|
1035
|
-
"""For compatibility with airflow.contrib.hooks.aws_hook."""
|
1036
|
-
from airflow.providers.amazon.aws.utils.connection_wrapper import _parse_s3_config
|
1037
|
-
|
1038
|
-
return _parse_s3_config(
|
1039
|
-
config_file_name=config_file_name,
|
1040
|
-
config_format=config_format,
|
1041
|
-
profile=profile,
|
1042
|
-
)
|
1043
|
-
|
1044
|
-
|
1045
|
-
try:
|
1046
|
-
import aiobotocore.credentials
|
1047
|
-
from aiobotocore.session import AioSession, get_session
|
1048
|
-
except ImportError:
|
1049
|
-
pass
|
1050
|
-
|
1051
|
-
|
1052
|
-
@deprecated(
|
1053
|
-
reason=(
|
1054
|
-
"`airflow.providers.amazon.aws.hook.base_aws.BaseAsyncSessionFactory` "
|
1055
|
-
"has been deprecated and will be removed in future"
|
1056
|
-
),
|
1057
|
-
category=AirflowProviderDeprecationWarning,
|
1058
|
-
)
|
1059
|
-
class BaseAsyncSessionFactory(BaseSessionFactory):
|
1060
|
-
"""
|
1061
|
-
Base AWS Session Factory class to handle aiobotocore session creation.
|
1062
|
-
|
1063
|
-
It currently, handles ENV, AWS secret key and STS client method ``assume_role``
|
1064
|
-
provided in Airflow connection
|
1065
|
-
"""
|
1066
|
-
|
1067
|
-
def __init__(self, *args, **kwargs):
|
1068
|
-
super().__init__(*args, **kwargs)
|
1069
|
-
|
1070
|
-
async def get_role_credentials(self) -> dict:
|
1071
|
-
"""Get the role_arn, method credentials from connection and get the role credentials."""
|
1072
|
-
async with self._basic_session.create_client("sts", region_name=self.region_name) as client:
|
1073
|
-
response = await client.assume_role(
|
1074
|
-
RoleArn=self.role_arn,
|
1075
|
-
RoleSessionName=self._strip_invalid_session_name_characters(f"Airflow_{self.conn.conn_id}"),
|
1076
|
-
**self.conn.assume_role_kwargs,
|
1077
|
-
)
|
1078
|
-
return response["Credentials"]
|
1079
|
-
|
1080
|
-
async def _get_refresh_credentials(self) -> dict[str, Any]:
|
1081
|
-
self.log.debug("Refreshing credentials")
|
1082
|
-
assume_role_method = self.conn.assume_role_method
|
1083
|
-
if assume_role_method != "assume_role":
|
1084
|
-
raise NotImplementedError(f"assume_role_method={assume_role_method} not expected")
|
1085
|
-
|
1086
|
-
credentials = await self.get_role_credentials()
|
1087
|
-
|
1088
|
-
expiry_time = credentials["Expiration"].isoformat()
|
1089
|
-
self.log.debug("New credentials expiry_time: %s", expiry_time)
|
1090
|
-
credentials = {
|
1091
|
-
"access_key": credentials.get("AccessKeyId"),
|
1092
|
-
"secret_key": credentials.get("SecretAccessKey"),
|
1093
|
-
"token": credentials.get("SessionToken"),
|
1094
|
-
"expiry_time": expiry_time,
|
1095
|
-
}
|
1096
|
-
return credentials
|
1097
|
-
|
1098
|
-
def _get_session_with_assume_role(self) -> AioSession:
|
1099
|
-
assume_role_method = self.conn.assume_role_method
|
1100
|
-
if assume_role_method != "assume_role":
|
1101
|
-
raise NotImplementedError(f"assume_role_method={assume_role_method} not expected")
|
1102
|
-
|
1103
|
-
credentials = aiobotocore.credentials.AioRefreshableCredentials.create_from_metadata(
|
1104
|
-
metadata=self._get_refresh_credentials(),
|
1105
|
-
refresh_using=self._get_refresh_credentials,
|
1106
|
-
method="sts-assume-role",
|
1107
|
-
)
|
1108
|
-
|
1109
|
-
session = aiobotocore.session.get_session()
|
1110
|
-
session._credentials = credentials
|
1111
|
-
return session
|
1112
|
-
|
1113
|
-
@cached_property
|
1114
|
-
def _basic_session(self) -> AioSession:
|
1115
|
-
"""Cached property with basic aiobotocore.session.AioSession."""
|
1116
|
-
session_kwargs = self.conn.session_kwargs
|
1117
|
-
aws_access_key_id = session_kwargs.get("aws_access_key_id")
|
1118
|
-
aws_secret_access_key = session_kwargs.get("aws_secret_access_key")
|
1119
|
-
aws_session_token = session_kwargs.get("aws_session_token")
|
1120
|
-
region_name = session_kwargs.get("region_name")
|
1121
|
-
profile_name = session_kwargs.get("profile_name")
|
1122
|
-
|
1123
|
-
aio_session = get_session()
|
1124
|
-
if profile_name is not None:
|
1125
|
-
aio_session.set_config_variable("profile", profile_name)
|
1126
|
-
if aws_access_key_id or aws_secret_access_key or aws_session_token:
|
1127
|
-
aio_session.set_credentials(
|
1128
|
-
access_key=aws_access_key_id,
|
1129
|
-
secret_key=aws_secret_access_key,
|
1130
|
-
token=aws_session_token,
|
1131
|
-
)
|
1132
|
-
if region_name is not None:
|
1133
|
-
aio_session.set_config_variable("region", region_name)
|
1134
|
-
return aio_session
|
1135
|
-
|
1136
|
-
def create_session(self, deferrable: bool = False) -> AioSession:
|
1137
|
-
"""Create aiobotocore Session from connection and config."""
|
1138
|
-
if not self._conn:
|
1139
|
-
self.log.info("No connection ID provided. Fallback on boto3 credential strategy")
|
1140
|
-
return get_session()
|
1141
|
-
elif not self.role_arn:
|
1142
|
-
return self._basic_session
|
1143
|
-
return self._get_session_with_assume_role()
|
1144
|
-
|
1145
|
-
|
1146
|
-
@deprecated(
|
1147
|
-
reason=(
|
1148
|
-
"`airflow.providers.amazon.aws.hook.base_aws.AwsBaseAsyncHook` "
|
1149
|
-
"has been deprecated and will be removed in future"
|
1150
|
-
),
|
1151
|
-
category=AirflowProviderDeprecationWarning,
|
1152
|
-
)
|
1153
|
-
class AwsBaseAsyncHook(AwsBaseHook):
|
1154
|
-
"""
|
1155
|
-
Interacts with AWS using aiobotocore asynchronously.
|
1156
|
-
|
1157
|
-
:param aws_conn_id: The Airflow connection used for AWS credentials.
|
1158
|
-
If this is None or empty then the default botocore behaviour is used. If
|
1159
|
-
running Airflow in a distributed manner and aws_conn_id is None or
|
1160
|
-
empty, then default botocore configuration would be used (and must be
|
1161
|
-
maintained on each worker node).
|
1162
|
-
:param verify: Whether to verify SSL certificates.
|
1163
|
-
:param region_name: AWS region_name. If not specified then the default boto3 behaviour is used.
|
1164
|
-
:param client_type: boto3.client client_type. Eg 's3', 'emr' etc
|
1165
|
-
:param resource_type: boto3.resource resource_type. Eg 'dynamodb' etc
|
1166
|
-
:param config: Configuration for botocore client.
|
1167
|
-
"""
|
1168
|
-
|
1169
|
-
def __init__(self, *args, **kwargs):
|
1170
|
-
super().__init__(*args, **kwargs)
|
1171
|
-
|
1172
|
-
def get_async_session(self) -> AioSession:
|
1173
|
-
"""Get the underlying aiobotocore.session.AioSession(...)."""
|
1174
|
-
return BaseAsyncSessionFactory(
|
1175
|
-
conn=self.conn_config, region_name=self.region_name, config=self.config
|
1176
|
-
).create_session()
|
1177
|
-
|
1178
|
-
async def get_client_async(self):
|
1179
|
-
"""Get the underlying aiobotocore client using aiobotocore session."""
|
1180
|
-
return self.get_async_session().create_client(
|
1181
|
-
self.client_type,
|
1182
|
-
region_name=self.region_name,
|
1183
|
-
verify=self.verify,
|
1184
|
-
endpoint_url=self.conn_config.endpoint_url,
|
1185
|
-
config=self.config,
|
1186
|
-
)
|
@@ -18,12 +18,10 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import asyncio
|
21
|
-
import warnings
|
22
21
|
from typing import Any, AsyncGenerator, Generator
|
23
22
|
|
24
23
|
from botocore.exceptions import ClientError
|
25
24
|
|
26
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
27
25
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
28
26
|
from airflow.utils.helpers import prune_dict
|
29
27
|
|
@@ -80,8 +78,6 @@ class AwsLogsHook(AwsBaseHook):
|
|
80
78
|
:param start_time: The timestamp value in ms to start reading the logs from (default: 0).
|
81
79
|
:param skip: The number of log entries to skip at the start (default: 0).
|
82
80
|
This is for when there are multiple entries at the same timestamp.
|
83
|
-
:param start_from_head: Deprecated. Do not use with False, logs would be retrieved out of order.
|
84
|
-
If possible, retrieve logs in one query, or implement pagination yourself.
|
85
81
|
:param continuation_token: a token indicating where to read logs from.
|
86
82
|
Will be updated as this method reads new logs, to be reused in subsequent calls.
|
87
83
|
:param end_time: The timestamp value in ms to stop reading the logs from (default: None).
|
@@ -91,21 +87,6 @@ class AwsLogsHook(AwsBaseHook):
|
|
91
87
|
| 'message' (str): The log event data.
|
92
88
|
| 'ingestionTime' (int): The time in milliseconds the event was ingested.
|
93
89
|
"""
|
94
|
-
if start_from_head is not None:
|
95
|
-
message = (
|
96
|
-
"start_from_head is deprecated, please remove this parameter."
|
97
|
-
if start_from_head
|
98
|
-
else "Do not use this method with start_from_head=False, logs will be returned out of order. "
|
99
|
-
"If possible, retrieve logs in one query, or implement pagination yourself."
|
100
|
-
)
|
101
|
-
warnings.warn(
|
102
|
-
message,
|
103
|
-
AirflowProviderDeprecationWarning,
|
104
|
-
stacklevel=2,
|
105
|
-
)
|
106
|
-
else:
|
107
|
-
start_from_head = True
|
108
|
-
|
109
90
|
if continuation_token is None:
|
110
91
|
continuation_token = AwsLogsHook.ContinuationToken()
|
111
92
|
|
@@ -123,7 +104,7 @@ class AwsLogsHook(AwsBaseHook):
|
|
123
104
|
"logStreamName": log_stream_name,
|
124
105
|
"startTime": start_time,
|
125
106
|
"endTime": end_time,
|
126
|
-
"startFromHead":
|
107
|
+
"startFromHead": True,
|
127
108
|
**token_arg,
|
128
109
|
}
|
129
110
|
)
|
@@ -18,12 +18,10 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import time
|
21
|
-
from functools import cached_property
|
22
21
|
|
23
22
|
from botocore.exceptions import ClientError
|
24
|
-
from deprecated import deprecated
|
25
23
|
|
26
|
-
from airflow.exceptions import AirflowException
|
24
|
+
from airflow.exceptions import AirflowException
|
27
25
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
28
26
|
|
29
27
|
|
@@ -170,17 +168,3 @@ class QuickSightHook(AwsBaseHook):
|
|
170
168
|
|
171
169
|
self.log.info("QuickSight Ingestion completed")
|
172
170
|
return status
|
173
|
-
|
174
|
-
@cached_property
|
175
|
-
@deprecated(
|
176
|
-
reason=(
|
177
|
-
"`QuickSightHook.sts_hook` property is deprecated and will be removed in the future. "
|
178
|
-
"This property used for obtain AWS Account ID, "
|
179
|
-
"please consider to use `QuickSightHook.account_id` instead"
|
180
|
-
),
|
181
|
-
category=AirflowProviderDeprecationWarning,
|
182
|
-
)
|
183
|
-
def sts_hook(self):
|
184
|
-
from airflow.providers.amazon.aws.hooks.sts import StsHook
|
185
|
-
|
186
|
-
return StsHook(aws_conn_id=self.aws_conn_id)
|