apache-airflow-providers-amazon 9.1.0rc3__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.0rc3 → apache_airflow_providers_amazon-9.2.0}/PKG-INFO +20 -26
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/README.rst +6 -6
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/__init__.py +3 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/utils.py +3 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/utils.py +3 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/fs/s3.py +2 -2
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/appflow.py +15 -5
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/athena.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/dms.py +161 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/eks.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue.py +5 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/kinesis.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/logs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/redshift_data.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/redshift_sql.py +2 -6
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/s3.py +9 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ses.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/sns.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/sqs.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/athena.py +5 -2
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/base_aws.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/batch.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/bedrock.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/cloud_formation.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/comprehend.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/ec2.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/ecs.py +15 -4
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/eks.py +8 -5
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/emr.py +31 -8
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/eventbridge.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glacier.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glue.py +12 -2
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glue_crawler.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/glue_databrew.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/kinesis_analytics.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/lambda_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/neptune.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/quicksight.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/rds.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/redshift_cluster.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/s3.py +7 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/sns.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/sqs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/step_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/athena.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/base_aws.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/batch.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/bedrock.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/cloud_formation.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/comprehend.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/dms.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/ec2.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/ecs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/eks.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/emr.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glacier.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glue.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/glue_crawler.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/lambda_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/quicksight.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/rds.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/sqs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/step_function.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/base.py +1 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +4 -3
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/local_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +3 -2
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +14 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/athena.py +1 -2
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/glue.py +3 -2
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/redshift_data.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/s3.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/sagemaker.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/sqs.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/__init__.py +1 -15
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +2 -1
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/get_provider_info.py +10 -5
- apache_airflow_providers_amazon-9.2.0/airflow/providers/amazon/version_compat.py +36 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/pyproject.toml +9 -19
- apache_airflow_providers_amazon-9.1.0rc3/airflow/providers/amazon/aws/operators/dms.py +0 -279
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/LICENSE +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/assets/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/assets/s3.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/exceptions.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → 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.0rc3 → 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.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/athena.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/batch.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/emr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/glue.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/logs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/links/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/log/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/README.md +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/openlineage.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/rds.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/tags.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/README.md +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/rds.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
- {apache_airflow_providers_amazon-9.1.0rc3 → apache_airflow_providers_amazon-9.2.0}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
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.
|
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
|
@@ -35,16 +35,13 @@ Requires-Dist: python3-saml>=1.16.0
|
|
35
35
|
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
|
-
Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache
|
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"
|
38
|
+
Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache-hive"
|
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
|
-
Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft
|
44
|
+
Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft-azure"
|
48
45
|
Requires-Dist: apache-airflow-providers-mongo ; extra == "mongo"
|
49
46
|
Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
|
50
47
|
Requires-Dist: pandas>=2.1.2,<2.2 ; extra == "pandas" and (python_version>="3.9")
|
@@ -54,23 +51,20 @@ 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
|
-
Provides-Extra: apache
|
65
|
-
Provides-Extra: cncf
|
66
|
-
Provides-Extra: common.compat
|
67
|
-
Provides-Extra: common.sql
|
61
|
+
Provides-Extra: apache-hive
|
62
|
+
Provides-Extra: cncf-kubernetes
|
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
|
-
Provides-Extra: microsoft
|
67
|
+
Provides-Extra: microsoft-azure
|
74
68
|
Provides-Extra: mongo
|
75
69
|
Provides-Extra: openlineage
|
76
70
|
Provides-Extra: pandas
|
@@ -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,9 +147,9 @@ Requirements
|
|
153
147
|
========================================== ======================
|
154
148
|
PIP package Version required
|
155
149
|
========================================== ======================
|
156
|
-
``apache-airflow`` ``>=2.
|
157
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
158
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
150
|
+
``apache-airflow`` ``>=2.9.0``
|
151
|
+
``apache-airflow-providers-common-compat`` ``>=1.3.0``
|
152
|
+
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
159
153
|
``apache-airflow-providers-http``
|
160
154
|
``boto3`` ``>=1.34.90``
|
161
155
|
``botocore`` ``>=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.0rc3 → 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,9 +72,9 @@ Requirements
|
|
72
72
|
========================================== ======================
|
73
73
|
PIP package Version required
|
74
74
|
========================================== ======================
|
75
|
-
``apache-airflow`` ``>=2.
|
76
|
-
``apache-airflow-providers-common-compat`` ``>=1.
|
77
|
-
``apache-airflow-providers-common-sql`` ``>=1.
|
75
|
+
``apache-airflow`` ``>=2.9.0``
|
76
|
+
``apache-airflow-providers-common-compat`` ``>=1.3.0``
|
77
|
+
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
78
78
|
``apache-airflow-providers-http``
|
79
79
|
``boto3`` ``>=1.34.90``
|
80
80
|
``botocore`` ``>=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
|
@@ -85,8 +86,8 @@ COMMAND = """
|
|
85
86
|
exit 1
|
86
87
|
fi
|
87
88
|
|
88
|
-
expiration_timestamp=$(echo "$output" | grep -oP 'expirationTimestamp
|
89
|
-
token=$(echo "$output" | grep -oP 'token
|
89
|
+
expiration_timestamp=$(echo "$output" | grep -oP 'expirationTimestamp: \\K[^,]+')
|
90
|
+
token=$(echo "$output" | grep -oP 'token: \\K[^,]+')
|
90
91
|
|
91
92
|
json_string=$(printf '{{"kind": "ExecCredential","apiVersion": \
|
92
93
|
"client.authentication.k8s.io/v1alpha1","spec": {{}},"status": \
|
@@ -282,13 +282,16 @@ class GlueJobHook(AwsBaseHook):
|
|
282
282
|
log_group_error, continuation_tokens.error_stream_continuation
|
283
283
|
)
|
284
284
|
|
285
|
-
def job_completion(
|
285
|
+
def job_completion(
|
286
|
+
self, job_name: str, run_id: str, verbose: bool = False, sleep_before_return: int = 0
|
287
|
+
) -> dict[str, str]:
|
286
288
|
"""
|
287
289
|
Wait until Glue job with job_name finishes; return final state if finished or raises AirflowException.
|
288
290
|
|
289
291
|
:param job_name: unique job name per AWS account
|
290
292
|
:param run_id: The job-run ID of the predecessor job run
|
291
293
|
:param verbose: If True, more Glue Job Run logs show in the Airflow Task Logs. (default: False)
|
294
|
+
:param sleep_before_return: time in seconds to wait before returning final status.
|
292
295
|
:return: Dict of JobRunState and JobRunId
|
293
296
|
"""
|
294
297
|
next_log_tokens = self.LogContinuationTokens()
|
@@ -296,6 +299,7 @@ class GlueJobHook(AwsBaseHook):
|
|
296
299
|
job_run_state = self.get_job_state(job_name, run_id)
|
297
300
|
ret = self._handle_state(job_run_state, job_name, run_id, verbose, next_log_tokens)
|
298
301
|
if ret:
|
302
|
+
time.sleep(sleep_before_return)
|
299
303
|
return ret
|
300
304
|
else:
|
301
305
|
time.sleep(self.job_poll_interval)
|
@@ -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
|