apache-airflow-providers-amazon 8.20.0__tar.gz → 8.21.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 (238) hide show
  1. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/PKG-INFO +10 -8
  2. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/README.rst +5 -4
  3. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/__init__.py +3 -3
  4. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +1 -1
  5. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +5 -2
  6. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +1 -11
  7. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -1
  8. apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/executors/batch/__init__.py +21 -0
  9. apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/executors/ecs/__init__.py +21 -0
  10. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +1 -1
  11. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/batch_client.py +2 -0
  12. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/emr.py +8 -6
  13. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/lambda_function.py +10 -0
  14. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/bedrock.py +102 -1
  15. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/glue.py +7 -1
  16. apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/sensors/bedrock.py +213 -0
  17. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/emr.py +8 -2
  18. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +7 -1
  19. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/bedrock.py +36 -0
  20. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/bedrock.json +31 -0
  21. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/get_provider_info.py +4 -2
  22. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/pyproject.toml +5 -4
  23. apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/sensors/bedrock.py +0 -110
  24. apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/transfers/__init__.py +0 -16
  25. apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/waiters/__init__.py +0 -16
  26. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/LICENSE +0 -0
  27. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/__init__.py +0 -0
  28. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
  29. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
  30. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
  31. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
  32. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
  33. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
  34. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
  35. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
  36. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
  37. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
  38. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
  39. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
  40. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/exceptions.py +0 -0
  41. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
  42. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
  43. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
  44. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
  45. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
  46. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
  47. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
  48. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
  49. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
  50. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/executors/batch → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/executors/utils}/__init__.py +0 -0
  51. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
  52. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
  53. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/executors/ecs → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/fs}/__init__.py +0 -0
  54. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/fs/s3.py +0 -0
  55. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/executors/utils → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/hooks}/__init__.py +0 -0
  56. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
  57. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
  58. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
  59. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
  60. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
  61. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
  62. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
  63. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
  64. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
  65. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
  66. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
  67. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
  68. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
  69. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
  70. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
  71. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
  72. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
  73. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
  74. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
  75. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
  76. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
  77. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
  78. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
  79. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
  80. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
  81. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
  82. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
  83. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
  84. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
  85. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
  86. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/redshift_sql.py +0 -0
  87. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/s3.py +0 -0
  88. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
  89. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
  90. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
  91. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
  92. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
  93. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
  94. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
  95. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
  96. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
  97. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/fs → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/links}/__init__.py +0 -0
  98. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/athena.py +0 -0
  99. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
  100. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/batch.py +0 -0
  101. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/emr.py +0 -0
  102. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/glue.py +0 -0
  103. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/logs.py +0 -0
  104. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/links/step_function.py +0 -0
  105. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/hooks → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/log}/__init__.py +0 -0
  106. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
  107. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
  108. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/links → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/notifications}/__init__.py +0 -0
  109. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
  110. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
  111. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
  112. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/log → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/operators}/__init__.py +0 -0
  113. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
  114. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/athena.py +0 -0
  115. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
  116. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/batch.py +0 -0
  117. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
  118. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
  119. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/dms.py +0 -0
  120. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
  121. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
  122. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/eks.py +0 -0
  123. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/emr.py +0 -0
  124. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
  125. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
  126. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
  127. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
  128. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
  129. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
  130. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
  131. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/rds.py +0 -0
  132. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/redshift_cluster.py +0 -0
  133. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
  134. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/s3.py +0 -0
  135. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/sagemaker.py +0 -0
  136. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/sns.py +0 -0
  137. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
  138. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
  139. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/notifications → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/secrets}/__init__.py +0 -0
  140. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
  141. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
  142. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/operators → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/sensors}/__init__.py +0 -0
  143. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
  144. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
  145. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/batch.py +0 -0
  146. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
  147. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/dms.py +0 -0
  148. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
  149. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
  150. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
  151. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
  152. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
  153. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/glue.py +0 -0
  154. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +0 -0
  155. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/glue_crawler.py +0 -0
  156. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
  157. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
  158. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
  159. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
  160. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/s3.py +0 -0
  161. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
  162. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
  163. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
  164. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/secrets → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/transfers}/__init__.py +0 -0
  165. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/base.py +0 -0
  166. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
  167. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
  168. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
  169. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
  170. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
  171. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
  172. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
  173. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
  174. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
  175. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
  176. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
  177. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +0 -0
  178. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
  179. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
  180. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
  181. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
  182. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
  183. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
  184. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
  185. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/README.md +0 -0
  186. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
  187. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
  188. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/base.py +0 -0
  189. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
  190. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
  191. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
  192. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
  193. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
  194. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
  195. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
  196. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
  197. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
  198. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
  199. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
  200. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
  201. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
  202. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
  203. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/sagemaker.py +0 -0
  204. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
  205. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
  206. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
  207. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
  208. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
  209. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
  210. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
  211. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
  212. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/rds.py +0 -0
  213. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
  214. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
  215. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
  216. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
  217. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/tags.py +0 -0
  218. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
  219. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
  220. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
  221. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/README.md +0 -0
  222. {apache_airflow_providers_amazon-8.20.0/airflow/providers/amazon/aws/sensors → apache_airflow_providers_amazon-8.21.0/airflow/providers/amazon/aws/waiters}/__init__.py +0 -0
  223. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
  224. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
  225. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
  226. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
  227. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
  228. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
  229. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
  230. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
  231. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
  232. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
  233. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
  234. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
  235. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
  236. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
  237. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.0}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
  238. {apache_airflow_providers_amazon-8.20.0 → apache_airflow_providers_amazon-8.21.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.20.0
3
+ Version: 8.21.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>
@@ -24,7 +24,7 @@ Classifier: Topic :: System :: Monitoring
24
24
  Requires-Dist: PyAthena>=3.0.10
25
25
  Requires-Dist: apache-airflow-providers-common-sql>=1.3.1
26
26
  Requires-Dist: apache-airflow-providers-http
27
- Requires-Dist: apache-airflow>=2.6.0
27
+ Requires-Dist: apache-airflow>=2.7.0
28
28
  Requires-Dist: asgiref
29
29
  Requires-Dist: boto3>=1.33.0
30
30
  Requires-Dist: botocore>=1.33.0
@@ -33,6 +33,7 @@ Requires-Dist: jsonpath_ng>=1.5.3
33
33
  Requires-Dist: redshift_connector>=2.0.918
34
34
  Requires-Dist: sqlalchemy_redshift>=0.8.6
35
35
  Requires-Dist: watchtower>=2.0.1,<4
36
+ Requires-Dist: xmlsec<1.3.14
36
37
  Requires-Dist: aiobotocore[boto3]>=2.5.3 ; extra == "aiobotocore"
37
38
  Requires-Dist: apache-airflow-providers-apache-hive ; extra == "apache.hive"
38
39
  Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0 ; extra == "cncf.kubernetes"
@@ -51,8 +52,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
51
52
  Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
52
53
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
53
54
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
54
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.20.0/changelog.html
55
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.20.0
55
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.21.0/changelog.html
56
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.21.0
56
57
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
57
58
  Project-URL: Source Code, https://github.com/apache/airflow
58
59
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -119,7 +120,7 @@ Provides-Extra: ssh
119
120
 
120
121
  Package ``apache-airflow-providers-amazon``
121
122
 
122
- Release: ``8.20.0``
123
+ Release: ``8.21.0``
123
124
 
124
125
 
125
126
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -132,7 +133,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
132
133
  are in ``airflow.providers.amazon`` python package.
133
134
 
134
135
  You can find package information and changelog for the provider
135
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.20.0/>`_.
136
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.21.0/>`_.
136
137
 
137
138
  Installation
138
139
  ------------
@@ -149,7 +150,7 @@ Requirements
149
150
  ======================================= ==================
150
151
  PIP package Version required
151
152
  ======================================= ==================
152
- ``apache-airflow`` ``>=2.6.0``
153
+ ``apache-airflow`` ``>=2.7.0``
153
154
  ``apache-airflow-providers-common-sql`` ``>=1.3.1``
154
155
  ``apache-airflow-providers-http``
155
156
  ``boto3`` ``>=1.33.0``
@@ -161,6 +162,7 @@ PIP package Version required
161
162
  ``sqlalchemy_redshift`` ``>=0.8.6``
162
163
  ``asgiref``
163
164
  ``PyAthena`` ``>=3.0.10``
165
+ ``xmlsec`` ``<1.3.14``
164
166
  ======================================= ==================
165
167
 
166
168
  Cross provider package dependencies
@@ -195,4 +197,4 @@ Dependent package
195
197
  ====================================================================================================================== ===================
196
198
 
197
199
  The changelog for the provider package can be found in the
198
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.20.0/changelog.html>`_.
200
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.21.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-amazon``
44
44
 
45
- Release: ``8.20.0``
45
+ Release: ``8.21.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.20.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.21.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.6.0``
75
+ ``apache-airflow`` ``>=2.7.0``
76
76
  ``apache-airflow-providers-common-sql`` ``>=1.3.1``
77
77
  ``apache-airflow-providers-http``
78
78
  ``boto3`` ``>=1.33.0``
@@ -84,6 +84,7 @@ PIP package Version required
84
84
  ``sqlalchemy_redshift`` ``>=0.8.6``
85
85
  ``asgiref``
86
86
  ``PyAthena`` ``>=3.0.10``
87
+ ``xmlsec`` ``<1.3.14``
87
88
  ======================================= ==================
88
89
 
89
90
  Cross provider package dependencies
@@ -118,4 +119,4 @@ Dependent package
118
119
  ====================================================================================================================== ===================
119
120
 
120
121
  The changelog for the provider package can be found in the
121
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.20.0/changelog.html>`_.
122
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.21.0/changelog.html>`_.
@@ -27,7 +27,7 @@ import packaging.version
27
27
 
28
28
  __all__ = ["__version__"]
29
29
 
30
- __version__ = "8.20.0"
30
+ __version__ = "8.21.0"
31
31
 
32
32
  try:
33
33
  from airflow import __version__ as airflow_version
@@ -35,8 +35,8 @@ except ImportError:
35
35
  from airflow.version import version as airflow_version
36
36
 
37
37
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
38
- "2.6.0"
38
+ "2.7.0"
39
39
  ):
40
40
  raise RuntimeError(
41
- f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.6.0+"
41
+ f"The package `apache-airflow-providers-amazon:{__version__}` needs Apache Airflow 2.7.0+"
42
42
  )
@@ -55,7 +55,7 @@ def get_entity_type(resource_type: AvpEntities) -> str:
55
55
  return AVP_PREFIX_ENTITIES + resource_type.value
56
56
 
57
57
 
58
- def get_action_id(resource_type: AvpEntities, method: ResourceMethod):
58
+ def get_action_id(resource_type: AvpEntities, method: ResourceMethod | str):
59
59
  """
60
60
  Return action id.
61
61
 
@@ -75,7 +75,7 @@ class AwsAuthManagerAmazonVerifiedPermissionsFacade(LoggingMixin):
75
75
  def is_authorized(
76
76
  self,
77
77
  *,
78
- method: ResourceMethod,
78
+ method: ResourceMethod | str,
79
79
  entity_type: AvpEntities,
80
80
  user: AwsAuthManagerUser | None,
81
81
  entity_id: str | None = None,
@@ -86,7 +86,10 @@ class AwsAuthManagerAmazonVerifiedPermissionsFacade(LoggingMixin):
86
86
 
87
87
  Check whether the user has permissions to access given resource.
88
88
 
89
- :param method: the method to perform
89
+ :param method: the method to perform.
90
+ The method can also be a string if the action has been defined in a plugin.
91
+ In that case, the action can be anything (e.g. can_do).
92
+ See https://github.com/apache/airflow/issues/39144
90
93
  :param entity_type: the entity type the user accesses
91
94
  :param user: the user
92
95
  :param entity_id: the entity ID the user accesses. If not provided, all entities of the type will be
@@ -24,7 +24,6 @@ from typing import TYPE_CHECKING, Container, Sequence, cast
24
24
  from flask import session, url_for
25
25
 
26
26
  from airflow.cli.cli_config import CLICommand, DefaultHelpParser, GroupCommand
27
- from airflow.configuration import conf
28
27
  from airflow.exceptions import AirflowOptionalProviderFeatureException
29
28
  from airflow.providers.amazon.aws.auth_manager.avp.entities import AvpEntities
30
29
  from airflow.providers.amazon.aws.auth_manager.avp.facade import (
@@ -34,10 +33,6 @@ from airflow.providers.amazon.aws.auth_manager.avp.facade import (
34
33
  from airflow.providers.amazon.aws.auth_manager.cli.definition import (
35
34
  AWS_AUTH_MANAGER_COMMANDS,
36
35
  )
37
- from airflow.providers.amazon.aws.auth_manager.constants import (
38
- CONF_ENABLE_KEY,
39
- CONF_SECTION_NAME,
40
- )
41
36
  from airflow.providers.amazon.aws.auth_manager.security_manager.aws_security_manager_override import (
42
37
  AwsSecurityManagerOverride,
43
38
  )
@@ -87,12 +82,7 @@ class AwsAuthManager(BaseAuthManager):
87
82
 
88
83
  def __init__(self, appbuilder: AirflowAppBuilder) -> None:
89
84
  super().__init__(appbuilder)
90
- enable = conf.getboolean(CONF_SECTION_NAME, CONF_ENABLE_KEY)
91
85
  self._check_avp_schema_version()
92
- if not enable:
93
- raise NotImplementedError(
94
- "The AWS auth manager is currently being built. It is not finalized. It is not intended to be used yet."
95
- )
96
86
 
97
87
  @cached_property
98
88
  def avp_facade(self):
@@ -207,7 +197,7 @@ class AwsAuthManager(BaseAuthManager):
207
197
  )
208
198
 
209
199
  def is_authorized_custom_view(
210
- self, *, method: ResourceMethod, resource_name: str, user: BaseUser | None = None
200
+ self, *, method: ResourceMethod | str, resource_name: str, user: BaseUser | None = None
211
201
  ):
212
202
  return self.avp_facade.is_authorized(
213
203
  method=method,
@@ -18,7 +18,6 @@
18
18
  # Configuration keys
19
19
  from __future__ import annotations
20
20
 
21
- CONF_ENABLE_KEY = "enable"
22
21
  CONF_SECTION_NAME = "aws_auth_manager"
23
22
  CONF_CONN_ID_KEY = "conn_id"
24
23
  CONF_REGION_NAME_KEY = "region_name"
@@ -0,0 +1,21 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ from __future__ import annotations # Added by precommit hooks
18
+
19
+ __all__ = ["AwsBatchExecutor"]
20
+
21
+ from airflow.providers.amazon.aws.executors.batch.batch_executor import AwsBatchExecutor
@@ -0,0 +1,21 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+ from __future__ import annotations # Added by precommit hooks
18
+
19
+ __all__ = ["AwsEcsExecutor"]
20
+
21
+ from airflow.providers.amazon.aws.executors.ecs.ecs_executor import AwsEcsExecutor
@@ -515,7 +515,7 @@ class AwsEcsExecutor(BaseExecutor):
515
515
  task_descriptions = self.__describe_tasks(task_arns).get("tasks", [])
516
516
 
517
517
  for task in task_descriptions:
518
- ti = [ti for ti in tis if ti.external_executor_id == task.task_arn][0]
518
+ ti = next(ti for ti in tis if ti.external_executor_id == task.task_arn)
519
519
  self.active_workers.add_task(
520
520
  task,
521
521
  ti.key,
@@ -397,6 +397,8 @@ class BatchClientHook(AwsBaseHook):
397
397
  try:
398
398
  response = self.get_conn().describe_jobs(jobs=[job_id])
399
399
  return self.parse_job_description(job_id, response)
400
+ except AirflowException as err:
401
+ self.log.warning(err)
400
402
  except botocore.exceptions.ClientError as err:
401
403
  # Allow it to retry in case of exceeded quota limit of requests to AWS API
402
404
  if err.response.get("Error", {}).get("Code") != "TooManyRequestsException":
@@ -494,21 +494,23 @@ class EmrContainerHook(AwsBaseHook):
494
494
  :param poll_interval: Time (in seconds) to wait between calls to check query status on EMR
495
495
  :param max_polling_attempts: Number of times to poll for query state before function exits
496
496
  """
497
- try_number = 1
497
+ poll_attempt = 1
498
498
  while True:
499
499
  query_state = self.check_query_status(job_id)
500
500
  if query_state in self.TERMINAL_STATES:
501
- self.log.info("Try %s: Query execution completed. Final state is %s", try_number, query_state)
501
+ self.log.info(
502
+ "Try %s: Query execution completed. Final state is %s", poll_attempt, query_state
503
+ )
502
504
  return query_state
503
505
  if query_state is None:
504
- self.log.info("Try %s: Invalid query state. Retrying again", try_number)
506
+ self.log.info("Try %s: Invalid query state. Retrying again", poll_attempt)
505
507
  else:
506
- self.log.info("Try %s: Query is still in non-terminal state - %s", try_number, query_state)
508
+ self.log.info("Try %s: Query is still in non-terminal state - %s", poll_attempt, query_state)
507
509
  if (
508
- max_polling_attempts and try_number >= max_polling_attempts
510
+ max_polling_attempts and poll_attempt >= max_polling_attempts
509
511
  ): # Break loop if max_polling_attempts reached
510
512
  return query_state
511
- try_number += 1
513
+ poll_attempt += 1
512
514
  time.sleep(poll_interval)
513
515
 
514
516
  def stop_query(self, job_id: str) -> dict:
@@ -106,6 +106,9 @@ class LambdaHook(AwsBaseHook):
106
106
  image_config: Any | None = None,
107
107
  code_signing_config_arn: str | None = None,
108
108
  architectures: list[str] | None = None,
109
+ ephemeral_storage: Any | None = None,
110
+ snap_start: Any | None = None,
111
+ logging_config: Any | None = None,
109
112
  ) -> dict:
110
113
  """
111
114
  Create a Lambda function.
@@ -151,6 +154,10 @@ class LambdaHook(AwsBaseHook):
151
154
  A code-signing configuration includes a set of signing profiles,
152
155
  which define the trusted publishers for this function.
153
156
  :param architectures: The instruction set architecture that the function supports.
157
+ :param ephemeral_storage: The size of the function's /tmp directory in MB.
158
+ The default value is 512, but can be any whole number between 512 and 10,240 MB
159
+ :param snap_start: The function's SnapStart setting
160
+ :param logging_config: The function's Amazon CloudWatch Logs configuration settings
154
161
  """
155
162
  if package_type == "Zip":
156
163
  if handler is None:
@@ -181,6 +188,9 @@ class LambdaHook(AwsBaseHook):
181
188
  "ImageConfig": image_config,
182
189
  "CodeSigningConfigArn": code_signing_config_arn,
183
190
  "Architectures": architectures,
191
+ "EphemeralStorage": ephemeral_storage,
192
+ "SnapStart": snap_start,
193
+ "LoggingConfig": logging_config,
184
194
  }
185
195
  return self.conn.create_function(**trim_none_values(create_function_args))
186
196
 
@@ -25,7 +25,10 @@ from airflow.configuration import conf
25
25
  from airflow.exceptions import AirflowException
26
26
  from airflow.providers.amazon.aws.hooks.bedrock import BedrockHook, BedrockRuntimeHook
27
27
  from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
28
- from airflow.providers.amazon.aws.triggers.bedrock import BedrockCustomizeModelCompletedTrigger
28
+ from airflow.providers.amazon.aws.triggers.bedrock import (
29
+ BedrockCustomizeModelCompletedTrigger,
30
+ BedrockProvisionModelThroughputCompletedTrigger,
31
+ )
29
32
  from airflow.providers.amazon.aws.utils import validate_execute_complete_event
30
33
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
31
34
  from airflow.utils.helpers import prune_dict
@@ -250,3 +253,101 @@ class BedrockCustomizeModelOperator(AwsBaseOperator[BedrockHook]):
250
253
  )
251
254
 
252
255
  return response["jobArn"]
256
+
257
+
258
+ class BedrockCreateProvisionedModelThroughputOperator(AwsBaseOperator[BedrockHook]):
259
+ """
260
+ Create a fine-tuning job to customize a base model.
261
+
262
+ .. seealso::
263
+ For more information on how to use this operator, take a look at the guide:
264
+ :ref:`howto/operator:BedrockCreateProvisionedModelThroughputOperator`
265
+
266
+ :param model_units: Number of model units to allocate. (templated)
267
+ :param provisioned_model_name: Unique name for this provisioned throughput. (templated)
268
+ :param model_id: Name or ARN of the model to associate with this provisioned throughput. (templated)
269
+ :param create_throughput_kwargs: Any optional parameters to pass to the API.
270
+
271
+ :param wait_for_completion: Whether to wait for cluster to stop. (default: True)
272
+ :param waiter_delay: Time in seconds to wait between status checks. (default: 60)
273
+ :param waiter_max_attempts: Maximum number of attempts to check for job completion. (default: 20)
274
+ :param deferrable: If True, the operator will wait asynchronously for the cluster to stop.
275
+ This implies waiting for completion. This mode requires aiobotocore module to be installed.
276
+ (default: False)
277
+ :param aws_conn_id: The Airflow connection used for AWS credentials.
278
+ If this is ``None`` or empty then the default boto3 behaviour is used. If
279
+ running Airflow in a distributed manner and aws_conn_id is None or
280
+ empty, then default boto3 configuration would be used (and must be
281
+ maintained on each worker node).
282
+ :param region_name: AWS region_name. If not specified then the default boto3 behaviour is used.
283
+ :param verify: Whether or not to verify SSL certificates. See:
284
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
285
+ :param botocore_config: Configuration dictionary (key-values) for botocore client. See:
286
+ https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
287
+ """
288
+
289
+ aws_hook_class = BedrockHook
290
+ template_fields: Sequence[str] = aws_template_fields(
291
+ "model_units",
292
+ "provisioned_model_name",
293
+ "model_id",
294
+ )
295
+
296
+ def __init__(
297
+ self,
298
+ model_units: int,
299
+ provisioned_model_name: str,
300
+ model_id: str,
301
+ create_throughput_kwargs: dict[str, Any] | None = None,
302
+ wait_for_completion: bool = True,
303
+ waiter_delay: int = 60,
304
+ waiter_max_attempts: int = 20,
305
+ deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
306
+ **kwargs,
307
+ ):
308
+ super().__init__(**kwargs)
309
+ self.model_units = model_units
310
+ self.provisioned_model_name = provisioned_model_name
311
+ self.model_id = model_id
312
+ self.create_throughput_kwargs = create_throughput_kwargs or {}
313
+ self.wait_for_completion = wait_for_completion
314
+ self.waiter_delay = waiter_delay
315
+ self.waiter_max_attempts = waiter_max_attempts
316
+ self.deferrable = deferrable
317
+
318
+ def execute(self, context: Context) -> str:
319
+ provisioned_model_id = self.hook.conn.create_provisioned_model_throughput(
320
+ modelUnits=self.model_units,
321
+ provisionedModelName=self.provisioned_model_name,
322
+ modelId=self.model_id,
323
+ **self.create_throughput_kwargs,
324
+ )["provisionedModelArn"]
325
+
326
+ if self.deferrable:
327
+ self.log.info("Deferring for provisioned throughput.")
328
+ self.defer(
329
+ trigger=BedrockProvisionModelThroughputCompletedTrigger(
330
+ provisioned_model_id=provisioned_model_id,
331
+ waiter_delay=self.waiter_delay,
332
+ waiter_max_attempts=self.waiter_max_attempts,
333
+ aws_conn_id=self.aws_conn_id,
334
+ ),
335
+ method_name="execute_complete",
336
+ )
337
+ if self.wait_for_completion:
338
+ self.log.info("Waiting for provisioned throughput.")
339
+ self.hook.get_waiter("provisioned_model_throughput_complete").wait(
340
+ provisionedModelId=provisioned_model_id,
341
+ WaiterConfig={"Delay": self.waiter_delay, "MaxAttempts": self.waiter_max_attempts},
342
+ )
343
+
344
+ return provisioned_model_id
345
+
346
+ def execute_complete(self, context: Context, event: dict[str, Any] | None = None) -> str:
347
+ event = validate_execute_complete_event(event)
348
+
349
+ if event["status"] != "success":
350
+ raise AirflowException(f"Error while running job: {event}")
351
+
352
+ self.log.info("Bedrock provisioned throughput job `%s` complete.", event["provisioned_model_id"])
353
+ return event["provisioned_model_id"]
@@ -64,6 +64,7 @@ class GlueJobOperator(BaseOperator):
64
64
  (default: False)
65
65
  :param verbose: If True, Glue Job Run logs show in the Airflow Task Logs. (default: False)
66
66
  :param update_config: If True, Operator will update job configuration. (default: False)
67
+ :param replace_script_file: If True, the script file will be replaced in S3. (default: False)
67
68
  :param stop_job_run_on_kill: If True, Operator will stop the job run when task is killed.
68
69
  """
69
70
 
@@ -105,6 +106,7 @@ class GlueJobOperator(BaseOperator):
105
106
  wait_for_completion: bool = True,
106
107
  deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
107
108
  verbose: bool = False,
109
+ replace_script_file: bool = False,
108
110
  update_config: bool = False,
109
111
  job_poll_interval: int | float = 6,
110
112
  stop_job_run_on_kill: bool = False,
@@ -130,6 +132,7 @@ class GlueJobOperator(BaseOperator):
130
132
  self.wait_for_completion = wait_for_completion
131
133
  self.verbose = verbose
132
134
  self.update_config = update_config
135
+ self.replace_script_file = replace_script_file
133
136
  self.deferrable = deferrable
134
137
  self.job_poll_interval = job_poll_interval
135
138
  self.stop_job_run_on_kill = stop_job_run_on_kill
@@ -143,7 +146,10 @@ class GlueJobOperator(BaseOperator):
143
146
  s3_hook = S3Hook(aws_conn_id=self.aws_conn_id)
144
147
  script_name = os.path.basename(self.script_location)
145
148
  s3_hook.load_file(
146
- self.script_location, self.s3_artifacts_prefix + script_name, bucket_name=self.s3_bucket
149
+ self.script_location,
150
+ self.s3_artifacts_prefix + script_name,
151
+ bucket_name=self.s3_bucket,
152
+ replace=self.replace_script_file,
147
153
  )
148
154
  s3_script_location = f"s3://{self.s3_bucket}/{self.s3_artifacts_prefix}{script_name}"
149
155
  else: