apache-airflow-providers-amazon 9.1.0rc4__tar.gz → 9.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/PKG-INFO +13 -19
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/README.rst +5 -5
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/__init__.py +3 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +4 -12
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/utils.py +3 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/utils.py +3 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/fs/s3.py +2 -2
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/appflow.py +15 -5
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/athena.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/dms.py +161 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/eks.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/kinesis.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/logs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/redshift_data.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/redshift_sql.py +2 -6
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/s3.py +7 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ses.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/sns.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/sqs.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/athena.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/base_aws.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/batch.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/bedrock.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/cloud_formation.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/comprehend.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/datasync.py +2 -1
- apache_airflow_providers_amazon-9.2.0/airflow/providers/amazon/aws/operators/dms.py +809 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/ec2.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/ecs.py +4 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/eks.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/emr.py +31 -8
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/eventbridge.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glacier.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glue.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glue_crawler.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glue_databrew.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/kinesis_analytics.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/lambda_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/neptune.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/quicksight.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/rds.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/redshift_cluster.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/s3.py +7 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/sns.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/sqs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/step_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/athena.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/base_aws.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/batch.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/bedrock.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/cloud_formation.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/comprehend.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/dms.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/ec2.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/ecs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/eks.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/emr.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glacier.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glue.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glue_crawler.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/lambda_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/quicksight.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/rds.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/sqs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/step_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/base.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +4 -8
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/local_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +14 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/base.py +2 -1
- apache_airflow_providers_amazon-9.2.0/airflow/providers/amazon/aws/triggers/dms.py +221 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/glue.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/redshift_data.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/sqs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/__init__.py +1 -15
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/waiter.py +20 -0
- apache_airflow_providers_amazon-9.2.0/airflow/providers/amazon/aws/waiters/dms.json +88 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/get_provider_info.py +9 -4
- apache_airflow_providers_amazon-9.2.0/airflow/providers/amazon/version_compat.py +36 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/pyproject.toml +8 -17
- apache_airflow_providers_amazon-9.1.0rc4/airflow/providers/amazon/aws/operators/dms.py +0 -279
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/LICENSE +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/assets/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/assets/s3.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/exceptions.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/athena.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/batch.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/emr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/glue.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/logs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/log/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/README.md +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/openlineage.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/rds.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/tags.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/README.md +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/rds.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: apache-airflow-providers-amazon
|
3
|
-
Version: 9.
|
3
|
+
Version: 9.2.0
|
4
4
|
Summary: Provider package apache-airflow-providers-amazon for Apache Airflow
|
5
5
|
Keywords: airflow-provider,amazon,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -21,10 +21,10 @@ Classifier: Programming Language :: Python :: 3.11
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
23
|
Requires-Dist: PyAthena>=3.0.10
|
24
|
-
Requires-Dist: apache-airflow-providers-common-compat>=1.
|
25
|
-
Requires-Dist: apache-airflow-providers-common-sql>=1.20.
|
24
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.3.0
|
25
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.20.0
|
26
26
|
Requires-Dist: apache-airflow-providers-http
|
27
|
-
Requires-Dist: apache-airflow>=2.
|
27
|
+
Requires-Dist: apache-airflow>=2.9.0
|
28
28
|
Requires-Dist: asgiref>=2.3.0
|
29
29
|
Requires-Dist: boto3>=1.34.90
|
30
30
|
Requires-Dist: botocore>=1.34.90
|
@@ -36,13 +36,10 @@ Requires-Dist: redshift_connector>=2.0.918
|
|
36
36
|
Requires-Dist: watchtower>=3.0.0,!=3.3.0,<4
|
37
37
|
Requires-Dist: aiobotocore[boto3]>=2.13.0 ; extra == "aiobotocore"
|
38
38
|
Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache-hive"
|
39
|
-
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.
|
40
|
-
Requires-Dist: apache-airflow-providers-common-compat ; extra == "common-compat"
|
41
|
-
Requires-Dist: apache-airflow-providers-common-sql ; extra == "common-sql"
|
39
|
+
Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0 ; extra == "cncf-kubernetes"
|
42
40
|
Requires-Dist: apache-airflow-providers-exasol ; extra == "exasol"
|
43
41
|
Requires-Dist: apache-airflow-providers-ftp ; extra == "ftp"
|
44
42
|
Requires-Dist: apache-airflow-providers-google ; extra == "google"
|
45
|
-
Requires-Dist: apache-airflow-providers-http ; extra == "http"
|
46
43
|
Requires-Dist: apache-airflow-providers-imap ; extra == "imap"
|
47
44
|
Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
|
48
45
|
Requires-Dist: apache-airflow-providers-mongo ; extra == "mongo"
|
@@ -54,21 +51,18 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
|
|
54
51
|
Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
|
55
52
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
56
53
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
57
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
58
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
54
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.2.0/changelog.html
|
55
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.2.0
|
59
56
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
60
57
|
Project-URL: Source Code, https://github.com/apache/airflow
|
61
|
-
Project-URL: Twitter, https://
|
58
|
+
Project-URL: Twitter, https://x.com/ApacheAirflow
|
62
59
|
Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
63
60
|
Provides-Extra: aiobotocore
|
64
61
|
Provides-Extra: apache-hive
|
65
62
|
Provides-Extra: cncf-kubernetes
|
66
|
-
Provides-Extra: common-compat
|
67
|
-
Provides-Extra: common-sql
|
68
63
|
Provides-Extra: exasol
|
69
64
|
Provides-Extra: ftp
|
70
65
|
Provides-Extra: google
|
71
|
-
Provides-Extra: http
|
72
66
|
Provides-Extra: imap
|
73
67
|
Provides-Extra: microsoft-azure
|
74
68
|
Provides-Extra: mongo
|
@@ -123,7 +117,7 @@ Provides-Extra: ssh
|
|
123
117
|
|
124
118
|
Package ``apache-airflow-providers-amazon``
|
125
119
|
|
126
|
-
Release: ``9.
|
120
|
+
Release: ``9.2.0``
|
127
121
|
|
128
122
|
|
129
123
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -136,7 +130,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
136
130
|
are in ``airflow.providers.amazon`` python package.
|
137
131
|
|
138
132
|
You can find package information and changelog for the provider
|
139
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
133
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.2.0/>`_.
|
140
134
|
|
141
135
|
Installation
|
142
136
|
------------
|
@@ -153,8 +147,8 @@ Requirements
|
|
153
147
|
========================================== ======================
|
154
148
|
PIP package Version required
|
155
149
|
========================================== ======================
|
156
|
-
``apache-airflow`` ``>=2.
|
157
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
150
|
+
``apache-airflow`` ``>=2.9.0``
|
151
|
+
``apache-airflow-providers-common-compat`` ``>=1.3.0``
|
158
152
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
159
153
|
``apache-airflow-providers-http``
|
160
154
|
``boto3`` ``>=1.34.90``
|
@@ -202,4 +196,4 @@ Dependent package
|
|
202
196
|
====================================================================================================================== ===================
|
203
197
|
|
204
198
|
The changelog for the provider package can be found in the
|
205
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
199
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.2.0/changelog.html>`_.
|
{apache_airflow_providers_amazon-9.1.0rc4 → apache_airflow_providers_amazon-9.2.0}/README.rst
RENAMED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
Package ``apache-airflow-providers-amazon``
|
44
44
|
|
45
|
-
Release: ``9.
|
45
|
+
Release: ``9.2.0``
|
46
46
|
|
47
47
|
|
48
48
|
Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
|
@@ -55,7 +55,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
|
|
55
55
|
are in ``airflow.providers.amazon`` python package.
|
56
56
|
|
57
57
|
You can find package information and changelog for the provider
|
58
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
58
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.2.0/>`_.
|
59
59
|
|
60
60
|
Installation
|
61
61
|
------------
|
@@ -72,8 +72,8 @@ Requirements
|
|
72
72
|
========================================== ======================
|
73
73
|
PIP package Version required
|
74
74
|
========================================== ======================
|
75
|
-
``apache-airflow`` ``>=2.
|
76
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
75
|
+
``apache-airflow`` ``>=2.9.0``
|
76
|
+
``apache-airflow-providers-common-compat`` ``>=1.3.0``
|
77
77
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
78
78
|
``apache-airflow-providers-http``
|
79
79
|
``boto3`` ``>=1.34.90``
|
@@ -121,4 +121,4 @@ Dependent package
|
|
121
121
|
====================================================================================================================== ===================
|
122
122
|
|
123
123
|
The changelog for the provider package can be found in the
|
124
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.
|
124
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/9.2.0/changelog.html>`_.
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "9.
|
32
|
+
__version__ = "9.2.0"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
|
-
"2.
|
35
|
+
"2.9.0"
|
36
36
|
):
|
37
37
|
raise RuntimeError(
|
38
|
-
f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.
|
38
|
+
f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.9.0+"
|
39
39
|
)
|
@@ -17,9 +17,10 @@
|
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
19
|
import json
|
20
|
+
from collections.abc import Sequence
|
20
21
|
from functools import cached_property
|
21
22
|
from pathlib import Path
|
22
|
-
from typing import TYPE_CHECKING,
|
23
|
+
from typing import TYPE_CHECKING, TypedDict
|
23
24
|
|
24
25
|
from airflow.configuration import conf
|
25
26
|
from airflow.exceptions import AirflowException
|
@@ -19,8 +19,9 @@ from __future__ import annotations
|
|
19
19
|
import argparse
|
20
20
|
import warnings
|
21
21
|
from collections import defaultdict
|
22
|
+
from collections.abc import Container, Sequence
|
22
23
|
from functools import cached_property
|
23
|
-
from typing import TYPE_CHECKING,
|
24
|
+
from typing import TYPE_CHECKING, cast
|
24
25
|
|
25
26
|
from flask import session, url_for
|
26
27
|
|
@@ -80,16 +81,6 @@ class AwsAuthManager(BaseAuthManager):
|
|
80
81
|
"""
|
81
82
|
|
82
83
|
def __init__(self, appbuilder: AirflowAppBuilder) -> None:
|
83
|
-
from packaging.version import Version
|
84
|
-
|
85
|
-
from airflow.version import version
|
86
|
-
|
87
|
-
# TODO: remove this if block when min_airflow_version is set to higher than 2.9.0
|
88
|
-
if Version(version) < Version("2.9"):
|
89
|
-
raise AirflowOptionalProviderFeatureException(
|
90
|
-
"``AwsAuthManager`` is compatible with Airflow versions >= 2.9."
|
91
|
-
)
|
92
|
-
|
93
84
|
super().__init__(appbuilder)
|
94
85
|
self._check_avp_schema_version()
|
95
86
|
|
@@ -430,7 +421,8 @@ class AwsAuthManager(BaseAuthManager):
|
|
430
421
|
]
|
431
422
|
|
432
423
|
def register_views(self) -> None:
|
433
|
-
self.appbuilder
|
424
|
+
if self.appbuilder:
|
425
|
+
self.appbuilder.add_view_no_menu(AwsAuthManagerAuthenticationViews())
|
434
426
|
|
435
427
|
@staticmethod
|
436
428
|
def _get_menu_item_request(resource_name: str) -> IsAuthorizedRequest:
|
@@ -21,9 +21,10 @@ from __future__ import annotations
|
|
21
21
|
|
22
22
|
import time
|
23
23
|
from collections import deque
|
24
|
+
from collections.abc import Sequence
|
24
25
|
from contextlib import suppress
|
25
26
|
from copy import deepcopy
|
26
|
-
from typing import TYPE_CHECKING, Any
|
27
|
+
from typing import TYPE_CHECKING, Any
|
27
28
|
|
28
29
|
from botocore.exceptions import ClientError, NoCredentialsError
|
29
30
|
|
@@ -55,8 +56,8 @@ from airflow.providers.amazon.aws.executors.batch.utils import (
|
|
55
56
|
)
|
56
57
|
from airflow.utils.state import State
|
57
58
|
|
58
|
-
CommandType =
|
59
|
-
ExecutorConfigType =
|
59
|
+
CommandType = list[str]
|
60
|
+
ExecutorConfigType = dict[str, Any]
|
60
61
|
|
61
62
|
INVALID_CREDENTIALS_EXCEPTIONS = [
|
62
63
|
"ExpiredTokenException",
|
@@ -19,7 +19,7 @@ from __future__ import annotations
|
|
19
19
|
import datetime
|
20
20
|
from collections import defaultdict
|
21
21
|
from dataclasses import dataclass
|
22
|
-
from typing import TYPE_CHECKING, Any
|
22
|
+
from typing import TYPE_CHECKING, Any
|
23
23
|
|
24
24
|
from airflow.providers.amazon.aws.executors.utils.base_config_keys import BaseConfigKeys
|
25
25
|
from airflow.utils.state import State
|
@@ -27,8 +27,8 @@ from airflow.utils.state import State
|
|
27
27
|
if TYPE_CHECKING:
|
28
28
|
from airflow.models.taskinstance import TaskInstanceKey
|
29
29
|
|
30
|
-
CommandType =
|
31
|
-
ExecutorConfigType =
|
30
|
+
CommandType = list[str]
|
31
|
+
ExecutorConfigType = dict[str, Any]
|
32
32
|
|
33
33
|
CONFIG_GROUP_NAME = "aws_batch_executor"
|
34
34
|
|
@@ -25,9 +25,10 @@ from __future__ import annotations
|
|
25
25
|
|
26
26
|
import time
|
27
27
|
from collections import defaultdict, deque
|
28
|
+
from collections.abc import Sequence
|
28
29
|
from contextlib import suppress
|
29
30
|
from copy import deepcopy
|
30
|
-
from typing import TYPE_CHECKING
|
31
|
+
from typing import TYPE_CHECKING
|
31
32
|
|
32
33
|
from botocore.exceptions import ClientError, NoCredentialsError
|
33
34
|
|
@@ -26,7 +26,7 @@ from __future__ import annotations
|
|
26
26
|
import datetime
|
27
27
|
from collections import defaultdict
|
28
28
|
from dataclasses import dataclass
|
29
|
-
from typing import TYPE_CHECKING, Any, Callable
|
29
|
+
from typing import TYPE_CHECKING, Any, Callable
|
30
30
|
|
31
31
|
from inflection import camelize
|
32
32
|
|
@@ -36,9 +36,9 @@ from airflow.utils.state import State
|
|
36
36
|
if TYPE_CHECKING:
|
37
37
|
from airflow.models.taskinstance import TaskInstanceKey
|
38
38
|
|
39
|
-
CommandType =
|
39
|
+
CommandType = list[str]
|
40
40
|
ExecutorConfigFunctionType = Callable[[CommandType], dict]
|
41
|
-
ExecutorConfigType =
|
41
|
+
ExecutorConfigType = dict[str, Any]
|
42
42
|
|
43
43
|
ECS_LAUNCH_TYPE_EC2 = "EC2"
|
44
44
|
ECS_LAUNCH_TYPE_FARGATE = "FARGATE"
|
@@ -19,7 +19,7 @@ from __future__ import annotations
|
|
19
19
|
import asyncio
|
20
20
|
import logging
|
21
21
|
from functools import partial
|
22
|
-
from typing import TYPE_CHECKING, Any, Callable
|
22
|
+
from typing import TYPE_CHECKING, Any, Callable
|
23
23
|
|
24
24
|
import requests
|
25
25
|
from botocore import UNSIGNED
|
@@ -32,7 +32,7 @@ if TYPE_CHECKING:
|
|
32
32
|
from fsspec import AbstractFileSystem
|
33
33
|
|
34
34
|
|
35
|
-
Properties =
|
35
|
+
Properties = dict[str, str]
|
36
36
|
|
37
37
|
S3_PROXY_URI = "proxy-uri"
|
38
38
|
|
@@ -16,7 +16,15 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
-
from
|
19
|
+
from collections.abc import Sequence
|
20
|
+
from typing import TYPE_CHECKING, cast
|
21
|
+
|
22
|
+
from mypy_boto3_appflow.type_defs import (
|
23
|
+
DestinationFlowConfigTypeDef,
|
24
|
+
SourceFlowConfigTypeDef,
|
25
|
+
TaskTypeDef,
|
26
|
+
TriggerConfigTypeDef,
|
27
|
+
)
|
20
28
|
|
21
29
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsGenericHook
|
22
30
|
from airflow.providers.amazon.aws.utils.waiter_with_logging import wait
|
@@ -117,9 +125,11 @@ class AppflowHook(AwsGenericHook["AppflowClient"]):
|
|
117
125
|
|
118
126
|
self.conn.update_flow(
|
119
127
|
flowName=response["flowName"],
|
120
|
-
destinationFlowConfigList=
|
121
|
-
|
122
|
-
|
128
|
+
destinationFlowConfigList=cast(
|
129
|
+
Sequence[DestinationFlowConfigTypeDef], response["destinationFlowConfigList"]
|
130
|
+
),
|
131
|
+
sourceFlowConfig=cast(SourceFlowConfigTypeDef, response["sourceFlowConfig"]),
|
132
|
+
triggerConfig=cast(TriggerConfigTypeDef, response["triggerConfig"]),
|
123
133
|
description=response.get("description", "Flow description."),
|
124
|
-
tasks=tasks,
|
134
|
+
tasks=cast(Sequence[TaskTypeDef], tasks),
|
125
135
|
)
|
@@ -25,7 +25,8 @@ This module contains AWS Athena hook.
|
|
25
25
|
|
26
26
|
from __future__ import annotations
|
27
27
|
|
28
|
-
from
|
28
|
+
from collections.abc import Collection
|
29
|
+
from typing import TYPE_CHECKING, Any
|
29
30
|
|
30
31
|
from airflow.exceptions import AirflowException
|
31
32
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
@@ -18,7 +18,12 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import json
|
21
|
+
from datetime import datetime
|
21
22
|
from enum import Enum
|
23
|
+
from typing import Any
|
24
|
+
|
25
|
+
from botocore.exceptions import ClientError
|
26
|
+
from dateutil import parser
|
22
27
|
|
23
28
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
24
29
|
|
@@ -219,3 +224,159 @@ class DmsHook(AwsBaseHook):
|
|
219
224
|
],
|
220
225
|
WithoutSettings=True,
|
221
226
|
)
|
227
|
+
|
228
|
+
def describe_replication_configs(self, filters: list[dict] | None = None, **kwargs) -> list[dict]:
|
229
|
+
"""
|
230
|
+
Return list of serverless replication configs.
|
231
|
+
|
232
|
+
.. seealso::
|
233
|
+
- :external+boto3:py:meth:`DatabaseMigrationService.Client.describe_replication_configs`
|
234
|
+
|
235
|
+
:param filters: List of filter objects
|
236
|
+
:return: List of replication tasks
|
237
|
+
"""
|
238
|
+
filters = filters if filters is not None else []
|
239
|
+
|
240
|
+
try:
|
241
|
+
resp = self.conn.describe_replication_configs(Filters=filters, **kwargs)
|
242
|
+
return resp.get("ReplicationConfigs", [])
|
243
|
+
except Exception as ex:
|
244
|
+
self.log.error("Error while describing replication configs: %s", str(ex))
|
245
|
+
raise ex
|
246
|
+
|
247
|
+
def create_replication_config(
|
248
|
+
self,
|
249
|
+
replication_config_id: str,
|
250
|
+
source_endpoint_arn: str,
|
251
|
+
target_endpoint_arn: str,
|
252
|
+
compute_config: dict[str, Any],
|
253
|
+
replication_type: str,
|
254
|
+
table_mappings: str,
|
255
|
+
additional_config_kwargs: dict[str, Any] | None = None,
|
256
|
+
**kwargs,
|
257
|
+
):
|
258
|
+
"""
|
259
|
+
Create an AWS DMS Serverless configuration that can be used to start an DMS Serverless replication.
|
260
|
+
|
261
|
+
.. seealso::
|
262
|
+
- :external+boto3:py:meth:`DatabaseMigrationService.Client.create_replication_config`
|
263
|
+
|
264
|
+
:param replicationConfigId: Unique identifier used to create a ReplicationConfigArn.
|
265
|
+
:param sourceEndpointArn: ARN of the source endpoint
|
266
|
+
:param targetEndpointArn: ARN of the target endpoint
|
267
|
+
:param computeConfig: Parameters for provisioning an DMS Serverless replication.
|
268
|
+
:param replicationType: type of DMS Serverless replication
|
269
|
+
:param tableMappings: JSON table mappings
|
270
|
+
:param tags: Key-value tag pairs
|
271
|
+
:param resourceId: Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource.
|
272
|
+
:param supplementalSettings: JSON settings for specifying supplemental data
|
273
|
+
:param replicationSettings: JSON settings for DMS Serverless replications
|
274
|
+
|
275
|
+
:return: ReplicationConfigArn
|
276
|
+
|
277
|
+
"""
|
278
|
+
if additional_config_kwargs is None:
|
279
|
+
additional_config_kwargs = {}
|
280
|
+
try:
|
281
|
+
resp = self.conn.create_replication_config(
|
282
|
+
ReplicationConfigIdentifier=replication_config_id,
|
283
|
+
SourceEndpointArn=source_endpoint_arn,
|
284
|
+
TargetEndpointArn=target_endpoint_arn,
|
285
|
+
ComputeConfig=compute_config,
|
286
|
+
ReplicationType=replication_type,
|
287
|
+
TableMappings=table_mappings,
|
288
|
+
**additional_config_kwargs,
|
289
|
+
)
|
290
|
+
arn = resp.get("ReplicationConfig", {}).get("ReplicationConfigArn")
|
291
|
+
self.log.info("Successfully created replication config: %s", arn)
|
292
|
+
return arn
|
293
|
+
|
294
|
+
except ClientError as err:
|
295
|
+
err_str = f"Error: {err.get('Error','').get('Code','')}: {err.get('Error','').get('Message','')}"
|
296
|
+
self.log.error("Error while creating replication config: %s", err_str)
|
297
|
+
raise err
|
298
|
+
|
299
|
+
def describe_replications(self, filters: list[dict[str, Any]] | None = None, **kwargs) -> list[dict]:
|
300
|
+
"""
|
301
|
+
Return list of serverless replications.
|
302
|
+
|
303
|
+
.. seealso::
|
304
|
+
- :external+boto3:py:meth:`DatabaseMigrationService.Client.describe_replications`
|
305
|
+
|
306
|
+
:param filters: List of filter objects
|
307
|
+
:return: List of replications
|
308
|
+
"""
|
309
|
+
filters = filters if filters is not None else []
|
310
|
+
try:
|
311
|
+
resp = self.conn.describe_replications(Filters=filters, **kwargs)
|
312
|
+
return resp.get("Replications", [])
|
313
|
+
except Exception as ex:
|
314
|
+
self.log.error("Error while describing replications: %s", str(ex))
|
315
|
+
raise ex
|
316
|
+
|
317
|
+
def delete_replication_config(
|
318
|
+
self, replication_config_arn: str, delay: int = 60, max_attempts: int = 120
|
319
|
+
):
|
320
|
+
"""
|
321
|
+
Delete an AWS DMS Serverless configuration.
|
322
|
+
|
323
|
+
.. seealso::
|
324
|
+
- :external+boto3:py:meth:`DatabaseMigrationService.Client.delete_replication_config`
|
325
|
+
|
326
|
+
:param replication_config_arn: ReplicationConfigArn
|
327
|
+
"""
|
328
|
+
try:
|
329
|
+
self.log.info("Deleting replication config: %s", replication_config_arn)
|
330
|
+
|
331
|
+
self.conn.delete_replication_config(ReplicationConfigArn=replication_config_arn)
|
332
|
+
|
333
|
+
except ClientError as err:
|
334
|
+
err_str = (
|
335
|
+
f"Error: {err.get('Error', '').get('Code', '')}: {err.get('Error', '').get('Message', '')}"
|
336
|
+
)
|
337
|
+
self.log.error("Error while deleting replication config: %s", err_str)
|
338
|
+
raise err
|
339
|
+
|
340
|
+
def start_replication(
|
341
|
+
self,
|
342
|
+
replication_config_arn: str,
|
343
|
+
start_replication_type: str,
|
344
|
+
cdc_start_time: datetime | str | None = None,
|
345
|
+
cdc_start_pos: str | None = None,
|
346
|
+
cdc_stop_pos: str | None = None,
|
347
|
+
):
|
348
|
+
additional_args: dict[str, Any] = {}
|
349
|
+
|
350
|
+
if cdc_start_time:
|
351
|
+
additional_args["CdcStartTime"] = (
|
352
|
+
cdc_start_time if isinstance(cdc_start_time, datetime) else parser.parse(cdc_start_time)
|
353
|
+
)
|
354
|
+
if cdc_start_pos:
|
355
|
+
additional_args["CdcStartPosition"] = cdc_start_pos
|
356
|
+
if cdc_stop_pos:
|
357
|
+
additional_args["CdcStopPosition"] = cdc_stop_pos
|
358
|
+
|
359
|
+
try:
|
360
|
+
resp = self.conn.start_replication(
|
361
|
+
ReplicationConfigArn=replication_config_arn,
|
362
|
+
StartReplicationType=start_replication_type,
|
363
|
+
**additional_args,
|
364
|
+
)
|
365
|
+
|
366
|
+
return resp
|
367
|
+
except Exception as ex:
|
368
|
+
self.log.error("Error while starting replication: %s", str(ex))
|
369
|
+
raise ex
|
370
|
+
|
371
|
+
def stop_replication(self, replication_config_arn: str):
|
372
|
+
resp = self.conn.stop_replication(ReplicationConfigArn=replication_config_arn)
|
373
|
+
return resp
|
374
|
+
|
375
|
+
def get_provision_status(self, replication_config_arn: str) -> str:
|
376
|
+
"""Get the provisioning status for a serverless replication."""
|
377
|
+
result = self.describe_replications(
|
378
|
+
filters=[{"Name": "replication-config-arn", "Values": [replication_config_arn]}]
|
379
|
+
)
|
380
|
+
|
381
|
+
provision_status = result[0].get("ProvisionData", {}).get("ProvisionState", "")
|
382
|
+
return provision_status
|
@@ -19,8 +19,9 @@
|
|
19
19
|
|
20
20
|
from __future__ import annotations
|
21
21
|
|
22
|
+
from collections.abc import Iterable
|
22
23
|
from functools import cached_property
|
23
|
-
from typing import TYPE_CHECKING
|
24
|
+
from typing import TYPE_CHECKING
|
24
25
|
|
25
26
|
from botocore.exceptions import ClientError
|
26
27
|
|
@@ -22,10 +22,11 @@ import base64
|
|
22
22
|
import json
|
23
23
|
import sys
|
24
24
|
import tempfile
|
25
|
+
from collections.abc import Generator
|
25
26
|
from contextlib import contextmanager
|
26
27
|
from enum import Enum
|
27
28
|
from functools import partial
|
28
|
-
from typing import Callable
|
29
|
+
from typing import Callable
|
29
30
|
|
30
31
|
from botocore.exceptions import ClientError
|
31
32
|
from botocore.signers import RequestSigner
|
@@ -16,7 +16,8 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
-
from
|
19
|
+
from collections.abc import Sequence
|
20
|
+
from typing import Any
|
20
21
|
|
21
22
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
22
23
|
|
@@ -93,8 +94,8 @@ class RedshiftHook(AwsBaseHook):
|
|
93
94
|
|
94
95
|
async def cluster_status_async(self, cluster_identifier: str) -> str:
|
95
96
|
async with self.async_conn as client:
|
96
|
-
response = await client.describe_clusters(ClusterIdentifier=cluster_identifier)
|
97
|
-
return response[0]["ClusterStatus"] if response else None
|
97
|
+
response = await client.describe_clusters(ClusterIdentifier=cluster_identifier)
|
98
|
+
return response["Clusters"][0]["ClusterStatus"] if response else None
|
98
99
|
|
99
100
|
def delete_cluster(
|
100
101
|
self,
|
@@ -18,9 +18,10 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import time
|
21
|
+
from collections.abc import Iterable
|
21
22
|
from dataclasses import dataclass
|
22
23
|
from pprint import pformat
|
23
|
-
from typing import TYPE_CHECKING, Any
|
24
|
+
from typing import TYPE_CHECKING, Any
|
24
25
|
from uuid import UUID
|
25
26
|
|
26
27
|
from pendulum import duration
|
@@ -20,19 +20,15 @@ from functools import cached_property
|
|
20
20
|
from typing import TYPE_CHECKING
|
21
21
|
|
22
22
|
import redshift_connector
|
23
|
-
from packaging.version import Version
|
24
23
|
from redshift_connector import Connection as RedshiftConnection
|
25
24
|
from sqlalchemy import create_engine
|
26
25
|
from sqlalchemy.engine.url import URL
|
27
26
|
|
28
|
-
from airflow import __version__ as AIRFLOW_VERSION
|
29
27
|
from airflow.exceptions import AirflowException
|
30
28
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
29
|
+
from airflow.providers.amazon.version_compat import AIRFLOW_V_2_10_PLUS
|
31
30
|
from airflow.providers.common.sql.hooks.sql import DbApiHook
|
32
31
|
|
33
|
-
_IS_AIRFLOW_2_10_OR_HIGHER = Version(Version(AIRFLOW_VERSION).base_version) >= Version("2.10.0")
|
34
|
-
|
35
|
-
|
36
32
|
if TYPE_CHECKING:
|
37
33
|
from airflow.models.connection import Connection
|
38
34
|
from airflow.providers.openlineage.sqlparser import DatabaseInfo
|
@@ -265,6 +261,6 @@ class RedshiftSQLHook(DbApiHook):
|
|
265
261
|
|
266
262
|
def get_openlineage_default_schema(self) -> str | None:
|
267
263
|
"""Return current schema. This is usually changed with ``SEARCH_PATH`` parameter."""
|
268
|
-
if
|
264
|
+
if AIRFLOW_V_2_10_PLUS:
|
269
265
|
return self.get_first("SELECT CURRENT_SCHEMA();")[0]
|
270
266
|
return super().get_openlineage_default_schema()
|
@@ -28,6 +28,7 @@ import os
|
|
28
28
|
import re
|
29
29
|
import shutil
|
30
30
|
import time
|
31
|
+
from collections.abc import AsyncIterator
|
31
32
|
from contextlib import suppress
|
32
33
|
from copy import deepcopy
|
33
34
|
from datetime import datetime
|
@@ -36,7 +37,7 @@ from inspect import signature
|
|
36
37
|
from io import BytesIO
|
37
38
|
from pathlib import Path
|
38
39
|
from tempfile import NamedTemporaryFile, gettempdir
|
39
|
-
from typing import TYPE_CHECKING, Any,
|
40
|
+
from typing import TYPE_CHECKING, Any, Callable
|
40
41
|
from urllib.parse import urlsplit
|
41
42
|
from uuid import uuid4
|
42
43
|
|
@@ -1297,6 +1298,7 @@ class S3Hook(AwsBaseHook):
|
|
1297
1298
|
dest_bucket_name: str | None = None,
|
1298
1299
|
source_version_id: str | None = None,
|
1299
1300
|
acl_policy: str | None = None,
|
1301
|
+
meta_data_directive: str | None = None,
|
1300
1302
|
**kwargs,
|
1301
1303
|
) -> None:
|
1302
1304
|
"""
|
@@ -1326,10 +1328,14 @@ class S3Hook(AwsBaseHook):
|
|
1326
1328
|
:param source_version_id: Version ID of the source object (OPTIONAL)
|
1327
1329
|
:param acl_policy: The string to specify the canned ACL policy for the
|
1328
1330
|
object to be copied which is private by default.
|
1331
|
+
:param meta_data_directive: Whether to `COPY` the metadata from the source object or `REPLACE` it
|
1332
|
+
with metadata that's provided in the request.
|
1329
1333
|
"""
|
1330
1334
|
acl_policy = acl_policy or "private"
|
1331
1335
|
if acl_policy != NO_ACL:
|
1332
1336
|
kwargs["ACL"] = acl_policy
|
1337
|
+
if meta_data_directive:
|
1338
|
+
kwargs["MetadataDirective"] = meta_data_directive
|
1333
1339
|
|
1334
1340
|
dest_bucket_name, dest_bucket_key = self.get_s3_bucket_key(
|
1335
1341
|
dest_bucket_name, dest_bucket_key, "dest_bucket_name", "dest_bucket_key"
|