apache-airflow-providers-amazon 8.25.0__tar.gz → 8.26.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 (246) hide show
  1. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/PKG-INFO +6 -6
  2. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/README.rst +3 -3
  3. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/__init__.py +1 -1
  4. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +10 -0
  5. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +19 -16
  6. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +22 -15
  7. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/athena.py +18 -9
  8. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/athena_sql.py +2 -1
  9. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/base_aws.py +34 -10
  10. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/chime.py +2 -1
  11. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/datasync.py +6 -3
  12. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/ecr.py +2 -1
  13. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/ecs.py +12 -6
  14. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/glacier.py +8 -4
  15. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/kinesis.py +2 -1
  16. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/logs.py +4 -2
  17. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +24 -12
  18. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/redshift_data.py +4 -2
  19. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/redshift_sql.py +6 -3
  20. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/s3.py +70 -53
  21. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/sagemaker.py +82 -41
  22. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/secrets_manager.py +6 -3
  23. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/sts.py +2 -1
  24. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/athena.py +21 -8
  25. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/batch.py +12 -6
  26. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/datasync.py +2 -1
  27. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/ecs.py +1 -0
  28. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/emr.py +6 -86
  29. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/glue.py +4 -2
  30. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/glue_crawler.py +22 -19
  31. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/neptune.py +2 -1
  32. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/redshift_cluster.py +2 -1
  33. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/s3.py +11 -1
  34. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/sagemaker.py +8 -10
  35. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/base_aws.py +2 -1
  36. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +25 -17
  37. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/glue_crawler.py +16 -12
  38. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/s3.py +11 -5
  39. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +6 -3
  40. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +2 -1
  41. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +2 -1
  42. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/ecs.py +3 -1
  43. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/glue.py +15 -3
  44. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/glue_crawler.py +8 -1
  45. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/connection_wrapper.py +10 -5
  46. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/mixins.py +2 -1
  47. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/redshift.py +2 -1
  48. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/get_provider_info.py +2 -1
  49. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/pyproject.toml +3 -3
  50. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/LICENSE +0 -0
  51. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/__init__.py +0 -0
  52. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
  53. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
  54. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
  55. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
  56. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
  57. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
  58. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
  59. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
  60. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
  61. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
  62. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
  63. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
  64. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
  65. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
  66. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
  67. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/exceptions.py +0 -0
  68. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
  69. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
  70. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
  71. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
  72. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
  73. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
  74. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
  75. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
  76. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
  77. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
  78. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
  79. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
  80. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
  81. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
  82. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/fs/s3.py +0 -0
  83. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
  84. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
  85. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
  86. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
  87. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
  88. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
  89. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
  90. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/comprehend.py +0 -0
  91. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
  92. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
  93. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
  94. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
  95. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
  96. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
  97. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
  98. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
  99. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
  100. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
  101. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
  102. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
  103. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
  104. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
  105. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
  106. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
  107. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
  108. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
  109. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
  110. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
  111. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
  112. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
  113. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/__init__.py +0 -0
  114. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/athena.py +0 -0
  115. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
  116. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/batch.py +0 -0
  117. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/emr.py +0 -0
  118. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/glue.py +0 -0
  119. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/logs.py +0 -0
  120. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/links/step_function.py +0 -0
  121. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/log/__init__.py +0 -0
  122. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
  123. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
  124. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
  125. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
  126. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
  127. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
  128. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
  129. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
  130. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
  131. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
  132. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
  133. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/comprehend.py +0 -0
  134. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/dms.py +0 -0
  135. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
  136. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/eks.py +0 -0
  137. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
  138. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
  139. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
  140. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
  141. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
  142. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/rds.py +0 -0
  143. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
  144. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/sns.py +0 -0
  145. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
  146. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
  147. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
  148. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
  149. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
  150. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
  151. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
  152. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/batch.py +0 -0
  153. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
  154. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
  155. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/comprehend.py +0 -0
  156. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/dms.py +0 -0
  157. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
  158. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
  159. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
  160. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
  161. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/emr.py +0 -0
  162. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
  163. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/glue.py +0 -0
  164. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
  165. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
  166. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
  167. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
  168. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
  169. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
  170. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
  171. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
  172. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
  173. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
  174. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/base.py +0 -0
  175. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
  176. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
  177. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
  178. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
  179. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
  180. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
  181. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
  182. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
  183. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
  184. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
  185. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +0 -0
  186. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
  187. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
  188. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
  189. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
  190. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
  191. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
  192. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/README.md +0 -0
  193. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
  194. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
  195. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/base.py +0 -0
  196. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
  197. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
  198. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/comprehend.py +0 -0
  199. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
  200. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
  201. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
  202. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
  203. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
  204. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
  205. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
  206. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
  207. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
  208. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
  209. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
  210. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/sagemaker.py +0 -0
  211. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
  212. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
  213. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/__init__.py +0 -0
  214. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
  215. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
  216. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
  217. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/rds.py +0 -0
  218. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
  219. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
  220. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
  221. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/tags.py +0 -0
  222. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
  223. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
  224. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
  225. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/README.md +0 -0
  226. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
  227. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
  228. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
  229. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
  230. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
  231. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
  232. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
  233. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/comprehend.json +0 -0
  234. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
  235. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
  236. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
  237. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
  238. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
  239. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
  240. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
  241. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
  242. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
  243. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
  244. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
  245. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.0}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
  246. {apache_airflow_providers_amazon-8.25.0 → apache_airflow_providers_amazon-8.26.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.25.0
3
+ Version: 8.26.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>
@@ -53,8 +53,8 @@ Requires-Dist: s3fs>=2023.10.0 ; extra == "s3fs"
53
53
  Requires-Dist: apache-airflow-providers-salesforce ; extra == "salesforce"
54
54
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
55
55
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
56
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.0/changelog.html
57
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.0
56
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/changelog.html
57
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0
58
58
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
59
59
  Project-URL: Source Code, https://github.com/apache/airflow
60
60
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -121,7 +121,7 @@ Provides-Extra: ssh
121
121
 
122
122
  Package ``apache-airflow-providers-amazon``
123
123
 
124
- Release: ``8.25.0``
124
+ Release: ``8.26.0``
125
125
 
126
126
 
127
127
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -134,7 +134,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
134
134
  are in ``airflow.providers.amazon`` python package.
135
135
 
136
136
  You can find package information and changelog for the provider
137
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.0/>`_.
137
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/>`_.
138
138
 
139
139
  Installation
140
140
  ------------
@@ -198,4 +198,4 @@ Dependent package
198
198
  ====================================================================================================================== ===================
199
199
 
200
200
  The changelog for the provider package can be found in the
201
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.0/changelog.html>`_.
201
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-amazon``
44
44
 
45
- Release: ``8.25.0``
45
+ Release: ``8.26.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.25.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/>`_.
59
59
 
60
60
  Installation
61
61
  ------------
@@ -119,4 +119,4 @@ Dependent package
119
119
  ====================================================================================================================== ===================
120
120
 
121
121
  The changelog for the provider package can be found in the
122
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.0/changelog.html>`_.
122
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.26.0/changelog.html>`_.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "8.25.0"
32
+ __version__ = "8.26.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.7.0"
@@ -81,6 +81,16 @@ class AwsAuthManager(BaseAuthManager):
81
81
  """
82
82
 
83
83
  def __init__(self, appbuilder: AirflowAppBuilder) -> None:
84
+ from packaging.version import Version
85
+
86
+ from airflow.version import version
87
+
88
+ # TODO: remove this if block when min_airflow_version is set to higher than 2.9.0
89
+ if Version(version) < Version("2.9"):
90
+ raise AirflowOptionalProviderFeatureException(
91
+ "``AwsAuthManager`` is compatible with Airflow versions >= 2.9."
92
+ )
93
+
84
94
  super().__init__(appbuilder)
85
95
  self._check_avp_schema_version()
86
96
 
@@ -20,8 +20,9 @@
20
20
  from __future__ import annotations
21
21
 
22
22
  import contextlib
23
+ import logging
23
24
  import time
24
- from collections import defaultdict, deque
25
+ from collections import deque
25
26
  from copy import deepcopy
26
27
  from typing import TYPE_CHECKING, Any, Dict, List, Sequence
27
28
 
@@ -264,7 +265,6 @@ class AwsBatchExecutor(BaseExecutor):
264
265
  in the next iteration of the sync() method, unless it has exceeded the maximum number of
265
266
  attempts. If a job exceeds the maximum number of attempts, it is removed from the queue.
266
267
  """
267
- failure_reasons = defaultdict(int)
268
268
  for _ in range(len(self.pending_jobs)):
269
269
  batch_job = self.pending_jobs.popleft()
270
270
  key = batch_job.key
@@ -272,7 +272,7 @@ class AwsBatchExecutor(BaseExecutor):
272
272
  queue = batch_job.queue
273
273
  exec_config = batch_job.executor_config
274
274
  attempt_number = batch_job.attempt_number
275
- _failure_reason = []
275
+ failure_reason: str | None = None
276
276
  if timezone.utcnow() < batch_job.next_attempt_time:
277
277
  self.pending_jobs.append(batch_job)
278
278
  continue
@@ -286,18 +286,18 @@ class AwsBatchExecutor(BaseExecutor):
286
286
  if error_code in INVALID_CREDENTIALS_EXCEPTIONS:
287
287
  self.pending_jobs.append(batch_job)
288
288
  raise
289
- _failure_reason.append(str(e))
289
+ failure_reason = str(e)
290
290
  except Exception as e:
291
- _failure_reason.append(str(e))
292
-
293
- if _failure_reason:
294
- for reason in _failure_reason:
295
- failure_reasons[reason] += 1
291
+ failure_reason = str(e)
296
292
 
293
+ if failure_reason:
297
294
  if attempt_number >= int(self.__class__.MAX_SUBMIT_JOB_ATTEMPTS):
298
- self.log.error(
299
- "This job has been unsuccessfully attempted too many times (%s). Dropping the task.",
295
+ self.send_message_to_task_logs(
296
+ logging.ERROR,
297
+ "This job has been unsuccessfully attempted too many times (%s). Dropping the task. Reason: %s",
300
298
  attempt_number,
299
+ failure_reason,
300
+ ti=key,
301
301
  )
302
302
  self.fail(key=key)
303
303
  else:
@@ -322,11 +322,6 @@ class AwsBatchExecutor(BaseExecutor):
322
322
  # running_state is added in Airflow 2.10 and only needed to support task adoption
323
323
  # (an optional executor feature).
324
324
  self.running_state(key, job_id)
325
- if failure_reasons:
326
- self.log.error(
327
- "Pending Batch jobs failed to launch for the following reasons: %s. Retrying later.",
328
- dict(failure_reasons),
329
- )
330
325
 
331
326
  def _describe_jobs(self, job_ids) -> list[BatchJob]:
332
327
  all_jobs = []
@@ -462,3 +457,11 @@ class AwsBatchExecutor(BaseExecutor):
462
457
 
463
458
  not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
464
459
  return not_adopted_tis
460
+
461
+ def send_message_to_task_logs(self, level: int, msg: str, *args, ti: TaskInstance | TaskInstanceKey):
462
+ # TODO: remove this method when min_airflow_version is set to higher than 2.10.0
463
+ try:
464
+ super().send_message_to_task_logs(level, msg, *args, ti=ti)
465
+ except AttributeError:
466
+ # ``send_message_to_task_logs`` is added in 2.10.0
467
+ self.log.error(msg, *args)
@@ -23,6 +23,7 @@ Each Airflow task gets delegated out to an Amazon ECS Task.
23
23
 
24
24
  from __future__ import annotations
25
25
 
26
+ import logging
26
27
  import time
27
28
  from collections import defaultdict, deque
28
29
  from copy import deepcopy
@@ -347,7 +348,7 @@ class AwsEcsExecutor(BaseExecutor):
347
348
  queue = ecs_task.queue
348
349
  exec_config = ecs_task.executor_config
349
350
  attempt_number = ecs_task.attempt_number
350
- _failure_reasons = []
351
+ failure_reasons = []
351
352
  if timezone.utcnow() < ecs_task.next_attempt_time:
352
353
  self.pending_tasks.append(ecs_task)
353
354
  continue
@@ -361,23 +362,21 @@ class AwsEcsExecutor(BaseExecutor):
361
362
  if error_code in INVALID_CREDENTIALS_EXCEPTIONS:
362
363
  self.pending_tasks.append(ecs_task)
363
364
  raise
364
- _failure_reasons.append(str(e))
365
+ failure_reasons.append(str(e))
365
366
  except Exception as e:
366
367
  # Failed to even get a response back from the Boto3 API or something else went
367
368
  # wrong. For any possible failure we want to add the exception reasons to the
368
369
  # failure list so that it is logged to the user and most importantly the task is
369
370
  # added back to the pending list to be retried later.
370
- _failure_reasons.append(str(e))
371
+ failure_reasons.append(str(e))
371
372
  else:
372
373
  # We got a response back, check if there were failures. If so, add them to the
373
374
  # failures list so that it is logged to the user and most importantly the task
374
375
  # is added back to the pending list to be retried later.
375
376
  if run_task_response["failures"]:
376
- _failure_reasons.extend([f["reason"] for f in run_task_response["failures"]])
377
+ failure_reasons.extend([f["reason"] for f in run_task_response["failures"]])
377
378
 
378
- if _failure_reasons:
379
- for reason in _failure_reasons:
380
- failure_reasons[reason] += 1
379
+ if failure_reasons:
381
380
  # Make sure the number of attempts does not exceed MAX_RUN_TASK_ATTEMPTS
382
381
  if int(attempt_number) < int(self.__class__.MAX_RUN_TASK_ATTEMPTS):
383
382
  ecs_task.attempt_number += 1
@@ -386,14 +385,19 @@ class AwsEcsExecutor(BaseExecutor):
386
385
  )
387
386
  self.pending_tasks.append(ecs_task)
388
387
  else:
389
- self.log.error(
390
- "ECS task %s has failed a maximum of %s times. Marking as failed",
388
+ self.send_message_to_task_logs(
389
+ logging.ERROR,
390
+ "ECS task %s has failed a maximum of %s times. Marking as failed. Reasons: %s",
391
391
  task_key,
392
392
  attempt_number,
393
+ ", ".join(failure_reasons),
394
+ ti=task_key,
393
395
  )
394
396
  self.fail(task_key)
395
397
  elif not run_task_response["tasks"]:
396
- self.log.error("ECS RunTask Response: %s", run_task_response)
398
+ self.send_message_to_task_logs(
399
+ logging.ERROR, "ECS RunTask Response: %s", run_task_response, ti=task_key
400
+ )
397
401
  raise EcsExecutorException(
398
402
  "No failures and no ECS tasks provided in response. This should never happen."
399
403
  )
@@ -407,11 +411,6 @@ class AwsEcsExecutor(BaseExecutor):
407
411
  # executor feature).
408
412
  # TODO: remove when min airflow version >= 2.9.2
409
413
  pass
410
- if failure_reasons:
411
- self.log.error(
412
- "Pending ECS tasks failed to launch for the following reasons: %s. Retrying later.",
413
- dict(failure_reasons),
414
- )
415
414
 
416
415
  def _run_task(
417
416
  self, task_id: TaskInstanceKey, cmd: CommandType, queue: str, exec_config: ExecutorConfigType
@@ -543,3 +542,11 @@ class AwsEcsExecutor(BaseExecutor):
543
542
 
544
543
  not_adopted_tis = [ti for ti in tis if ti not in adopted_tis]
545
544
  return not_adopted_tis
545
+
546
+ def send_message_to_task_logs(self, level: int, msg: str, *args, ti: TaskInstance | TaskInstanceKey):
547
+ # TODO: remove this method when min_airflow_version is set to higher than 2.10.0
548
+ try:
549
+ super().send_message_to_task_logs(level, msg, *args, ti=ti)
550
+ except AttributeError:
551
+ # ``send_message_to_task_logs`` is added in 2.10.0
552
+ self.log.error(msg, *args)
@@ -50,7 +50,8 @@ def query_params_to_string(params: dict[str, str | Collection[str]]) -> str:
50
50
 
51
51
 
52
52
  class AthenaHook(AwsBaseHook):
53
- """Interact with Amazon Athena.
53
+ """
54
+ Interact with Amazon Athena.
54
55
 
55
56
  Provide thick wrapper around
56
57
  :external+boto3:py:class:`boto3.client("athena") <Athena.Client>`.
@@ -106,7 +107,8 @@ class AthenaHook(AwsBaseHook):
106
107
  client_request_token: str | None = None,
107
108
  workgroup: str = "primary",
108
109
  ) -> str:
109
- """Run a Trino/Presto query on Athena with provided config.
110
+ """
111
+ Run a Trino/Presto query on Athena with provided config.
110
112
 
111
113
  .. seealso::
112
114
  - :external+boto3:py:meth:`Athena.Client.start_query_execution`
@@ -136,7 +138,8 @@ class AthenaHook(AwsBaseHook):
136
138
  return query_execution_id
137
139
 
138
140
  def get_query_info(self, query_execution_id: str, use_cache: bool = False) -> dict:
139
- """Get information about a single execution of a query.
141
+ """
142
+ Get information about a single execution of a query.
140
143
 
141
144
  .. seealso::
142
145
  - :external+boto3:py:meth:`Athena.Client.get_query_execution`
@@ -152,7 +155,8 @@ class AthenaHook(AwsBaseHook):
152
155
  return response
153
156
 
154
157
  def check_query_status(self, query_execution_id: str, use_cache: bool = False) -> str | None:
155
- """Fetch the state of a submitted query.
158
+ """
159
+ Fetch the state of a submitted query.
156
160
 
157
161
  .. seealso::
158
162
  - :external+boto3:py:meth:`Athena.Client.get_query_execution`
@@ -200,7 +204,8 @@ class AthenaHook(AwsBaseHook):
200
204
  def get_query_results(
201
205
  self, query_execution_id: str, next_token_id: str | None = None, max_results: int = 1000
202
206
  ) -> dict | None:
203
- """Fetch submitted query results.
207
+ """
208
+ Fetch submitted query results.
204
209
 
205
210
  .. seealso::
206
211
  - :external+boto3:py:meth:`Athena.Client.get_query_results`
@@ -234,7 +239,8 @@ class AthenaHook(AwsBaseHook):
234
239
  page_size: int | None = None,
235
240
  starting_token: str | None = None,
236
241
  ) -> PageIterator | None:
237
- """Fetch submitted Athena query results.
242
+ """
243
+ Fetch submitted Athena query results.
238
244
 
239
245
  .. seealso::
240
246
  - :external+boto3:py:class:`Athena.Paginator.GetQueryResults`
@@ -274,7 +280,8 @@ class AthenaHook(AwsBaseHook):
274
280
  def poll_query_status(
275
281
  self, query_execution_id: str, max_polling_attempts: int | None = None, sleep_time: int | None = None
276
282
  ) -> str | None:
277
- """Poll the state of a submitted query until it reaches final state.
283
+ """
284
+ Poll the state of a submitted query until it reaches final state.
278
285
 
279
286
  :param query_execution_id: ID of submitted athena query
280
287
  :param max_polling_attempts: Number of times to poll for query state before function exits
@@ -299,7 +306,8 @@ class AthenaHook(AwsBaseHook):
299
306
  return self.check_query_status(query_execution_id)
300
307
 
301
308
  def get_output_location(self, query_execution_id: str) -> str:
302
- """Get the output location of the query results in S3 URI format.
309
+ """
310
+ Get the output location of the query results in S3 URI format.
303
311
 
304
312
  .. seealso::
305
313
  - :external+boto3:py:meth:`Athena.Client.get_query_execution`
@@ -319,7 +327,8 @@ class AthenaHook(AwsBaseHook):
319
327
  raise
320
328
 
321
329
  def stop_query(self, query_execution_id: str) -> dict:
322
- """Cancel the submitted query.
330
+ """
331
+ Cancel the submitted query.
323
332
 
324
333
  .. seealso::
325
334
  - :external+boto3:py:meth:`Athena.Client.stop_query_execution`
@@ -33,7 +33,8 @@ if TYPE_CHECKING:
33
33
 
34
34
 
35
35
  class AthenaSQLHook(AwsBaseHook, DbApiHook):
36
- """Interact with Amazon Athena.
36
+ """
37
+ Interact with Amazon Athena.
37
38
 
38
39
  Provide wrapper around PyAthena library.
39
40
 
@@ -70,9 +70,23 @@ if TYPE_CHECKING:
70
70
 
71
71
  from airflow.models.connection import Connection # Avoid circular imports.
72
72
 
73
+ _loader = botocore.loaders.Loader()
74
+ """
75
+ botocore data loader to be used with async sessions
76
+
77
+ By default, a botocore session creates and caches an instance of JSONDecoder which
78
+ consumes a lot of memory. This issue was reported here https://github.com/boto/botocore/issues/3078.
79
+ In the context of triggers which use boto sessions, this can result in excessive
80
+ memory usage and as a result reduced capacity on the triggerer. We can reduce
81
+ memory footprint by sharing the loader instance across the sessions.
82
+
83
+ :meta private:
84
+ """
85
+
73
86
 
74
87
  class BaseSessionFactory(LoggingMixin):
75
- """Base AWS Session Factory class.
88
+ """
89
+ Base AWS Session Factory class.
76
90
 
77
91
  This handles synchronous and async boto session creation. It can handle most
78
92
  of the AWS supported authentication methods.
@@ -154,7 +168,9 @@ class BaseSessionFactory(LoggingMixin):
154
168
  def get_async_session(self):
155
169
  from aiobotocore.session import get_session as async_get_session
156
170
 
157
- return async_get_session()
171
+ session = async_get_session()
172
+ session.register_component("data_loader", _loader)
173
+ return session
158
174
 
159
175
  def create_session(
160
176
  self, deferrable: bool = False
@@ -435,7 +451,8 @@ class BaseSessionFactory(LoggingMixin):
435
451
 
436
452
 
437
453
  class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
438
- """Generic class for interact with AWS.
454
+ """
455
+ Generic class for interact with AWS.
439
456
 
440
457
  This class provide a thin wrapper around the boto3 Python library.
441
458
 
@@ -497,7 +514,8 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
497
514
 
498
515
  @staticmethod
499
516
  def _find_operator_class_name(target_function_name: str) -> str | None:
500
- """Given a frame off the stack, return the name of the class that made the call.
517
+ """
518
+ Given a frame off the stack, return the name of the class that made the call.
501
519
 
502
520
  This method may raise a ValueError or an IndexError. The caller is
503
521
  responsible with catching and handling those.
@@ -547,7 +565,8 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
547
565
  @staticmethod
548
566
  @return_on_error("00000000-0000-0000-0000-000000000000")
549
567
  def _generate_dag_key() -> str:
550
- """Generate a DAG key.
568
+ """
569
+ Generate a DAG key.
551
570
 
552
571
  The Object Identifier (OID) namespace is used to salt the dag_id value.
553
572
  That salted value is used to generate a SHA-1 hash which, by definition,
@@ -783,7 +802,8 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
783
802
  return creds
784
803
 
785
804
  def expand_role(self, role: str, region_name: str | None = None) -> str:
786
- """Get the Amazon Resource Name (ARN) for the role.
805
+ """
806
+ Get the Amazon Resource Name (ARN) for the role.
787
807
 
788
808
  If IAM role is already an IAM role ARN, the value is returned unchanged.
789
809
 
@@ -861,7 +881,8 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
861
881
  }
862
882
 
863
883
  def test_connection(self):
864
- """Test the AWS connection by call AWS STS (Security Token Service) GetCallerIdentity API.
884
+ """
885
+ Test the AWS connection by call AWS STS (Security Token Service) GetCallerIdentity API.
865
886
 
866
887
  .. seealso::
867
888
  https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html
@@ -898,7 +919,8 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
898
919
  deferrable: bool = False,
899
920
  client=None,
900
921
  ) -> Waiter:
901
- """Get a waiter by name.
922
+ """
923
+ Get a waiter by name.
902
924
 
903
925
  First checks if there is a custom waiter with the provided waiter_name and
904
926
  uses that if it exists, otherwise it will check the service client for a
@@ -969,7 +991,8 @@ class AwsGenericHook(BaseHook, Generic[BaseAwsConnection]):
969
991
 
970
992
 
971
993
  class AwsBaseHook(AwsGenericHook[Union[boto3.client, boto3.resource]]):
972
- """Base class for interact with AWS.
994
+ """
995
+ Base class for interact with AWS.
973
996
 
974
997
  This class provide a thin wrapper around the boto3 Python library.
975
998
 
@@ -1128,7 +1151,8 @@ class BaseAsyncSessionFactory(BaseSessionFactory):
1128
1151
  category=AirflowProviderDeprecationWarning,
1129
1152
  )
1130
1153
  class AwsBaseAsyncHook(AwsBaseHook):
1131
- """Interacts with AWS using aiobotocore asynchronously.
1154
+ """
1155
+ Interacts with AWS using aiobotocore asynchronously.
1132
1156
 
1133
1157
  :param aws_conn_id: The Airflow connection used for AWS credentials.
1134
1158
  If this is None or empty then the default botocore behaviour is used. If
@@ -30,7 +30,8 @@ from airflow.providers.http.hooks.http import HttpHook
30
30
 
31
31
 
32
32
  class ChimeWebhookHook(HttpHook):
33
- """Interact with Amazon Chime Webhooks to create notifications.
33
+ """
34
+ Interact with Amazon Chime Webhooks to create notifications.
34
35
 
35
36
  .. warning:: This hook is only designed to work with web hooks and not chat bots.
36
37
 
@@ -136,7 +136,8 @@ class DataSyncHook(AwsBaseHook):
136
136
  def create_task(
137
137
  self, source_location_arn: str, destination_location_arn: str, **create_task_kwargs
138
138
  ) -> str:
139
- """Create a Task between the specified source and destination LocationArns.
139
+ """
140
+ Create a Task between the specified source and destination LocationArns.
140
141
 
141
142
  .. seealso::
142
143
  - :external+boto3:py:meth:`DataSync.Client.create_task`
@@ -155,7 +156,8 @@ class DataSyncHook(AwsBaseHook):
155
156
  return task["TaskArn"]
156
157
 
157
158
  def update_task(self, task_arn: str, **update_task_kwargs) -> None:
158
- """Update a Task.
159
+ """
160
+ Update a Task.
159
161
 
160
162
  .. seealso::
161
163
  - :external+boto3:py:meth:`DataSync.Client.update_task`
@@ -166,7 +168,8 @@ class DataSyncHook(AwsBaseHook):
166
168
  self.get_conn().update_task(TaskArn=task_arn, **update_task_kwargs)
167
169
 
168
170
  def delete_task(self, task_arn: str) -> None:
169
- """Delete a Task.
171
+ """
172
+ Delete a Task.
170
173
 
171
174
  .. seealso::
172
175
  - :external+boto3:py:meth:`DataSync.Client.delete_task`
@@ -70,7 +70,8 @@ class EcrHook(AwsBaseHook):
70
70
  super().__init__(**kwargs)
71
71
 
72
72
  def get_temporary_credentials(self, registry_ids: list[str] | str | None = None) -> list[EcrCredentials]:
73
- """Get temporary credentials for Amazon ECR.
73
+ """
74
+ Get temporary credentials for Amazon ECR.
74
75
 
75
76
  .. seealso::
76
77
  - :external+boto3:py:meth:`ECR.Client.get_authorization_token`
@@ -152,42 +152,48 @@ class EcsProtocol(Protocol):
152
152
  """
153
153
 
154
154
  def run_task(self, **kwargs) -> dict:
155
- """Run a task.
155
+ """
156
+ Run a task.
156
157
 
157
158
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.run_task
158
159
  """
159
160
  ...
160
161
 
161
162
  def get_waiter(self, x: str) -> Waiter:
162
- """Get a waiter.
163
+ """
164
+ Get a waiter.
163
165
 
164
166
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.get_waiter
165
167
  """
166
168
  ...
167
169
 
168
170
  def describe_tasks(self, cluster: str, tasks) -> dict:
169
- """Describe tasks.
171
+ """
172
+ Describe tasks.
170
173
 
171
174
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.describe_tasks
172
175
  """
173
176
  ...
174
177
 
175
178
  def stop_task(self, cluster, task, reason: str) -> dict:
176
- """Stop a task.
179
+ """
180
+ Stop a task.
177
181
 
178
182
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.stop_task
179
183
  """
180
184
  ...
181
185
 
182
186
  def describe_task_definition(self, taskDefinition: str) -> dict:
183
- """Describe a task definition.
187
+ """
188
+ Describe a task definition.
184
189
 
185
190
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.describe_task_definition
186
191
  """
187
192
  ...
188
193
 
189
194
  def list_tasks(self, cluster: str, launchType: str, desiredStatus: str, family: str) -> dict:
190
- """List tasks.
195
+ """
196
+ List tasks.
191
197
 
192
198
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.list_tasks
193
199
  """
@@ -23,7 +23,8 @@ from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
23
23
 
24
24
 
25
25
  class GlacierHook(AwsBaseHook):
26
- """Interact with Amazon Glacier.
26
+ """
27
+ Interact with Amazon Glacier.
27
28
 
28
29
  This is a thin wrapper around
29
30
  :external+boto3:py:class:`boto3.client("glacier") <Glacier.Client>`.
@@ -40,7 +41,8 @@ class GlacierHook(AwsBaseHook):
40
41
  super().__init__(*args, **kwargs)
41
42
 
42
43
  def retrieve_inventory(self, vault_name: str) -> dict[str, Any]:
43
- """Initiate an Amazon Glacier inventory-retrieval job.
44
+ """
45
+ Initiate an Amazon Glacier inventory-retrieval job.
44
46
 
45
47
  .. seealso::
46
48
  - :external+boto3:py:meth:`Glacier.Client.initiate_job`
@@ -55,7 +57,8 @@ class GlacierHook(AwsBaseHook):
55
57
  return response
56
58
 
57
59
  def retrieve_inventory_results(self, vault_name: str, job_id: str) -> dict[str, Any]:
58
- """Retrieve the results of an Amazon Glacier inventory-retrieval job.
60
+ """
61
+ Retrieve the results of an Amazon Glacier inventory-retrieval job.
59
62
 
60
63
  .. seealso::
61
64
  - :external+boto3:py:meth:`Glacier.Client.get_job_output`
@@ -68,7 +71,8 @@ class GlacierHook(AwsBaseHook):
68
71
  return response
69
72
 
70
73
  def describe_job(self, vault_name: str, job_id: str) -> dict[str, Any]:
71
- """Retrieve the status of an Amazon S3 Glacier job.
74
+ """
75
+ Retrieve the status of an Amazon S3 Glacier job.
72
76
 
73
77
  .. seealso::
74
78
  - :external+boto3:py:meth:`Glacier.Client.describe_job`
@@ -45,7 +45,8 @@ class FirehoseHook(AwsBaseHook):
45
45
  super().__init__(*args, **kwargs)
46
46
 
47
47
  def put_records(self, records: Iterable):
48
- """Write batch records to Kinesis Firehose.
48
+ """
49
+ Write batch records to Kinesis Firehose.
49
50
 
50
51
  .. seealso::
51
52
  - :external+boto3:py:meth:`Firehose.Client.put_record_batch`
@@ -158,7 +158,8 @@ class AwsLogsHook(AwsBaseHook):
158
158
  async def describe_log_streams_async(
159
159
  self, log_group: str, stream_prefix: str, order_by: str, count: int
160
160
  ) -> dict[str, Any] | None:
161
- """Async function to get the list of log streams for the specified log group.
161
+ """
162
+ Async function to get the list of log streams for the specified log group.
162
163
 
163
164
  You can list all the log streams or filter the results by prefix. You can also control
164
165
  how the results are ordered.
@@ -193,7 +194,8 @@ class AwsLogsHook(AwsBaseHook):
193
194
  skip: int = 0,
194
195
  start_from_head: bool = True,
195
196
  ) -> AsyncGenerator[Any, dict[str, Any]]:
196
- """Yield all the available items in a single log stream.
197
+ """
198
+ Yield all the available items in a single log stream.
197
199
 
198
200
  :param log_group: The name of the log group.
199
201
  :param log_stream_name: The name of the specific stream.