apache-airflow-providers-amazon 8.24.0rc1__tar.gz → 8.24.0rc2__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 (249) hide show
  1. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/PKG-INFO +15 -14
  2. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/README.rst +6 -6
  3. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/LICENSE +4 -4
  4. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/base_aws.py +8 -3
  5. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/glue.py +123 -0
  6. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/bedrock.py +6 -20
  7. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/emr.py +38 -30
  8. apache_airflow_providers_amazon-8.24.0rc2/airflow/providers/amazon/aws/operators/glue.py +647 -0
  9. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/sagemaker.py +85 -12
  10. apache_airflow_providers_amazon-8.24.0rc2/airflow/providers/amazon/aws/sensors/glue.py +351 -0
  11. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/s3.py +35 -5
  12. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -1
  13. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/glue.py +76 -2
  14. apache_airflow_providers_amazon-8.24.0rc2/airflow/providers/amazon/aws/waiters/glue.json +128 -0
  15. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/get_provider_info.py +18 -12
  16. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/pyproject.toml +9 -8
  17. apache_airflow_providers_amazon-8.24.0rc1/airflow/providers/amazon/aws/operators/glue.py +0 -241
  18. apache_airflow_providers_amazon-8.24.0rc1/airflow/providers/amazon/aws/sensors/glue.py +0 -93
  19. apache_airflow_providers_amazon-8.24.0rc1/airflow/providers/amazon/aws/waiters/glue.json +0 -30
  20. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/__init__.py +0 -0
  21. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/__init__.py +0 -0
  22. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
  23. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
  24. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
  25. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
  26. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
  27. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +0 -0
  28. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
  29. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
  30. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
  31. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
  32. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
  33. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
  34. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
  35. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
  36. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
  37. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
  38. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/exceptions.py +0 -0
  39. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
  40. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
  41. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
  42. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
  43. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
  44. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
  45. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
  46. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
  47. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
  48. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +0 -0
  49. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
  50. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
  51. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
  52. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
  53. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
  54. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
  55. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/fs/s3.py +0 -0
  56. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
  57. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
  58. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
  59. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
  60. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
  61. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
  62. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
  63. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
  64. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
  65. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
  66. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
  67. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
  68. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
  69. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
  70. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
  71. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
  72. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
  73. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
  74. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
  75. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
  76. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
  77. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
  78. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
  79. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
  80. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
  81. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
  82. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
  83. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
  84. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
  85. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
  86. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
  87. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
  88. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
  89. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
  90. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
  91. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/s3.py +0 -0
  92. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
  93. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
  94. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
  95. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
  96. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
  97. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
  98. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
  99. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
  100. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
  101. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/__init__.py +0 -0
  102. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/athena.py +0 -0
  103. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
  104. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/batch.py +0 -0
  105. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/emr.py +0 -0
  106. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/glue.py +0 -0
  107. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/logs.py +0 -0
  108. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/links/step_function.py +0 -0
  109. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/log/__init__.py +0 -0
  110. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
  111. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
  112. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
  113. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
  114. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
  115. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
  116. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
  117. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
  118. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/athena.py +0 -0
  119. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
  120. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/batch.py +0 -0
  121. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
  122. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
  123. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
  124. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/dms.py +0 -0
  125. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
  126. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
  127. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/eks.py +0 -0
  128. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
  129. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
  130. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
  131. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
  132. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
  133. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
  134. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
  135. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/rds.py +0 -0
  136. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/redshift_cluster.py +0 -0
  137. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
  138. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/s3.py +0 -0
  139. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/sns.py +0 -0
  140. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
  141. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
  142. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
  143. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
  144. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
  145. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
  146. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
  147. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
  148. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/batch.py +0 -0
  149. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
  150. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
  151. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/comprehend.py +0 -0
  152. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/dms.py +0 -0
  153. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
  154. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
  155. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
  156. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
  157. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/emr.py +0 -0
  158. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
  159. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +0 -0
  160. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/glue_crawler.py +0 -0
  161. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
  162. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
  163. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
  164. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
  165. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
  166. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
  167. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
  168. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
  169. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
  170. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
  171. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/base.py +0 -0
  172. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
  173. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
  174. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
  175. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
  176. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
  177. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
  178. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
  179. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
  180. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
  181. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
  182. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +0 -0
  183. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
  184. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
  185. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
  186. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
  187. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
  188. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
  189. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
  190. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
  191. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/README.md +0 -0
  192. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
  193. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
  194. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/base.py +0 -0
  195. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
  196. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
  197. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
  198. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
  199. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
  200. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
  201. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
  202. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
  203. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
  204. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
  205. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
  206. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
  207. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
  208. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
  209. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
  210. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
  211. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/sagemaker.py +0 -0
  212. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
  213. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
  214. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
  215. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
  216. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
  217. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
  218. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
  219. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
  220. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/rds.py +0 -0
  221. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
  222. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
  223. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
  224. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
  225. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/tags.py +0 -0
  226. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
  227. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
  228. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
  229. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/README.md +0 -0
  230. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
  231. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
  232. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
  233. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
  234. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
  235. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
  236. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
  237. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
  238. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
  239. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
  240. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
  241. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
  242. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
  243. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
  244. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
  245. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
  246. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
  247. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
  248. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
  249. {apache_airflow_providers_amazon-8.24.0rc1 → apache_airflow_providers_amazon-8.24.0rc2}/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.24.0rc1
3
+ Version: 8.24.0rc2
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>
@@ -25,16 +25,16 @@ Requires-Dist: PyAthena>=3.0.10
25
25
  Requires-Dist: apache-airflow-providers-common-sql>=1.3.1rc0
26
26
  Requires-Dist: apache-airflow-providers-http
27
27
  Requires-Dist: apache-airflow>=2.7.0rc0
28
- Requires-Dist: asgiref
29
- Requires-Dist: boto3>=1.33.0
30
- Requires-Dist: botocore>=1.33.0
28
+ Requires-Dist: asgiref>=2.3.0
29
+ Requires-Dist: boto3>=1.34.90
30
+ Requires-Dist: botocore>=1.34.90
31
31
  Requires-Dist: inflection>=0.5.1
32
- Requires-Dist: jmespath
32
+ Requires-Dist: jmespath>=0.7.0
33
33
  Requires-Dist: jsonpath_ng>=1.5.3
34
34
  Requires-Dist: redshift_connector>=2.0.918
35
35
  Requires-Dist: sqlalchemy_redshift>=0.8.6
36
- Requires-Dist: watchtower>=2.0.1,<4
37
- Requires-Dist: aiobotocore[boto3]>=2.5.3 ; extra == "aiobotocore"
36
+ Requires-Dist: watchtower>=3.0.0,<4
37
+ Requires-Dist: aiobotocore[boto3]>=2.13.0 ; extra == "aiobotocore"
38
38
  Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache.hive"
39
39
  Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0rc0 ; extra == "cncf.kubernetes"
40
40
  Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
@@ -46,7 +46,8 @@ Requires-Dist: apache-airflow-providers-imap ; extra == "imap"
46
46
  Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft.azure"
47
47
  Requires-Dist: apache-airflow-providers-mongo ; extra == "mongo"
48
48
  Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
49
- Requires-Dist: pandas>=1.2.5,<2.2 ; extra == "pandas"
49
+ Requires-Dist: pandas>=1.5.3,<2.2 ; extra == "pandas" and (python_version<"3.12")
50
+ Requires-Dist: pandas>=2.1.1,<2.2 ; extra == "pandas" and (python_version>="3.12")
50
51
  Requires-Dist: python3-saml>=1.16.0 ; extra == "python3-saml"
51
52
  Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
52
53
  Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
@@ -120,7 +121,7 @@ Provides-Extra: ssh
120
121
 
121
122
  Package ``apache-airflow-providers-amazon``
122
123
 
123
- Release: ``8.24.0.rc1``
124
+ Release: ``8.24.0.rc2``
124
125
 
125
126
 
126
127
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -153,16 +154,16 @@ PIP package Version required
153
154
  ``apache-airflow`` ``>=2.7.0``
154
155
  ``apache-airflow-providers-common-sql`` ``>=1.3.1``
155
156
  ``apache-airflow-providers-http``
156
- ``boto3`` ``>=1.33.0``
157
- ``botocore`` ``>=1.33.0``
157
+ ``boto3`` ``>=1.34.90``
158
+ ``botocore`` ``>=1.34.90``
158
159
  ``inflection`` ``>=0.5.1``
159
- ``watchtower`` ``>=2.0.1,<4``
160
+ ``watchtower`` ``>=3.0.0,<4``
160
161
  ``jsonpath_ng`` ``>=1.5.3``
161
162
  ``redshift_connector`` ``>=2.0.918``
162
163
  ``sqlalchemy_redshift`` ``>=0.8.6``
163
- ``asgiref``
164
+ ``asgiref`` ``>=2.3.0``
164
165
  ``PyAthena`` ``>=3.0.10``
165
- ``jmespath``
166
+ ``jmespath`` ``>=0.7.0``
166
167
  ======================================= ==================
167
168
 
168
169
  Cross provider package dependencies
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-amazon``
44
44
 
45
- Release: ``8.24.0.rc1``
45
+ Release: ``8.24.0.rc2``
46
46
 
47
47
 
48
48
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -75,16 +75,16 @@ PIP package Version required
75
75
  ``apache-airflow`` ``>=2.7.0``
76
76
  ``apache-airflow-providers-common-sql`` ``>=1.3.1``
77
77
  ``apache-airflow-providers-http``
78
- ``boto3`` ``>=1.33.0``
79
- ``botocore`` ``>=1.33.0``
78
+ ``boto3`` ``>=1.34.90``
79
+ ``botocore`` ``>=1.34.90``
80
80
  ``inflection`` ``>=0.5.1``
81
- ``watchtower`` ``>=2.0.1,<4``
81
+ ``watchtower`` ``>=3.0.0,<4``
82
82
  ``jsonpath_ng`` ``>=1.5.3``
83
83
  ``redshift_connector`` ``>=2.0.918``
84
84
  ``sqlalchemy_redshift`` ``>=0.8.6``
85
- ``asgiref``
85
+ ``asgiref`` ``>=2.3.0``
86
86
  ``PyAthena`` ``>=3.0.10``
87
- ``jmespath``
87
+ ``jmespath`` ``>=0.7.0``
88
88
  ======================================= ==================
89
89
 
90
90
  Cross provider package dependencies
@@ -215,7 +215,7 @@ Third party Apache 2.0 licenses
215
215
 
216
216
  The following components are provided under the Apache 2.0 License.
217
217
  See project link for details. The text of each license is also included
218
- at licenses/LICENSE-[project].txt.
218
+ at 3rd-party-licenses/LICENSE-[project].txt.
219
219
 
220
220
  (ALv2 License) hue v4.3.0 (https://github.com/cloudera/hue/)
221
221
  (ALv2 License) jqclock v2.3.0 (https://github.com/JohnRDOrazio/jQuery-Clock-Plugin)
@@ -227,7 +227,7 @@ MIT licenses
227
227
  ========================================================================
228
228
 
229
229
  The following components are provided under the MIT License. See project link for details.
230
- The text of each license is also included at licenses/LICENSE-[project].txt.
230
+ The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
231
231
 
232
232
  (MIT License) jquery v3.5.1 (https://jquery.org/license/)
233
233
  (MIT License) dagre-d3 v0.6.4 (https://github.com/cpettitt/dagre-d3)
@@ -243,11 +243,11 @@ The text of each license is also included at licenses/LICENSE-[project].txt.
243
243
  BSD 3-Clause licenses
244
244
  ========================================================================
245
245
  The following components are provided under the BSD 3-Clause license. See project links for details.
246
- The text of each license is also included at licenses/LICENSE-[project].txt.
246
+ The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
247
247
 
248
248
  (BSD 3 License) d3 v5.16.0 (https://d3js.org)
249
249
  (BSD 3 License) d3-shape v2.1.0 (https://github.com/d3/d3-shape)
250
250
  (BSD 3 License) cgroupspy 0.2.1 (https://github.com/cloudsigma/cgroupspy)
251
251
 
252
252
  ========================================================================
253
- See licenses/LICENSES-ui.txt for packages used in `/airflow/www`
253
+ See 3rd-party-licenses/LICENSES-ui.txt for packages used in `/airflow/www`
@@ -156,7 +156,9 @@ class BaseSessionFactory(LoggingMixin):
156
156
 
157
157
  return async_get_session()
158
158
 
159
- def create_session(self, deferrable: bool = False) -> boto3.session.Session:
159
+ def create_session(
160
+ self, deferrable: bool = False
161
+ ) -> boto3.session.Session | aiobotocore.session.AioSession:
160
162
  """Create boto3 or aiobotocore Session from connection config."""
161
163
  if not self.conn:
162
164
  self.log.info(
@@ -198,7 +200,7 @@ class BaseSessionFactory(LoggingMixin):
198
200
 
199
201
  def _create_session_with_assume_role(
200
202
  self, session_kwargs: dict[str, Any], deferrable: bool = False
201
- ) -> boto3.session.Session:
203
+ ) -> boto3.session.Session | aiobotocore.session.AioSession:
202
204
  if self.conn.assume_role_method == "assume_role_with_web_identity":
203
205
  # Deferred credentials have no initial credentials
204
206
  credential_fetcher = self._get_web_identity_credential_fetcher()
@@ -239,7 +241,10 @@ class BaseSessionFactory(LoggingMixin):
239
241
  session._credentials = credentials
240
242
  session.set_config_variable("region", self.basic_session.region_name)
241
243
 
242
- return boto3.session.Session(botocore_session=session, **session_kwargs)
244
+ if not deferrable:
245
+ return boto3.session.Session(botocore_session=session, **session_kwargs)
246
+
247
+ return session
243
248
 
244
249
  def _refresh_credentials(self) -> dict[str, Any]:
245
250
  self.log.debug("Refreshing credentials")
@@ -20,6 +20,7 @@ from __future__ import annotations
20
20
  import asyncio
21
21
  import time
22
22
  from functools import cached_property
23
+ from typing import Any
23
24
 
24
25
  from botocore.exceptions import ClientError
25
26
 
@@ -430,3 +431,125 @@ class GlueJobHook(AwsBaseHook):
430
431
  self.conn.create_job(**config)
431
432
 
432
433
  return self.job_name
434
+
435
+
436
+ class GlueDataQualityHook(AwsBaseHook):
437
+ """
438
+ Interact with AWS Glue Data Quality.
439
+
440
+ Provide thick wrapper around :external+boto3:py:class:`boto3.client("glue") <Glue.Client>`.
441
+
442
+ Additional arguments (such as ``aws_conn_id``) may be specified and
443
+ are passed down to the underlying AwsBaseHook.
444
+
445
+ .. seealso::
446
+ - :class:`airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`
447
+ """
448
+
449
+ def __init__(
450
+ self,
451
+ *args,
452
+ **kwargs,
453
+ ):
454
+ kwargs["client_type"] = "glue"
455
+ super().__init__(*args, **kwargs)
456
+
457
+ def has_data_quality_ruleset(self, name: str) -> bool:
458
+ try:
459
+ self.conn.get_data_quality_ruleset(Name=name)
460
+ return True
461
+ except self.conn.exceptions.EntityNotFoundException:
462
+ return False
463
+
464
+ def _log_results(self, result: dict[str, Any]) -> None:
465
+ """
466
+ Print the outcome of evaluation run, An evaluation run can involve multiple rulesets evaluated against a data source (Glue table).
467
+
468
+ Name Description Result EvaluatedMetrics EvaluationMessage
469
+ Rule_1 RowCount between 150000 and 600000 PASS {'Dataset.*.RowCount': 300000.0} NaN
470
+ Rule_2 IsComplete "marketplace" PASS {'Column.marketplace.Completeness': 1.0} NaN
471
+ Rule_3 ColumnLength "marketplace" between 1 and 2 FAIL {'Column.marketplace.MaximumLength': 9.0, 'Column.marketplace.MinimumLength': 3.0} Value: 9.0 does not meet the constraint requirement!
472
+
473
+ """
474
+ import pandas as pd
475
+
476
+ pd.set_option("display.max_rows", None)
477
+ pd.set_option("display.max_columns", None)
478
+ pd.set_option("display.width", None)
479
+ pd.set_option("display.max_colwidth", None)
480
+
481
+ self.log.info(
482
+ "AWS Glue data quality ruleset evaluation result for RulesetName: %s RulesetEvaluationRunId: %s Score: %s",
483
+ result.get("RulesetName"),
484
+ result.get("RulesetEvaluationRunId"),
485
+ result.get("Score"),
486
+ )
487
+
488
+ rule_results = result["RuleResults"]
489
+ rule_results_df = pd.DataFrame(rule_results)
490
+ self.log.info(rule_results_df)
491
+
492
+ def get_evaluation_run_results(self, run_id: str) -> dict[str, Any]:
493
+ response = self.conn.get_data_quality_ruleset_evaluation_run(RunId=run_id)
494
+
495
+ return self.conn.batch_get_data_quality_result(ResultIds=response["ResultIds"])
496
+
497
+ def validate_evaluation_run_results(
498
+ self, evaluation_run_id: str, show_results: bool = True, verify_result_status: bool = True
499
+ ) -> None:
500
+ results = self.get_evaluation_run_results(evaluation_run_id)
501
+ total_failed_rules = 0
502
+
503
+ if results.get("ResultsNotFound"):
504
+ self.log.info(
505
+ "AWS Glue data quality ruleset evaluation run, results not found for %s",
506
+ results["ResultsNotFound"],
507
+ )
508
+
509
+ for result in results["Results"]:
510
+ rule_results = result["RuleResults"]
511
+
512
+ total_failed_rules += len(
513
+ list(
514
+ filter(
515
+ lambda result: result.get("Result") == "FAIL" or result.get("Result") == "ERROR",
516
+ rule_results,
517
+ )
518
+ )
519
+ )
520
+
521
+ if show_results:
522
+ self._log_results(result)
523
+
524
+ self.log.info(
525
+ "AWS Glue data quality ruleset evaluation run, total number of rules failed: %s",
526
+ total_failed_rules,
527
+ )
528
+
529
+ if verify_result_status and total_failed_rules > 0:
530
+ raise AirflowException(
531
+ "AWS Glue data quality ruleset evaluation run failed for one or more rules"
532
+ )
533
+
534
+ def log_recommendation_results(self, run_id: str) -> None:
535
+ """
536
+ Print the outcome of recommendation run, recommendation run generates multiple rules against a data source (Glue table) in Data Quality Definition Language (DQDL) format.
537
+
538
+ Rules = [
539
+ IsComplete "NAME",
540
+ ColumnLength "EMP_ID" between 1 and 12,
541
+ IsUnique "EMP_ID",
542
+ ColumnValues "INCOME" > 50000
543
+ ]
544
+ """
545
+ result = self.conn.get_data_quality_rule_recommendation_run(RunId=run_id)
546
+
547
+ if result.get("RecommendedRuleset"):
548
+ self.log.info(
549
+ "AWS Glue data quality recommended rules for DatabaseName: %s TableName: %s",
550
+ result["DataSource"]["GlueTable"]["DatabaseName"],
551
+ result["DataSource"]["GlueTable"]["TableName"],
552
+ )
553
+ self.log.info(result["RecommendedRuleset"])
554
+ else:
555
+ self.log.info("AWS Glue data quality, no recommended rules available for RunId: %s", run_id)
@@ -20,7 +20,6 @@ import json
20
20
  from time import sleep
21
21
  from typing import TYPE_CHECKING, Any, Sequence
22
22
 
23
- import botocore
24
23
  from botocore.exceptions import ClientError
25
24
 
26
25
  from airflow.configuration import conf
@@ -38,7 +37,7 @@ from airflow.providers.amazon.aws.triggers.bedrock import (
38
37
  BedrockKnowledgeBaseActiveTrigger,
39
38
  BedrockProvisionModelThroughputCompletedTrigger,
40
39
  )
41
- from airflow.providers.amazon.aws.utils import get_botocore_version, validate_execute_complete_event
40
+ from airflow.providers.amazon.aws.utils import validate_execute_complete_event
42
41
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
43
42
  from airflow.utils.helpers import prune_dict
44
43
  from airflow.utils.timezone import utcnow
@@ -799,24 +798,11 @@ class BedrockRaGOperator(AwsBaseOperator[BedrockAgentRuntimeHook]):
799
798
  def execute(self, context: Context) -> Any:
800
799
  self.validate_inputs()
801
800
 
802
- try:
803
- result = self.hook.conn.retrieve_and_generate(
804
- input={"text": self.input},
805
- retrieveAndGenerateConfiguration=self.build_rag_config(),
806
- **self.rag_kwargs,
807
- )
808
- except botocore.exceptions.ParamValidationError as error:
809
- if (
810
- 'Unknown parameter in retrieveAndGenerateConfiguration: "externalSourcesConfiguration"'
811
- in str(error)
812
- ) and (self.source_type == "EXTERNAL_SOURCES"):
813
- self.log.error(
814
- "You are attempting to use External Sources and the BOTO API returned an "
815
- "error message which may indicate the need to update botocore to do this. \n"
816
- "Support for External Sources was added in botocore 1.34.90 and you are using botocore %s",
817
- ".".join(map(str, get_botocore_version())),
818
- )
819
- raise
801
+ result = self.hook.conn.retrieve_and_generate(
802
+ input={"text": self.input},
803
+ retrieveAndGenerateConfiguration=self.build_rag_config(),
804
+ **self.rag_kwargs,
805
+ )
820
806
 
821
807
  self.log.info(
822
808
  "\nPrompt: %s\nResponse: %s\nCitations: %s",
@@ -263,30 +263,34 @@ class EmrStartNotebookExecutionOperator(BaseOperator):
263
263
  wait_for_completion: bool = False,
264
264
  aws_conn_id: str | None = "aws_default",
265
265
  # TODO: waiter_max_attempts and waiter_delay should default to None when the other two are deprecated.
266
- waiter_max_attempts: int | None | ArgNotSet = NOTSET,
267
- waiter_delay: int | None | ArgNotSet = NOTSET,
268
- waiter_countdown: int = 25 * 60,
269
- waiter_check_interval_seconds: int = 60,
266
+ waiter_max_attempts: int | None = None,
267
+ waiter_delay: int | None = None,
268
+ waiter_countdown: int | None = None,
269
+ waiter_check_interval_seconds: int | None = None,
270
270
  **kwargs: Any,
271
271
  ):
272
- if waiter_max_attempts is NOTSET:
272
+ if waiter_check_interval_seconds:
273
273
  warnings.warn(
274
- "The parameter waiter_countdown has been deprecated to standardize "
275
- "naming conventions. Please use waiter_max_attempts instead. In the "
274
+ "The parameter `waiter_check_interval_seconds` has been deprecated to "
275
+ "standardize naming conventions. Please `use waiter_delay instead`. In the "
276
276
  "future this will default to None and defer to the waiter's default value.",
277
277
  AirflowProviderDeprecationWarning,
278
278
  stacklevel=2,
279
279
  )
280
- waiter_max_attempts = waiter_countdown // waiter_check_interval_seconds
281
- if waiter_delay is NOTSET:
280
+ else:
281
+ waiter_check_interval_seconds = 60
282
+ if waiter_countdown:
282
283
  warnings.warn(
283
- "The parameter waiter_check_interval_seconds has been deprecated to "
284
- "standardize naming conventions. Please use waiter_delay instead. In the "
284
+ "The parameter waiter_countdown has been deprecated to standardize "
285
+ "naming conventions. Please use waiter_max_attempts instead. In the "
285
286
  "future this will default to None and defer to the waiter's default value.",
286
287
  AirflowProviderDeprecationWarning,
287
288
  stacklevel=2,
288
289
  )
289
- waiter_delay = waiter_check_interval_seconds
290
+ # waiter_countdown defaults to never timing out, which is not supported
291
+ # by boto waiters, so we will set it here to "a very long time" for now.
292
+ waiter_max_attempts = (waiter_countdown or 999) // waiter_check_interval_seconds
293
+
290
294
  super().__init__(**kwargs)
291
295
  self.editor_id = editor_id
292
296
  self.relative_path = relative_path
@@ -298,8 +302,8 @@ class EmrStartNotebookExecutionOperator(BaseOperator):
298
302
  self.wait_for_completion = wait_for_completion
299
303
  self.cluster_id = cluster_id
300
304
  self.aws_conn_id = aws_conn_id
301
- self.waiter_max_attempts = waiter_max_attempts
302
- self.waiter_delay = waiter_delay
305
+ self.waiter_max_attempts = waiter_max_attempts or 25
306
+ self.waiter_delay = waiter_delay or waiter_check_interval_seconds or 60
303
307
  self.master_instance_security_group_id = master_instance_security_group_id
304
308
 
305
309
  def execute(self, context: Context):
@@ -387,36 +391,40 @@ class EmrStopNotebookExecutionOperator(BaseOperator):
387
391
  wait_for_completion: bool = False,
388
392
  aws_conn_id: str | None = "aws_default",
389
393
  # TODO: waiter_max_attempts and waiter_delay should default to None when the other two are deprecated.
390
- waiter_max_attempts: int | None | ArgNotSet = NOTSET,
391
- waiter_delay: int | None | ArgNotSet = NOTSET,
392
- waiter_countdown: int = 25 * 60,
393
- waiter_check_interval_seconds: int = 60,
394
+ waiter_max_attempts: int | None = None,
395
+ waiter_delay: int | None = None,
396
+ waiter_countdown: int | None = None,
397
+ waiter_check_interval_seconds: int | None = None,
394
398
  **kwargs: Any,
395
399
  ):
396
- if waiter_max_attempts is NOTSET:
400
+ if waiter_check_interval_seconds:
397
401
  warnings.warn(
398
- "The parameter waiter_countdown has been deprecated to standardize "
399
- "naming conventions. Please use waiter_max_attempts instead. In the "
402
+ "The parameter `waiter_check_interval_seconds` has been deprecated to "
403
+ "standardize naming conventions. Please `use waiter_delay instead`. In the "
400
404
  "future this will default to None and defer to the waiter's default value.",
401
405
  AirflowProviderDeprecationWarning,
402
406
  stacklevel=2,
403
407
  )
404
- waiter_max_attempts = waiter_countdown // waiter_check_interval_seconds
405
- if waiter_delay is NOTSET:
408
+ else:
409
+ waiter_check_interval_seconds = 60
410
+ if waiter_countdown:
406
411
  warnings.warn(
407
- "The parameter waiter_check_interval_seconds has been deprecated to "
408
- "standardize naming conventions. Please use waiter_delay instead. In the "
412
+ "The parameter waiter_countdown has been deprecated to standardize "
413
+ "naming conventions. Please use waiter_max_attempts instead. In the "
409
414
  "future this will default to None and defer to the waiter's default value.",
410
415
  AirflowProviderDeprecationWarning,
411
416
  stacklevel=2,
412
417
  )
413
- waiter_delay = waiter_check_interval_seconds
418
+ # waiter_countdown defaults to never timing out, which is not supported
419
+ # by boto waiters, so we will set it here to "a very long time" for now.
420
+ waiter_max_attempts = (waiter_countdown or 999) // waiter_check_interval_seconds
421
+
414
422
  super().__init__(**kwargs)
415
423
  self.notebook_execution_id = notebook_execution_id
416
424
  self.wait_for_completion = wait_for_completion
417
425
  self.aws_conn_id = aws_conn_id
418
- self.waiter_max_attempts = waiter_max_attempts
419
- self.waiter_delay = waiter_delay
426
+ self.waiter_max_attempts = waiter_max_attempts or 25
427
+ self.waiter_delay = waiter_delay or waiter_check_interval_seconds or 60
420
428
 
421
429
  def execute(self, context: Context) -> None:
422
430
  emr_hook = EmrHook(aws_conn_id=self.aws_conn_id)
@@ -822,8 +830,8 @@ class EmrCreateJobFlowOperator(BaseOperator):
822
830
  trigger=EmrCreateJobFlowTrigger(
823
831
  job_flow_id=self._job_flow_id,
824
832
  aws_conn_id=self.aws_conn_id,
825
- poll_interval=self.waiter_delay,
826
- max_attempts=self.waiter_max_attempts,
833
+ waiter_delay=self.waiter_delay,
834
+ waiter_max_attempts=self.waiter_max_attempts,
827
835
  ),
828
836
  method_name="execute_complete",
829
837
  # timeout is set to ensure that if a trigger dies, the timeout does not restart