apache-airflow-providers-amazon 8.26.0rc2__tar.gz → 8.27.0rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/PKG-INFO +29 -22
  2. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/README.rst +22 -19
  3. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/__init__.py +1 -1
  4. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/datasets/s3.py +45 -0
  5. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +20 -13
  6. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +24 -13
  7. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +65 -0
  8. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/rds.py +3 -3
  9. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/s3.py +26 -1
  10. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/step_function.py +18 -0
  11. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/athena.py +16 -17
  12. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/operators/kinesis_analytics.py +348 -0
  13. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/rds.py +17 -20
  14. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/redshift_cluster.py +4 -2
  15. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/s3.py +7 -11
  16. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/sagemaker.py +2 -3
  17. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/step_function.py +12 -2
  18. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +234 -0
  19. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +1 -0
  20. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +1 -0
  21. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/emr.py +3 -1
  22. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +69 -0
  23. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/waiters/__init__.py +16 -0
  24. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +151 -0
  25. apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/waiters/rds.json +253 -0
  26. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/get_provider_info.py +35 -2
  27. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/pyproject.toml +8 -3
  28. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/LICENSE +0 -0
  29. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/__init__.py +0 -0
  30. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
  31. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
  32. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
  33. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
  34. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
  35. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +0 -0
  36. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
  37. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
  38. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
  39. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
  40. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
  41. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
  42. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
  43. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
  44. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
  45. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
  46. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/executors → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/datasets}/__init__.py +0 -0
  47. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/exceptions.py +0 -0
  48. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
  49. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/executors/utils → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/executors}/__init__.py +0 -0
  50. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
  51. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
  52. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
  53. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
  54. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
  55. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
  56. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
  57. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
  58. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/fs → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/executors/utils}/__init__.py +0 -0
  59. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
  60. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
  61. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/hooks → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/fs}/__init__.py +0 -0
  62. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/fs/s3.py +0 -0
  63. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/links → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/hooks}/__init__.py +0 -0
  64. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
  65. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
  66. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
  67. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
  68. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
  69. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
  70. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
  71. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
  72. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
  73. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
  74. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
  75. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
  76. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
  77. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
  78. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
  79. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
  80. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
  81. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
  82. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
  83. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
  84. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
  85. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
  86. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
  87. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
  88. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
  89. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
  90. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
  91. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
  92. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
  93. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
  94. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
  95. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
  96. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
  97. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
  98. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
  99. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
  100. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
  101. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
  102. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
  103. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
  104. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
  105. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
  106. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
  107. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/log → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/links}/__init__.py +0 -0
  108. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/athena.py +0 -0
  109. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
  110. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/batch.py +0 -0
  111. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/emr.py +0 -0
  112. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/glue.py +0 -0
  113. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/logs.py +0 -0
  114. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/links/step_function.py +0 -0
  115. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/notifications → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/log}/__init__.py +0 -0
  116. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
  117. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
  118. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/operators → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/notifications}/__init__.py +0 -0
  119. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
  120. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
  121. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
  122. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/secrets → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/operators}/__init__.py +0 -0
  123. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
  124. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
  125. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/batch.py +0 -0
  126. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
  127. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
  128. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
  129. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
  130. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/dms.py +0 -0
  131. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
  132. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
  133. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/eks.py +0 -0
  134. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/emr.py +0 -0
  135. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
  136. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
  137. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/glue.py +0 -0
  138. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
  139. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
  140. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
  141. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
  142. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
  143. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
  144. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/sns.py +0 -0
  145. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
  146. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/sensors → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/secrets}/__init__.py +0 -0
  147. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
  148. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
  149. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/transfers → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/sensors}/__init__.py +0 -0
  150. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
  151. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
  152. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/batch.py +0 -0
  153. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
  154. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
  155. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/comprehend.py +0 -0
  156. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/dms.py +0 -0
  157. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
  158. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
  159. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
  160. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
  161. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/emr.py +0 -0
  162. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
  163. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/glue.py +0 -0
  164. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +0 -0
  165. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/glue_crawler.py +0 -0
  166. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
  167. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
  168. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
  169. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
  170. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
  171. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/s3.py +0 -0
  172. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
  173. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
  174. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
  175. {apache_airflow_providers_amazon-8.26.0rc2/airflow/providers/amazon/aws/waiters → apache_airflow_providers_amazon-8.27.0rc1/airflow/providers/amazon/aws/transfers}/__init__.py +0 -0
  176. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
  177. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/base.py +0 -0
  178. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
  179. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
  180. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
  181. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
  182. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
  183. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
  184. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
  185. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
  186. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
  187. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
  188. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
  189. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
  190. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
  191. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
  192. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
  193. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
  194. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
  195. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
  196. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/README.md +0 -0
  197. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
  198. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
  199. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/base.py +0 -0
  200. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
  201. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
  202. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
  203. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
  204. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
  205. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
  206. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
  207. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
  208. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
  209. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
  210. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
  211. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
  212. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
  213. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
  214. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
  215. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
  216. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/sagemaker.py +0 -0
  217. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
  218. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
  219. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
  220. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
  221. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
  222. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
  223. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
  224. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
  225. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/rds.py +0 -0
  226. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
  227. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
  228. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
  229. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
  230. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/tags.py +0 -0
  231. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
  232. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
  233. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
  234. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/README.md +0 -0
  235. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
  236. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
  237. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
  238. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
  239. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
  240. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
  241. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
  242. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
  243. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
  244. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
  245. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
  246. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
  247. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
  248. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
  249. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
  250. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
  251. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
  252. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
  253. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
  254. {apache_airflow_providers_amazon-8.26.0rc2 → apache_airflow_providers_amazon-8.27.0rc1}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-amazon
3
- Version: 8.26.0rc2
3
+ Version: 8.27.0rc1
4
4
  Summary: Provider package apache-airflow-providers-amazon for Apache Airflow
5
5
  Keywords: airflow-provider,amazon,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -22,6 +22,8 @@ Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Programming Language :: Python :: 3.12
23
23
  Classifier: Topic :: System :: Monitoring
24
24
  Requires-Dist: PyAthena>=3.0.10
25
+ Requires-Dist: apache-airflow-providers-common-compat>=1.1.0rc0
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.1.0rc0
25
27
  Requires-Dist: apache-airflow-providers-common-sql>=1.3.1rc0
26
28
  Requires-Dist: apache-airflow-providers-http
27
29
  Requires-Dist: apache-airflow>=2.7.0rc0
@@ -37,6 +39,7 @@ Requires-Dist: watchtower>=3.0.0,<4
37
39
  Requires-Dist: aiobotocore[boto3]>=2.13.0 ; extra == "aiobotocore"
38
40
  Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache.hive"
39
41
  Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0rc0 ; extra == "cncf.kubernetes"
42
+ Requires-Dist: apache-airflow-providers-common-compat ; extra == "common.compat"
40
43
  Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
41
44
  Requires-Dist: apache-airflow-providers-exasol ; extra == "exasol"
42
45
  Requires-Dist: apache-airflow-providers-ftp ; extra == "ftp"
@@ -53,8 +56,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
53
56
  Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
54
57
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
55
58
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
56
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/changelog.html
57
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0
59
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html
60
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0
58
61
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
59
62
  Project-URL: Source Code, https://github.com/apache/airflow
60
63
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -62,6 +65,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
62
65
  Provides-Extra: aiobotocore
63
66
  Provides-Extra: apache.hive
64
67
  Provides-Extra: cncf.kubernetes
68
+ Provides-Extra: common.compat
65
69
  Provides-Extra: common.sql
66
70
  Provides-Extra: exasol
67
71
  Provides-Extra: ftp
@@ -121,7 +125,7 @@ Provides-Extra: ssh
121
125
 
122
126
  Package ``apache-airflow-providers-amazon``
123
127
 
124
- Release: ``8.26.0.rc2``
128
+ Release: ``8.27.0.rc1``
125
129
 
126
130
 
127
131
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -134,7 +138,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
134
138
  are in ``airflow.providers.amazon`` python package.
135
139
 
136
140
  You can find package information and changelog for the provider
137
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/>`_.
141
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/>`_.
138
142
 
139
143
  Installation
140
144
  ------------
@@ -148,23 +152,25 @@ The package supports the following python versions: 3.8,3.9,3.10,3.11,3.12
148
152
  Requirements
149
153
  ------------
150
154
 
151
- ======================================= ==================
152
- PIP package Version required
153
- ======================================= ==================
154
- ``apache-airflow`` ``>=2.7.0``
155
- ``apache-airflow-providers-common-sql`` ``>=1.3.1``
155
+ ========================================== ==================
156
+ PIP package Version required
157
+ ========================================== ==================
158
+ ``apache-airflow`` ``>=2.7.0``
159
+ ``apache-airflow-providers-common-compat`` ``>=1.1.0``
160
+ ``apache-airflow-providers-common-sql`` ``>=1.3.1``
156
161
  ``apache-airflow-providers-http``
157
- ``boto3`` ``>=1.34.90``
158
- ``botocore`` ``>=1.34.90``
159
- ``inflection`` ``>=0.5.1``
160
- ``watchtower`` ``>=3.0.0,<4``
161
- ``jsonpath_ng`` ``>=1.5.3``
162
- ``redshift_connector`` ``>=2.0.918``
163
- ``sqlalchemy_redshift`` ``>=0.8.6``
164
- ``asgiref`` ``>=2.3.0``
165
- ``PyAthena`` ``>=3.0.10``
166
- ``jmespath`` ``>=0.7.0``
167
- ======================================= ==================
162
+ ``apache-airflow-providers-common-compat`` ``>=1.1.0``
163
+ ``boto3`` ``>=1.34.90``
164
+ ``botocore`` ``>=1.34.90``
165
+ ``inflection`` ``>=0.5.1``
166
+ ``watchtower`` ``>=3.0.0,<4``
167
+ ``jsonpath_ng`` ``>=1.5.3``
168
+ ``redshift_connector`` ``>=2.0.918``
169
+ ``sqlalchemy_redshift`` ``>=0.8.6``
170
+ ``asgiref`` ``>=2.3.0``
171
+ ``PyAthena`` ``>=3.0.10``
172
+ ``jmespath`` ``>=0.7.0``
173
+ ========================================== ==================
168
174
 
169
175
  Cross provider package dependencies
170
176
  -----------------------------------
@@ -184,6 +190,7 @@ Dependent package
184
190
  ====================================================================================================================== ===================
185
191
  `apache-airflow-providers-apache-hive <https://airflow.apache.org/docs/apache-airflow-providers-apache-hive>`_ ``apache.hive``
186
192
  `apache-airflow-providers-cncf-kubernetes <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes>`_ ``cncf.kubernetes``
193
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
187
194
  `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
188
195
  `apache-airflow-providers-exasol <https://airflow.apache.org/docs/apache-airflow-providers-exasol>`_ ``exasol``
189
196
  `apache-airflow-providers-ftp <https://airflow.apache.org/docs/apache-airflow-providers-ftp>`_ ``ftp``
@@ -198,4 +205,4 @@ Dependent package
198
205
  ====================================================================================================================== ===================
199
206
 
200
207
  The changelog for the provider package can be found in the
201
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/changelog.html>`_.
208
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-amazon``
44
44
 
45
- Release: ``8.26.0.rc2``
45
+ Release: ``8.27.0.rc1``
46
46
 
47
47
 
48
48
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -55,7 +55,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
55
55
  are in ``airflow.providers.amazon`` python package.
56
56
 
57
57
  You can find package information and changelog for the provider
58
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/>`_.
59
59
 
60
60
  Installation
61
61
  ------------
@@ -69,23 +69,25 @@ The package supports the following python versions: 3.8,3.9,3.10,3.11,3.12
69
69
  Requirements
70
70
  ------------
71
71
 
72
- ======================================= ==================
73
- PIP package Version required
74
- ======================================= ==================
75
- ``apache-airflow`` ``>=2.7.0``
76
- ``apache-airflow-providers-common-sql`` ``>=1.3.1``
72
+ ========================================== ==================
73
+ PIP package Version required
74
+ ========================================== ==================
75
+ ``apache-airflow`` ``>=2.7.0``
76
+ ``apache-airflow-providers-common-compat`` ``>=1.1.0``
77
+ ``apache-airflow-providers-common-sql`` ``>=1.3.1``
77
78
  ``apache-airflow-providers-http``
78
- ``boto3`` ``>=1.34.90``
79
- ``botocore`` ``>=1.34.90``
80
- ``inflection`` ``>=0.5.1``
81
- ``watchtower`` ``>=3.0.0,<4``
82
- ``jsonpath_ng`` ``>=1.5.3``
83
- ``redshift_connector`` ``>=2.0.918``
84
- ``sqlalchemy_redshift`` ``>=0.8.6``
85
- ``asgiref`` ``>=2.3.0``
86
- ``PyAthena`` ``>=3.0.10``
87
- ``jmespath`` ``>=0.7.0``
88
- ======================================= ==================
79
+ ``apache-airflow-providers-common-compat`` ``>=1.1.0``
80
+ ``boto3`` ``>=1.34.90``
81
+ ``botocore`` ``>=1.34.90``
82
+ ``inflection`` ``>=0.5.1``
83
+ ``watchtower`` ``>=3.0.0,<4``
84
+ ``jsonpath_ng`` ``>=1.5.3``
85
+ ``redshift_connector`` ``>=2.0.918``
86
+ ``sqlalchemy_redshift`` ``>=0.8.6``
87
+ ``asgiref`` ``>=2.3.0``
88
+ ``PyAthena`` ``>=3.0.10``
89
+ ``jmespath`` ``>=0.7.0``
90
+ ========================================== ==================
89
91
 
90
92
  Cross provider package dependencies
91
93
  -----------------------------------
@@ -105,6 +107,7 @@ Dependent package
105
107
  ====================================================================================================================== ===================
106
108
  `apache-airflow-providers-apache-hive <https://airflow.apache.org/docs/apache-airflow-providers-apache-hive>`_ ``apache.hive``
107
109
  `apache-airflow-providers-cncf-kubernetes <https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes>`_ ``cncf.kubernetes``
110
+ `apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
108
111
  `apache-airflow-providers-common-sql <https://airflow.apache.org/docs/apache-airflow-providers-common-sql>`_ ``common.sql``
109
112
  `apache-airflow-providers-exasol <https://airflow.apache.org/docs/apache-airflow-providers-exasol>`_ ``exasol``
110
113
  `apache-airflow-providers-ftp <https://airflow.apache.org/docs/apache-airflow-providers-ftp>`_ ``ftp``
@@ -119,4 +122,4 @@ Dependent package
119
122
  ====================================================================================================================== ===================
120
123
 
121
124
  The changelog for the provider package can be found in the
122
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/changelog.html>`_.
125
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html>`_.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "8.26.0"
32
+ __version__ = "8.27.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.7.0"
@@ -0,0 +1,45 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ from __future__ import annotations
18
+
19
+ from typing import TYPE_CHECKING
20
+
21
+ from airflow.datasets import Dataset
22
+ from airflow.providers.amazon.aws.hooks.s3 import S3Hook
23
+
24
+ if TYPE_CHECKING:
25
+ from urllib.parse import SplitResult
26
+
27
+ from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
28
+
29
+
30
+ def create_dataset(*, bucket: str, key: str, extra=None) -> Dataset:
31
+ return Dataset(uri=f"s3://{bucket}/{key}", extra=extra)
32
+
33
+
34
+ def sanitize_uri(uri: SplitResult) -> SplitResult:
35
+ if not uri.netloc:
36
+ raise ValueError("URI format s3:// must contain a bucket name")
37
+ return uri
38
+
39
+
40
+ def convert_dataset_to_openlineage(dataset: Dataset, lineage_context) -> OpenLineageDataset:
41
+ """Translate Dataset with valid AIP-60 uri to OpenLineage with assistance from the hook."""
42
+ from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
43
+
44
+ bucket, key = S3Hook.parse_s3_url(dataset.uri)
45
+ return OpenLineageDataset(namespace=f"s3://{bucket}", name=key if key else "/")
@@ -19,10 +19,9 @@
19
19
 
20
20
  from __future__ import annotations
21
21
 
22
- import contextlib
23
- import logging
24
22
  import time
25
23
  from collections import deque
24
+ from contextlib import suppress
26
25
  from copy import deepcopy
27
26
  from typing import TYPE_CHECKING, Any, Dict, List, Sequence
28
27
 
@@ -292,12 +291,19 @@ class AwsBatchExecutor(BaseExecutor):
292
291
 
293
292
  if failure_reason:
294
293
  if attempt_number >= int(self.__class__.MAX_SUBMIT_JOB_ATTEMPTS):
295
- self.send_message_to_task_logs(
296
- logging.ERROR,
297
- "This job has been unsuccessfully attempted too many times (%s). Dropping the task. Reason: %s",
294
+ self.log.error(
295
+ (
296
+ "This job has been unsuccessfully attempted too many times (%s). "
297
+ "Dropping the task. Reason: %s"
298
+ ),
298
299
  attempt_number,
299
300
  failure_reason,
300
- ti=key,
301
+ )
302
+ self.log_task_event(
303
+ event="batch job submit failure",
304
+ extra=f"This job has been unsuccessfully attempted too many times ({attempt_number}). "
305
+ f"Dropping the task. Reason: {failure_reason}",
306
+ ti_key=key,
301
307
  )
302
308
  self.fail(key=key)
303
309
  else:
@@ -317,7 +323,7 @@ class AwsBatchExecutor(BaseExecutor):
317
323
  exec_config=exec_config,
318
324
  attempt_number=attempt_number,
319
325
  )
320
- with contextlib.suppress(AttributeError):
326
+ with suppress(AttributeError):
321
327
  # TODO: Remove this when min_airflow_version is 2.10.0 or higher in Amazon provider.
322
328
  # running_state is added in Airflow 2.10 and only needed to support task adoption
323
329
  # (an optional executor feature).
@@ -458,10 +464,11 @@ class AwsBatchExecutor(BaseExecutor):
458
464
  not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
459
465
  return not_adopted_tis
460
466
 
461
- def send_message_to_task_logs(self, level: int, msg: str, *args, ti: TaskInstance | TaskInstanceKey):
467
+ def log_task_event(self, *, event: str, extra: str, ti_key: TaskInstanceKey):
462
468
  # TODO: remove this method when min_airflow_version is set to higher than 2.10.0
463
- try:
464
- super().send_message_to_task_logs(level, msg, *args, ti=ti)
465
- except AttributeError:
466
- # ``send_message_to_task_logs`` is added in 2.10.0
467
- self.log.error(msg, *args)
469
+ with suppress(AttributeError):
470
+ super().log_task_event(
471
+ event=event,
472
+ extra=extra,
473
+ ti_key=ti_key,
474
+ )
@@ -23,9 +23,9 @@ Each Airflow task gets delegated out to an Amazon ECS Task.
23
23
 
24
24
  from __future__ import annotations
25
25
 
26
- import logging
27
26
  import time
28
27
  from collections import defaultdict, deque
28
+ from contextlib import suppress
29
29
  from copy import deepcopy
30
30
  from typing import TYPE_CHECKING, Sequence
31
31
 
@@ -385,18 +385,28 @@ class AwsEcsExecutor(BaseExecutor):
385
385
  )
386
386
  self.pending_tasks.append(ecs_task)
387
387
  else:
388
- self.send_message_to_task_logs(
389
- logging.ERROR,
388
+ reasons_str = ", ".join(failure_reasons)
389
+ self.log.error(
390
390
  "ECS task %s has failed a maximum of %s times. Marking as failed. Reasons: %s",
391
391
  task_key,
392
392
  attempt_number,
393
- ", ".join(failure_reasons),
394
- ti=task_key,
393
+ reasons_str,
394
+ )
395
+ self.log_task_event(
396
+ event="ecs task submit failure",
397
+ ti_key=task_key,
398
+ extra=(
399
+ f"Task could not be queued after {attempt_number} attempts. "
400
+ f"Marking as failed. Reasons: {reasons_str}"
401
+ ),
395
402
  )
396
403
  self.fail(task_key)
397
404
  elif not run_task_response["tasks"]:
398
- self.send_message_to_task_logs(
399
- logging.ERROR, "ECS RunTask Response: %s", run_task_response, ti=task_key
405
+ self.log.error("ECS RunTask Response: %s", run_task_response)
406
+ self.log_task_event(
407
+ event="ecs task submit failure",
408
+ extra=f"ECS RunTask Response: {run_task_response}",
409
+ ti_key=task_key,
400
410
  )
401
411
  raise EcsExecutorException(
402
412
  "No failures and no ECS tasks provided in response. This should never happen."
@@ -543,10 +553,11 @@ class AwsEcsExecutor(BaseExecutor):
543
553
  not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
544
554
  return not_adopted_tis
545
555
 
546
- def send_message_to_task_logs(self, level: int, msg: str, *args, ti: TaskInstance | TaskInstanceKey):
556
+ def log_task_event(self, *, event: str, extra: str, ti_key: TaskInstanceKey):
547
557
  # TODO: remove this method when min_airflow_version is set to higher than 2.10.0
548
- try:
549
- super().send_message_to_task_logs(level, msg, *args, ti=ti)
550
- except AttributeError:
551
- # ``send_message_to_task_logs`` is added in 2.10.0
552
- self.log.error(msg, *args)
558
+ with suppress(AttributeError):
559
+ super().log_task_event(
560
+ event=event,
561
+ extra=extra,
562
+ ti_key=ti_key,
563
+ )
@@ -0,0 +1,65 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ from __future__ import annotations
18
+
19
+ from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
20
+
21
+
22
+ class KinesisAnalyticsV2Hook(AwsBaseHook):
23
+ """
24
+ Interact with Amazon Kinesis Analytics V2.
25
+
26
+ Provide thin wrapper around :external+boto3:py:class:`boto3.client("kinesisanalyticsv2") <KinesisAnalyticsV2.Client>`.
27
+
28
+ Additional arguments (such as ``aws_conn_id``) may be specified and
29
+ are passed down to the underlying AwsBaseHook.
30
+
31
+ .. seealso::
32
+ - :class:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`
33
+ """
34
+
35
+ APPLICATION_START_INTERMEDIATE_STATES: tuple[str, ...] = ("STARTING", "UPDATING", "AUTOSCALING")
36
+ APPLICATION_START_FAILURE_STATES: tuple[str, ...] = (
37
+ "DELETING",
38
+ "STOPPING",
39
+ "READY",
40
+ "FORCE_STOPPING",
41
+ "ROLLING_BACK",
42
+ "MAINTENANCE",
43
+ "ROLLED_BACK",
44
+ )
45
+ APPLICATION_START_SUCCESS_STATES: tuple[str, ...] = ("RUNNING",)
46
+
47
+ APPLICATION_STOP_INTERMEDIATE_STATES: tuple[str, ...] = (
48
+ "STARTING",
49
+ "UPDATING",
50
+ "AUTOSCALING",
51
+ "RUNNING",
52
+ "STOPPING",
53
+ "FORCE_STOPPING",
54
+ )
55
+ APPLICATION_STOP_FAILURE_STATES: tuple[str, ...] = (
56
+ "DELETING",
57
+ "ROLLING_BACK",
58
+ "MAINTENANCE",
59
+ "ROLLED_BACK",
60
+ )
61
+ APPLICATION_STOP_SUCCESS_STATES: tuple[str, ...] = ("READY",)
62
+
63
+ def __init__(self, *args, **kwargs) -> None:
64
+ kwargs["client_type"] = "kinesisanalyticsv2"
65
+ super().__init__(*args, **kwargs)
@@ -259,7 +259,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
259
259
  return self.get_db_instance_state(db_instance_id)
260
260
 
261
261
  target_state = target_state.lower()
262
- if target_state in ("available", "deleted"):
262
+ if target_state in ("available", "deleted", "stopped"):
263
263
  waiter = self.conn.get_waiter(f"db_instance_{target_state}") # type: ignore
264
264
  wait(
265
265
  waiter=waiter,
@@ -272,7 +272,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
272
272
  )
273
273
  else:
274
274
  self._wait_for_state(poke, target_state, check_interval, max_attempts)
275
- self.log.info("DB cluster snapshot '%s' reached the '%s' state", db_instance_id, target_state)
275
+ self.log.info("DB cluster '%s' reached the '%s' state", db_instance_id, target_state)
276
276
 
277
277
  def get_db_cluster_state(self, db_cluster_id: str) -> str:
278
278
  """
@@ -310,7 +310,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
310
310
  return self.get_db_cluster_state(db_cluster_id)
311
311
 
312
312
  target_state = target_state.lower()
313
- if target_state in ("available", "deleted"):
313
+ if target_state in ("available", "deleted", "stopped"):
314
314
  waiter = self.conn.get_waiter(f"db_cluster_{target_state}") # type: ignore
315
315
  waiter.wait(
316
316
  DBClusterIdentifier=db_cluster_id,
@@ -41,6 +41,8 @@ from typing import TYPE_CHECKING, Any, AsyncIterator, Callable
41
41
  from urllib.parse import urlsplit
42
42
  from uuid import uuid4
43
43
 
44
+ from airflow.providers.common.compat.lineage.hook import get_hook_lineage_collector
45
+
44
46
  if TYPE_CHECKING:
45
47
  from mypy_boto3_s3.service_resource import Bucket as S3Bucket, Object as S3ResourceObject
46
48
 
@@ -1111,6 +1113,12 @@ class S3Hook(AwsBaseHook):
1111
1113
 
1112
1114
  client = self.get_conn()
1113
1115
  client.upload_file(filename, bucket_name, key, ExtraArgs=extra_args, Config=self.transfer_config)
1116
+ get_hook_lineage_collector().add_input_dataset(
1117
+ context=self, scheme="file", dataset_kwargs={"path": filename}
1118
+ )
1119
+ get_hook_lineage_collector().add_output_dataset(
1120
+ context=self, scheme="s3", dataset_kwargs={"bucket": bucket_name, "key": key}
1121
+ )
1114
1122
 
1115
1123
  @unify_bucket_name_and_key
1116
1124
  @provide_bucket_name
@@ -1251,6 +1259,10 @@ class S3Hook(AwsBaseHook):
1251
1259
  ExtraArgs=extra_args,
1252
1260
  Config=self.transfer_config,
1253
1261
  )
1262
+ # No input because file_obj can be anything - handle in calling function if possible
1263
+ get_hook_lineage_collector().add_output_dataset(
1264
+ context=self, scheme="s3", dataset_kwargs={"bucket": bucket_name, "key": key}
1265
+ )
1254
1266
 
1255
1267
  def copy_object(
1256
1268
  self,
@@ -1306,6 +1318,12 @@ class S3Hook(AwsBaseHook):
1306
1318
  response = self.get_conn().copy_object(
1307
1319
  Bucket=dest_bucket_name, Key=dest_bucket_key, CopySource=copy_source, **kwargs
1308
1320
  )
1321
+ get_hook_lineage_collector().add_input_dataset(
1322
+ context=self, scheme="s3", dataset_kwargs={"bucket": source_bucket_name, "key": source_bucket_key}
1323
+ )
1324
+ get_hook_lineage_collector().add_output_dataset(
1325
+ context=self, scheme="s3", dataset_kwargs={"bucket": dest_bucket_name, "key": dest_bucket_key}
1326
+ )
1309
1327
  return response
1310
1328
 
1311
1329
  @provide_bucket_name
@@ -1425,6 +1443,11 @@ class S3Hook(AwsBaseHook):
1425
1443
 
1426
1444
  file_path.parent.mkdir(exist_ok=True, parents=True)
1427
1445
 
1446
+ get_hook_lineage_collector().add_output_dataset(
1447
+ context=self,
1448
+ scheme="file",
1449
+ dataset_kwargs={"path": file_path if file_path.is_absolute() else file_path.absolute()},
1450
+ )
1428
1451
  file = open(file_path, "wb")
1429
1452
  else:
1430
1453
  file = NamedTemporaryFile(dir=local_path, prefix="airflow_tmp_", delete=False) # type: ignore
@@ -1435,7 +1458,9 @@ class S3Hook(AwsBaseHook):
1435
1458
  ExtraArgs=self.extra_args,
1436
1459
  Config=self.transfer_config,
1437
1460
  )
1438
-
1461
+ get_hook_lineage_collector().add_input_dataset(
1462
+ context=self, scheme="s3", dataset_kwargs={"bucket": bucket_name, "key": key}
1463
+ )
1439
1464
  return file.name
1440
1465
 
1441
1466
  def generate_presigned_url(
@@ -18,6 +18,7 @@ from __future__ import annotations
18
18
 
19
19
  import json
20
20
 
21
+ from airflow.exceptions import AirflowFailException
21
22
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
22
23
 
23
24
 
@@ -43,6 +44,7 @@ class StepFunctionHook(AwsBaseHook):
43
44
  state_machine_arn: str,
44
45
  name: str | None = None,
45
46
  state_machine_input: dict | str | None = None,
47
+ is_redrive_execution: bool = False,
46
48
  ) -> str:
47
49
  """
48
50
  Start Execution of the State Machine.
@@ -51,10 +53,26 @@ class StepFunctionHook(AwsBaseHook):
51
53
  - :external+boto3:py:meth:`SFN.Client.start_execution`
52
54
 
53
55
  :param state_machine_arn: AWS Step Function State Machine ARN.
56
+ :param is_redrive_execution: Restarts unsuccessful executions of Standard workflows that did not
57
+ complete successfully in the last 14 days.
54
58
  :param name: The name of the execution.
55
59
  :param state_machine_input: JSON data input to pass to the State Machine.
56
60
  :return: Execution ARN.
57
61
  """
62
+ if is_redrive_execution:
63
+ if not name:
64
+ raise AirflowFailException(
65
+ "Execution name is required to start RedriveExecution for %s.", state_machine_arn
66
+ )
67
+ elements = state_machine_arn.split(":stateMachine:")
68
+ execution_arn = f"{elements[0]}:execution:{elements[1]}:{name}"
69
+ self.conn.redrive_execution(executionArn=execution_arn)
70
+ self.log.info(
71
+ "Successfully started RedriveExecution for Step Function State Machine: %s.",
72
+ state_machine_arn,
73
+ )
74
+ return execution_arn
75
+
58
76
  execution_args = {"stateMachineArn": state_machine_arn}
59
77
  if name is not None:
60
78
  execution_args["name"] = name