apache-airflow-providers-amazon 8.27.0rc1__tar.gz → 8.28.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.
Files changed (254) hide show
  1. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/PKG-INFO +12 -12
  2. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/README.rst +4 -4
  3. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/__init__.py +3 -3
  4. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/batch_client.py +3 -0
  5. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/rds.py +2 -2
  6. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/batch.py +8 -0
  7. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/emr.py +23 -23
  8. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/redshift_cluster.py +67 -51
  9. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/redshift_data.py +3 -3
  10. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/sagemaker.py +4 -15
  11. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/athena.py +2 -6
  12. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/batch.py +7 -33
  13. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/bedrock.py +1 -4
  14. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/cloud_formation.py +2 -11
  15. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/comprehend.py +1 -7
  16. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/dms.py +5 -11
  17. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/ec2.py +2 -6
  18. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/ecs.py +4 -6
  19. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/eks.py +5 -7
  20. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/emr.py +9 -36
  21. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/glacier.py +2 -6
  22. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/glue.py +0 -9
  23. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +2 -6
  24. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/glue_crawler.py +2 -6
  25. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/kinesis_analytics.py +1 -4
  26. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/lambda_function.py +4 -6
  27. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +1 -4
  28. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/quicksight.py +2 -5
  29. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +2 -6
  30. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/s3.py +3 -14
  31. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/sagemaker.py +4 -6
  32. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/sqs.py +3 -11
  33. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/step_function.py +2 -6
  34. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +41 -10
  35. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/eks.py +2 -4
  36. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/sagemaker.py +9 -1
  37. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +12 -0
  38. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/get_provider_info.py +3 -2
  39. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/pyproject.toml +8 -8
  40. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/LICENSE +0 -0
  41. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/__init__.py +0 -0
  42. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
  43. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
  44. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
  45. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
  46. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
  47. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +0 -0
  48. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
  49. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
  50. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
  51. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
  52. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
  53. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
  54. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
  55. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
  56. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
  57. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
  58. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/datasets/__init__.py +0 -0
  59. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/datasets/s3.py +0 -0
  60. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/exceptions.py +0 -0
  61. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
  62. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
  63. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
  64. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
  65. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
  66. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
  67. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
  68. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
  69. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
  70. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +0 -0
  71. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
  72. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
  73. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
  74. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
  75. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
  76. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
  77. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/fs/s3.py +0 -0
  78. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
  79. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
  80. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
  81. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
  82. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
  83. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
  84. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
  85. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
  86. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
  87. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
  88. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
  89. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
  90. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
  91. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
  92. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
  93. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
  94. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
  95. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
  96. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
  97. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
  98. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
  99. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
  100. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
  101. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
  102. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
  103. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
  104. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
  105. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/kinesis_analytics.py +0 -0
  106. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
  107. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
  108. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
  109. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
  110. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
  111. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
  112. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
  113. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
  114. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/s3.py +0 -0
  115. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
  116. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
  117. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
  118. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
  119. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
  120. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
  121. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
  122. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
  123. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
  124. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/__init__.py +0 -0
  125. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/athena.py +0 -0
  126. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
  127. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/batch.py +0 -0
  128. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/emr.py +0 -0
  129. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/glue.py +0 -0
  130. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/logs.py +0 -0
  131. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/links/step_function.py +0 -0
  132. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/log/__init__.py +0 -0
  133. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
  134. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
  135. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
  136. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
  137. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
  138. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
  139. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
  140. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
  141. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/athena.py +0 -0
  142. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
  143. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
  144. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
  145. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
  146. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
  147. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/dms.py +0 -0
  148. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
  149. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
  150. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/eks.py +0 -0
  151. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
  152. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
  153. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/glue.py +0 -0
  154. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
  155. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
  156. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/kinesis_analytics.py +0 -0
  157. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
  158. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
  159. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
  160. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/rds.py +0 -0
  161. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/s3.py +0 -0
  162. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/sns.py +0 -0
  163. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
  164. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
  165. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
  166. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
  167. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
  168. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
  169. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
  170. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
  171. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
  172. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
  173. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
  174. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/base.py +0 -0
  175. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
  176. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
  177. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
  178. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
  179. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
  180. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
  181. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
  182. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
  183. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
  184. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
  185. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +0 -0
  186. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
  187. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
  188. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
  189. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
  190. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
  191. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
  192. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
  193. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
  194. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/README.md +0 -0
  195. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
  196. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
  197. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/base.py +0 -0
  198. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
  199. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
  200. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
  201. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
  202. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
  203. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
  204. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
  205. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
  206. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
  207. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/kinesis_analytics.py +0 -0
  208. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
  209. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
  210. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
  211. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
  212. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
  213. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
  214. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
  215. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
  216. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
  217. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
  218. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
  219. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
  220. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
  221. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
  222. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
  223. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/rds.py +0 -0
  224. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
  225. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
  226. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
  227. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
  228. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/tags.py +0 -0
  229. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
  230. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
  231. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/README.md +0 -0
  232. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
  233. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
  234. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
  235. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
  236. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
  237. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
  238. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
  239. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
  240. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
  241. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
  242. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
  243. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
  244. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
  245. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
  246. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
  247. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
  248. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/kinesisanalyticsv2.json +0 -0
  249. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
  250. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
  251. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/rds.json +0 -0
  252. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
  253. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
  254. {apache_airflow_providers_amazon-8.27.0rc1 → apache_airflow_providers_amazon-8.28.0}/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.27.0rc1
3
+ Version: 8.28.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>
@@ -22,11 +22,11 @@ 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
27
- Requires-Dist: apache-airflow-providers-common-sql>=1.3.1rc0
25
+ Requires-Dist: apache-airflow-providers-common-compat>=1.1.0
26
+ Requires-Dist: apache-airflow-providers-common-compat>=1.1.0
27
+ Requires-Dist: apache-airflow-providers-common-sql>=1.3.1
28
28
  Requires-Dist: apache-airflow-providers-http
29
- Requires-Dist: apache-airflow>=2.7.0rc0
29
+ Requires-Dist: apache-airflow>=2.8.0
30
30
  Requires-Dist: asgiref>=2.3.0
31
31
  Requires-Dist: boto3>=1.34.90
32
32
  Requires-Dist: botocore>=1.34.90
@@ -38,7 +38,7 @@ Requires-Dist: sqlalchemy_redshift>=0.8.6
38
38
  Requires-Dist: watchtower>=3.0.0,<4
39
39
  Requires-Dist: aiobotocore[boto3]>=2.13.0 ; extra == "aiobotocore"
40
40
  Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache.hive"
41
- Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0rc0 ; extra == "cncf.kubernetes"
41
+ Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0 ; extra == "cncf.kubernetes"
42
42
  Requires-Dist: apache-airflow-providers-common-compat ; extra == "common.compat"
43
43
  Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
44
44
  Requires-Dist: apache-airflow-providers-exasol ; extra == "exasol"
@@ -56,8 +56,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
56
56
  Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
57
57
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
58
58
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
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
59
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/changelog.html
60
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0
61
61
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
62
62
  Project-URL: Source Code, https://github.com/apache/airflow
63
63
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -125,7 +125,7 @@ Provides-Extra: ssh
125
125
 
126
126
  Package ``apache-airflow-providers-amazon``
127
127
 
128
- Release: ``8.27.0.rc1``
128
+ Release: ``8.28.0``
129
129
 
130
130
 
131
131
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -138,7 +138,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
138
138
  are in ``airflow.providers.amazon`` python package.
139
139
 
140
140
  You can find package information and changelog for the provider
141
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/>`_.
141
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/>`_.
142
142
 
143
143
  Installation
144
144
  ------------
@@ -155,7 +155,7 @@ Requirements
155
155
  ========================================== ==================
156
156
  PIP package Version required
157
157
  ========================================== ==================
158
- ``apache-airflow`` ``>=2.7.0``
158
+ ``apache-airflow`` ``>=2.8.0``
159
159
  ``apache-airflow-providers-common-compat`` ``>=1.1.0``
160
160
  ``apache-airflow-providers-common-sql`` ``>=1.3.1``
161
161
  ``apache-airflow-providers-http``
@@ -205,4 +205,4 @@ Dependent package
205
205
  ====================================================================================================================== ===================
206
206
 
207
207
  The changelog for the provider package can be found in the
208
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html>`_.
208
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-amazon``
44
44
 
45
- Release: ``8.27.0.rc1``
45
+ Release: ``8.28.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/8.27.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/>`_.
59
59
 
60
60
  Installation
61
61
  ------------
@@ -72,7 +72,7 @@ Requirements
72
72
  ========================================== ==================
73
73
  PIP package Version required
74
74
  ========================================== ==================
75
- ``apache-airflow`` ``>=2.7.0``
75
+ ``apache-airflow`` ``>=2.8.0``
76
76
  ``apache-airflow-providers-common-compat`` ``>=1.1.0``
77
77
  ``apache-airflow-providers-common-sql`` ``>=1.3.1``
78
78
  ``apache-airflow-providers-http``
@@ -122,4 +122,4 @@ Dependent package
122
122
  ====================================================================================================================== ===================
123
123
 
124
124
  The changelog for the provider package can be found in the
125
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.27.0/changelog.html>`_.
125
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.28.0/changelog.html>`_.
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "8.27.0"
32
+ __version__ = "8.28.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
- "2.7.0"
35
+ "2.8.0"
36
36
  ):
37
37
  raise RuntimeError(
38
- f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.7.0+"
38
+ f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.8.0+"
39
39
  )
@@ -103,6 +103,7 @@ class BatchProtocol(Protocol):
103
103
  parameters: dict,
104
104
  containerOverrides: dict,
105
105
  ecsPropertiesOverride: dict,
106
+ eksPropertiesOverride: dict,
106
107
  tags: dict,
107
108
  ) -> dict:
108
109
  """
@@ -122,6 +123,8 @@ class BatchProtocol(Protocol):
122
123
 
123
124
  :param ecsPropertiesOverride: the same parameter that boto3 will receive
124
125
 
126
+ :param eksPropertiesOverride: the same parameter that boto3 will receive
127
+
125
128
  :param tags: the same parameter that boto3 will receive
126
129
 
127
130
  :return: an API response
@@ -155,7 +155,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
155
155
  try:
156
156
  response = self.conn.describe_export_tasks(ExportTaskIdentifier=export_task_id)
157
157
  except self.conn.exceptions.ClientError as e:
158
- if e.response["Error"]["Code"] == "ExportTaskNotFoundFault":
158
+ if e.response["Error"]["Code"] in ("ExportTaskNotFound", "ExportTaskNotFoundFault"):
159
159
  raise AirflowNotFoundException(e)
160
160
  raise e
161
161
  return response["ExportTasks"][0]["Status"].lower()
@@ -196,7 +196,7 @@ class RdsHook(AwsGenericHook["RDSClient"]):
196
196
  try:
197
197
  response = self.conn.describe_event_subscriptions(SubscriptionName=subscription_name)
198
198
  except self.conn.exceptions.ClientError as e:
199
- if e.response["Error"]["Code"] == "SubscriptionNotFoundFault":
199
+ if e.response["Error"]["Code"] in ("SubscriptionNotFoundFault", "SubscriptionNotFound"):
200
200
  raise AirflowNotFoundException(e)
201
201
  raise e
202
202
  return response["EventSubscriptionsList"][0]["Status"].lower()
@@ -68,6 +68,7 @@ class BatchOperator(BaseOperator):
68
68
  :param overrides: DEPRECATED, use container_overrides instead with the same value.
69
69
  :param container_overrides: the `containerOverrides` parameter for boto3 (templated)
70
70
  :param ecs_properties_override: the `ecsPropertiesOverride` parameter for boto3 (templated)
71
+ :param eks_properties_override: the `eksPropertiesOverride` parameter for boto3 (templated)
71
72
  :param node_overrides: the `nodeOverrides` parameter for boto3 (templated)
72
73
  :param share_identifier: The share identifier for the job. Don't specify this parameter if the job queue
73
74
  doesn't have a scheduling policy.
@@ -116,6 +117,7 @@ class BatchOperator(BaseOperator):
116
117
  "container_overrides",
117
118
  "array_properties",
118
119
  "ecs_properties_override",
120
+ "eks_properties_override",
119
121
  "node_overrides",
120
122
  "parameters",
121
123
  "retry_strategy",
@@ -129,6 +131,7 @@ class BatchOperator(BaseOperator):
129
131
  "container_overrides": "json",
130
132
  "parameters": "json",
131
133
  "ecs_properties_override": "json",
134
+ "eks_properties_override": "json",
132
135
  "node_overrides": "json",
133
136
  "retry_strategy": "json",
134
137
  }
@@ -166,6 +169,7 @@ class BatchOperator(BaseOperator):
166
169
  container_overrides: dict | None = None,
167
170
  array_properties: dict | None = None,
168
171
  ecs_properties_override: dict | None = None,
172
+ eks_properties_override: dict | None = None,
169
173
  node_overrides: dict | None = None,
170
174
  share_identifier: str | None = None,
171
175
  scheduling_priority_override: int | None = None,
@@ -208,6 +212,7 @@ class BatchOperator(BaseOperator):
208
212
  )
209
213
 
210
214
  self.ecs_properties_override = ecs_properties_override
215
+ self.eks_properties_override = eks_properties_override
211
216
  self.node_overrides = node_overrides
212
217
  self.share_identifier = share_identifier
213
218
  self.scheduling_priority_override = scheduling_priority_override
@@ -307,6 +312,8 @@ class BatchOperator(BaseOperator):
307
312
  self.log.info("AWS Batch job - array properties: %s", self.array_properties)
308
313
  if self.ecs_properties_override:
309
314
  self.log.info("AWS Batch job - ECS properties: %s", self.ecs_properties_override)
315
+ if self.eks_properties_override:
316
+ self.log.info("AWS Batch job - EKS properties: %s", self.eks_properties_override)
310
317
  if self.node_overrides:
311
318
  self.log.info("AWS Batch job - node properties: %s", self.node_overrides)
312
319
 
@@ -319,6 +326,7 @@ class BatchOperator(BaseOperator):
319
326
  "tags": self.tags,
320
327
  "containerOverrides": self.container_overrides,
321
328
  "ecsPropertiesOverride": self.ecs_properties_override,
329
+ "eksPropertiesOverride": self.eks_properties_override,
322
330
  "nodeOverrides": self.node_overrides,
323
331
  "retryStrategy": self.retry_strategy,
324
332
  "shareIdentifier": self.share_identifier,
@@ -1382,30 +1382,30 @@ class EmrServerlessStartJobOperator(BaseOperator):
1382
1382
 
1383
1383
  self.persist_links(context)
1384
1384
 
1385
- if self.deferrable:
1386
- self.defer(
1387
- trigger=EmrServerlessStartJobTrigger(
1388
- application_id=self.application_id,
1389
- job_id=self.job_id,
1390
- waiter_delay=self.waiter_delay,
1391
- waiter_max_attempts=self.waiter_max_attempts,
1392
- aws_conn_id=self.aws_conn_id,
1393
- ),
1394
- method_name="execute_complete",
1395
- timeout=timedelta(seconds=self.waiter_max_attempts * self.waiter_delay),
1396
- )
1397
-
1398
1385
  if self.wait_for_completion:
1399
- waiter = self.hook.get_waiter("serverless_job_completed")
1400
- wait(
1401
- waiter=waiter,
1402
- waiter_max_attempts=self.waiter_max_attempts,
1403
- waiter_delay=self.waiter_delay,
1404
- args={"applicationId": self.application_id, "jobRunId": self.job_id},
1405
- failure_message="Serverless Job failed",
1406
- status_message="Serverless Job status is",
1407
- status_args=["jobRun.state", "jobRun.stateDetails"],
1408
- )
1386
+ if self.deferrable:
1387
+ self.defer(
1388
+ trigger=EmrServerlessStartJobTrigger(
1389
+ application_id=self.application_id,
1390
+ job_id=self.job_id,
1391
+ waiter_delay=self.waiter_delay,
1392
+ waiter_max_attempts=self.waiter_max_attempts,
1393
+ aws_conn_id=self.aws_conn_id,
1394
+ ),
1395
+ method_name="execute_complete",
1396
+ timeout=timedelta(seconds=self.waiter_max_attempts * self.waiter_delay),
1397
+ )
1398
+ else:
1399
+ waiter = self.hook.get_waiter("serverless_job_completed")
1400
+ wait(
1401
+ waiter=waiter,
1402
+ waiter_max_attempts=self.waiter_max_attempts,
1403
+ waiter_delay=self.waiter_delay,
1404
+ args={"applicationId": self.application_id, "jobRunId": self.job_id},
1405
+ failure_message="Serverless Job failed",
1406
+ status_message="Serverless Job status is",
1407
+ status_args=["jobRun.state", "jobRun.stateDetails"],
1408
+ )
1409
1409
 
1410
1410
  return self.job_id
1411
1411
 
@@ -32,6 +32,7 @@ from airflow.providers.amazon.aws.triggers.redshift_cluster import (
32
32
  RedshiftResumeClusterTrigger,
33
33
  )
34
34
  from airflow.providers.amazon.aws.utils import validate_execute_complete_event
35
+ from airflow.utils.helpers import prune_dict
35
36
 
36
37
  if TYPE_CHECKING:
37
38
  from airflow.utils.context import Context
@@ -507,8 +508,8 @@ class RedshiftResumeClusterOperator(BaseOperator):
507
508
  aws_conn_id: str | None = "aws_default",
508
509
  wait_for_completion: bool = False,
509
510
  deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
510
- poll_interval: int = 10,
511
- max_attempts: int = 10,
511
+ poll_interval: int = 30,
512
+ max_attempts: int = 30,
512
513
  **kwargs,
513
514
  ):
514
515
  super().__init__(**kwargs)
@@ -542,38 +543,38 @@ class RedshiftResumeClusterOperator(BaseOperator):
542
543
  else:
543
544
  raise error
544
545
 
545
- if self.deferrable:
546
- cluster_state = redshift_hook.cluster_status(cluster_identifier=self.cluster_identifier)
547
- if cluster_state == "available":
548
- self.log.info("Resumed cluster successfully")
549
- elif cluster_state == "deleting":
550
- raise AirflowException(
551
- "Unable to resume cluster since cluster is currently in status: %s", cluster_state
552
- )
546
+ if self.wait_for_completion:
547
+ if self.deferrable:
548
+ cluster_state = redshift_hook.cluster_status(cluster_identifier=self.cluster_identifier)
549
+ if cluster_state == "available":
550
+ self.log.info("Resumed cluster successfully")
551
+ elif cluster_state == "deleting":
552
+ raise AirflowException(
553
+ "Unable to resume cluster since cluster is currently in status: %s", cluster_state
554
+ )
555
+ else:
556
+ self.defer(
557
+ trigger=RedshiftResumeClusterTrigger(
558
+ cluster_identifier=self.cluster_identifier,
559
+ waiter_delay=self.poll_interval,
560
+ waiter_max_attempts=self.max_attempts,
561
+ aws_conn_id=self.aws_conn_id,
562
+ ),
563
+ method_name="execute_complete",
564
+ # timeout is set to ensure that if a trigger dies, the timeout does not restart
565
+ # 60 seconds is added to allow the trigger to exit gracefully (i.e. yield TriggerEvent)
566
+ timeout=timedelta(seconds=self.max_attempts * self.poll_interval + 60),
567
+ )
553
568
  else:
554
- self.defer(
555
- trigger=RedshiftResumeClusterTrigger(
556
- cluster_identifier=self.cluster_identifier,
557
- waiter_delay=self.poll_interval,
558
- waiter_max_attempts=self.max_attempts,
559
- aws_conn_id=self.aws_conn_id,
560
- ),
561
- method_name="execute_complete",
562
- # timeout is set to ensure that if a trigger dies, the timeout does not restart
563
- # 60 seconds is added to allow the trigger to exit gracefully (i.e. yield TriggerEvent)
564
- timeout=timedelta(seconds=self.max_attempts * self.poll_interval + 60),
569
+ waiter = redshift_hook.get_waiter("cluster_resumed")
570
+ waiter.wait(
571
+ ClusterIdentifier=self.cluster_identifier,
572
+ WaiterConfig={
573
+ "Delay": self.poll_interval,
574
+ "MaxAttempts": self.max_attempts,
575
+ },
565
576
  )
566
577
 
567
- if self.wait_for_completion:
568
- waiter = redshift_hook.get_waiter("cluster_resumed")
569
- waiter.wait(
570
- ClusterIdentifier=self.cluster_identifier,
571
- WaiterConfig={
572
- "Delay": self.poll_interval,
573
- "MaxAttempts": self.max_attempts,
574
- },
575
- )
576
-
577
578
  def execute_complete(self, context: Context, event: dict[str, Any] | None = None) -> None:
578
579
  event = validate_execute_complete_event(event)
579
580
 
@@ -596,6 +597,7 @@ class RedshiftPauseClusterOperator(BaseOperator):
596
597
  running Airflow in a distributed manner and aws_conn_id is None or
597
598
  empty, then default boto3 configuration would be used (and must be
598
599
  maintained on each worker node).
600
+ :param wait_for_completion: If True, waits for the cluster to be paused. (default: False)
599
601
  :param deferrable: Run operator in the deferrable mode
600
602
  :param poll_interval: Time (in seconds) to wait between two consecutive calls to check cluster state
601
603
  :param max_attempts: Maximum number of attempts to poll the cluster
@@ -610,14 +612,16 @@ class RedshiftPauseClusterOperator(BaseOperator):
610
612
  *,
611
613
  cluster_identifier: str,
612
614
  aws_conn_id: str | None = "aws_default",
615
+ wait_for_completion: bool = False,
613
616
  deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
614
- poll_interval: int = 10,
615
- max_attempts: int = 15,
617
+ poll_interval: int = 30,
618
+ max_attempts: int = 30,
616
619
  **kwargs,
617
620
  ):
618
621
  super().__init__(**kwargs)
619
622
  self.cluster_identifier = cluster_identifier
620
623
  self.aws_conn_id = aws_conn_id
624
+ self.wait_for_completion = wait_for_completion
621
625
  self.deferrable = deferrable
622
626
  self.max_attempts = max_attempts
623
627
  self.poll_interval = poll_interval
@@ -643,26 +647,38 @@ class RedshiftPauseClusterOperator(BaseOperator):
643
647
  time.sleep(self._attempt_interval)
644
648
  else:
645
649
  raise error
646
- if self.deferrable:
647
- cluster_state = redshift_hook.cluster_status(cluster_identifier=self.cluster_identifier)
648
- if cluster_state == "paused":
649
- self.log.info("Paused cluster successfully")
650
- elif cluster_state == "deleting":
651
- raise AirflowException(
652
- f"Unable to pause cluster since cluster is currently in status: {cluster_state}"
653
- )
650
+ if self.wait_for_completion:
651
+ if self.deferrable:
652
+ cluster_state = redshift_hook.cluster_status(cluster_identifier=self.cluster_identifier)
653
+ if cluster_state == "paused":
654
+ self.log.info("Paused cluster successfully")
655
+ elif cluster_state == "deleting":
656
+ raise AirflowException(
657
+ f"Unable to pause cluster since cluster is currently in status: {cluster_state}"
658
+ )
659
+ else:
660
+ self.defer(
661
+ trigger=RedshiftPauseClusterTrigger(
662
+ cluster_identifier=self.cluster_identifier,
663
+ waiter_delay=self.poll_interval,
664
+ waiter_max_attempts=self.max_attempts,
665
+ aws_conn_id=self.aws_conn_id,
666
+ ),
667
+ method_name="execute_complete",
668
+ # timeout is set to ensure that if a trigger dies, the timeout does not restart
669
+ # 60 seconds is added to allow the trigger to exit gracefully (i.e. yield TriggerEvent)
670
+ timeout=timedelta(seconds=self.max_attempts * self.poll_interval + 60),
671
+ )
654
672
  else:
655
- self.defer(
656
- trigger=RedshiftPauseClusterTrigger(
657
- cluster_identifier=self.cluster_identifier,
658
- waiter_delay=self.poll_interval,
659
- waiter_max_attempts=self.max_attempts,
660
- aws_conn_id=self.aws_conn_id,
673
+ waiter = redshift_hook.get_waiter("cluster_paused")
674
+ waiter.wait(
675
+ ClusterIdentifier=self.cluster_identifier,
676
+ WaiterConfig=prune_dict(
677
+ {
678
+ "Delay": self.poll_interval,
679
+ "MaxAttempts": self.max_attempts,
680
+ }
661
681
  ),
662
- method_name="execute_complete",
663
- # timeout is set to ensure that if a trigger dies, the timeout does not restart
664
- # 60 seconds is added to allow the trigger to exit gracefully (i.e. yield TriggerEvent)
665
- timeout=timedelta(seconds=self.max_attempts * self.poll_interval + 60),
666
682
  )
667
683
 
668
684
  def execute_complete(self, context: Context, event: dict[str, Any] | None = None) -> None:
@@ -127,8 +127,8 @@ class RedshiftDataOperator(AwsBaseOperator[RedshiftDataHook]):
127
127
 
128
128
  # Set wait_for_completion to False so that it waits for the status in the deferred task.
129
129
  wait_for_completion = self.wait_for_completion
130
- if self.deferrable and self.wait_for_completion:
131
- self.wait_for_completion = False
130
+ if self.deferrable:
131
+ wait_for_completion = False
132
132
 
133
133
  self.statement_id = self.hook.execute_query(
134
134
  database=self.database,
@@ -144,7 +144,7 @@ class RedshiftDataOperator(AwsBaseOperator[RedshiftDataHook]):
144
144
  poll_interval=self.poll_interval,
145
145
  )
146
146
 
147
- if self.deferrable:
147
+ if self.deferrable and self.wait_for_completion:
148
148
  is_finished = self.hook.check_query_is_finished(self.statement_id)
149
149
  if not is_finished:
150
150
  self.defer(
@@ -36,7 +36,6 @@ from airflow.providers.amazon.aws.hooks.sagemaker import (
36
36
  )
37
37
  from airflow.providers.amazon.aws.triggers.sagemaker import (
38
38
  SageMakerPipelineTrigger,
39
- SageMakerTrainingPrintLogTrigger,
40
39
  SageMakerTrigger,
41
40
  )
42
41
  from airflow.providers.amazon.aws.utils import trim_none_values, validate_execute_complete_event
@@ -1195,25 +1194,15 @@ class SageMakerTrainingOperator(SageMakerBaseOperator):
1195
1194
  if self.max_ingestion_time:
1196
1195
  timeout = datetime.timedelta(seconds=self.max_ingestion_time)
1197
1196
 
1198
- trigger: SageMakerTrainingPrintLogTrigger | SageMakerTrigger
1199
- if self.print_log:
1200
- trigger = SageMakerTrainingPrintLogTrigger(
1201
- job_name=self.config["TrainingJobName"],
1202
- poke_interval=self.check_interval,
1203
- aws_conn_id=self.aws_conn_id,
1204
- )
1205
- else:
1206
- trigger = SageMakerTrigger(
1197
+ self.defer(
1198
+ timeout=timeout,
1199
+ trigger=SageMakerTrigger(
1207
1200
  job_name=self.config["TrainingJobName"],
1208
1201
  job_type="Training",
1209
1202
  poke_interval=self.check_interval,
1210
1203
  max_attempts=self.max_attempts,
1211
1204
  aws_conn_id=self.aws_conn_id,
1212
- )
1213
-
1214
- self.defer(
1215
- timeout=timeout,
1216
- trigger=trigger,
1205
+ ),
1217
1206
  method_name="execute_complete",
1218
1207
  )
1219
1208
 
@@ -25,7 +25,7 @@ from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
25
25
  if TYPE_CHECKING:
26
26
  from airflow.utils.context import Context
27
27
 
28
- from airflow.exceptions import AirflowException, AirflowSkipException
28
+ from airflow.exceptions import AirflowException
29
29
  from airflow.providers.amazon.aws.hooks.athena import AthenaHook
30
30
 
31
31
 
@@ -88,11 +88,7 @@ class AthenaSensor(AwsBaseSensor[AthenaHook]):
88
88
  state = self.hook.poll_query_status(self.query_execution_id, self.max_retries, self.sleep_time)
89
89
 
90
90
  if state in self.FAILURE_STATES:
91
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
92
- message = "Athena sensor failed"
93
- if self.soft_fail:
94
- raise AirflowSkipException(message)
95
- raise AirflowException(message)
91
+ raise AirflowException("Athena sensor failed")
96
92
 
97
93
  if state in self.INTERMEDIATE_STATES:
98
94
  return False
@@ -86,18 +86,7 @@ class BatchSensor(BaseSensorOperator):
86
86
  if state in BatchClientHook.INTERMEDIATE_STATES:
87
87
  return False
88
88
 
89
- if state == BatchClientHook.FAILURE_STATE:
90
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
91
- message = f"Batch sensor failed. AWS Batch job status: {state}"
92
- if self.soft_fail:
93
- raise AirflowSkipException(message)
94
- raise AirflowException(message)
95
-
96
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
97
- message = f"Batch sensor failed. Unknown AWS Batch job status: {state}"
98
- if self.soft_fail:
99
- raise AirflowSkipException(message)
100
- raise AirflowException(message)
89
+ raise AirflowException(f"Batch sensor failed. AWS Batch job status: {state}")
101
90
 
102
91
  def execute(self, context: Context) -> None:
103
92
  if not self.deferrable:
@@ -127,12 +116,7 @@ class BatchSensor(BaseSensorOperator):
127
116
  Relies on trigger to throw an exception, otherwise it assumes execution was successful.
128
117
  """
129
118
  if event["status"] != "success":
130
- message = f"Error while running job: {event}"
131
- # TODO: remove this if-else block when min_airflow_version is set to higher than the version that
132
- # changed in https://github.com/apache/airflow/pull/33424 is released (2.7.1)
133
- if self.soft_fail:
134
- raise AirflowSkipException(message)
135
- raise AirflowException(message)
119
+ raise AirflowException(f"Error while running job: {event}")
136
120
  job_id = event["job_id"]
137
121
  self.log.info("Batch Job %s complete", job_id)
138
122
 
@@ -198,11 +182,7 @@ class BatchComputeEnvironmentSensor(BaseSensorOperator):
198
182
  )
199
183
 
200
184
  if not response["computeEnvironments"]:
201
- message = f"AWS Batch compute environment {self.compute_environment} not found"
202
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
203
- if self.soft_fail:
204
- raise AirflowSkipException(message)
205
- raise AirflowException(message)
185
+ raise AirflowException(f"AWS Batch compute environment {self.compute_environment} not found")
206
186
 
207
187
  status = response["computeEnvironments"][0]["status"]
208
188
 
@@ -212,11 +192,9 @@ class BatchComputeEnvironmentSensor(BaseSensorOperator):
212
192
  if status in BatchClientHook.COMPUTE_ENVIRONMENT_INTERMEDIATE_STATUS:
213
193
  return False
214
194
 
215
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
216
- message = f"AWS Batch compute environment failed. AWS Batch compute environment status: {status}"
217
- if self.soft_fail:
218
- raise AirflowSkipException(message)
219
- raise AirflowException(message)
195
+ raise AirflowException(
196
+ f"AWS Batch compute environment failed. AWS Batch compute environment status: {status}"
197
+ )
220
198
 
221
199
 
222
200
  class BatchJobQueueSensor(BaseSensorOperator):
@@ -276,11 +254,7 @@ class BatchJobQueueSensor(BaseSensorOperator):
276
254
  if self.treat_non_existing_as_deleted:
277
255
  return True
278
256
  else:
279
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
280
- message = f"AWS Batch job queue {self.job_queue} not found"
281
- if self.soft_fail:
282
- raise AirflowSkipException(message)
283
- raise AirflowException(message)
257
+ raise AirflowException(f"AWS Batch job queue {self.job_queue} not found")
284
258
 
285
259
  status = response["jobQueues"][0]["status"]
286
260
 
@@ -21,7 +21,7 @@ import abc
21
21
  from typing import TYPE_CHECKING, Any, Sequence, TypeVar
22
22
 
23
23
  from airflow.configuration import conf
24
- from airflow.exceptions import AirflowException, AirflowSkipException
24
+ from airflow.exceptions import AirflowException
25
25
  from airflow.providers.amazon.aws.hooks.bedrock import BedrockAgentHook, BedrockHook
26
26
  from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
27
27
  from airflow.providers.amazon.aws.triggers.bedrock import (
@@ -76,9 +76,6 @@ class BedrockBaseSensor(AwsBaseSensor[_GenericBedrockHook]):
76
76
  def poke(self, context: Context, **kwargs) -> bool:
77
77
  state = self.get_state()
78
78
  if state in self.FAILURE_STATES:
79
- # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
80
- if self.soft_fail:
81
- raise AirflowSkipException(self.FAILURE_MESSAGE)
82
79
  raise AirflowException(self.FAILURE_MESSAGE)
83
80
 
84
81
  return state not in self.INTERMEDIATE_STATES
@@ -27,7 +27,6 @@ from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
27
27
  if TYPE_CHECKING:
28
28
  from airflow.utils.context import Context
29
29
 
30
- from airflow.exceptions import AirflowSkipException
31
30
  from airflow.providers.amazon.aws.hooks.cloud_formation import CloudFormationHook
32
31
 
33
32
 
@@ -67,11 +66,7 @@ class CloudFormationCreateStackSensor(AwsBaseSensor[CloudFormationHook]):
67
66
  if stack_status in ("CREATE_IN_PROGRESS", None):
68
67
  return False
69
68
 
70
- # TODO: remove this if check when min_airflow_version is set to higher than 2.7.1
71
- message = f"Stack {self.stack_name} in bad state: {stack_status}"
72
- if self.soft_fail:
73
- raise AirflowSkipException(message)
74
- raise ValueError(message)
69
+ raise ValueError(f"Stack {self.stack_name} in bad state: {stack_status}")
75
70
 
76
71
 
77
72
  class CloudFormationDeleteStackSensor(AwsBaseSensor[CloudFormationHook]):
@@ -119,8 +114,4 @@ class CloudFormationDeleteStackSensor(AwsBaseSensor[CloudFormationHook]):
119
114
  if stack_status == "DELETE_IN_PROGRESS":
120
115
  return False
121
116
 
122
- # TODO: remove this if check when min_airflow_version is set to higher than 2.7.1
123
- message = f"Stack {self.stack_name} in bad state: {stack_status}"
124
- if self.soft_fail:
125
- raise AirflowSkipException(message)
126
- raise ValueError(message)
117
+ raise ValueError(f"Stack {self.stack_name} in bad state: {stack_status}")