apache-airflow-providers-amazon 8.24.0rc2__tar.gz → 8.25.0rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/PKG-INFO +8 -8
  2. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/README.rst +3 -3
  3. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/__init__.py +1 -1
  4. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/comprehend.py +33 -0
  5. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/redshift_sql.py +8 -1
  6. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/comprehend.py +148 -1
  7. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/comprehend.py +112 -1
  8. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/redshift_to_s3.py +1 -1
  9. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/comprehend.py +36 -0
  10. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/__init__.py +2 -3
  11. apache_airflow_providers_amazon-8.25.0rc1/airflow/providers/amazon/aws/waiters/comprehend.json +104 -0
  12. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/get_provider_info.py +4 -3
  13. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/pyproject.toml +5 -5
  14. apache_airflow_providers_amazon-8.24.0rc2/airflow/providers/amazon/aws/waiters/comprehend.json +0 -49
  15. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/LICENSE +0 -0
  16. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/__init__.py +0 -0
  17. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/__init__.py +0 -0
  18. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/__init__.py +0 -0
  19. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/entities.py +0 -0
  20. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/facade.py +0 -0
  21. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/avp/schema.json +0 -0
  22. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/aws_auth_manager.py +0 -0
  23. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/__init__.py +0 -0
  24. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/avp_commands.py +0 -0
  25. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/definition.py +0 -0
  26. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/cli/idc_commands.py +0 -0
  27. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/constants.py +0 -0
  28. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/__init__.py +0 -0
  29. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/security_manager/aws_security_manager_override.py +0 -0
  30. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/user.py +0 -0
  31. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/views/__init__.py +0 -0
  32. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/auth_manager/views/auth.py +0 -0
  33. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/exceptions.py +0 -0
  34. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/Dockerfile +0 -0
  35. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/__init__.py +0 -0
  36. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/batch/__init__.py +0 -0
  37. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor.py +0 -0
  38. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/batch/batch_executor_config.py +0 -0
  39. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/batch/boto_schema.py +0 -0
  40. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/batch/utils.py +0 -0
  41. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/ecs/__init__.py +0 -0
  42. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/ecs/boto_schema.py +0 -0
  43. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +0 -0
  44. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/ecs/ecs_executor_config.py +0 -0
  45. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/ecs/utils.py +0 -0
  46. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/utils/__init__.py +0 -0
  47. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/utils/base_config_keys.py +0 -0
  48. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py +0 -0
  49. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/fs/__init__.py +0 -0
  50. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/fs/s3.py +0 -0
  51. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/__init__.py +0 -0
  52. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/appflow.py +0 -0
  53. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/athena.py +0 -0
  54. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/athena_sql.py +0 -0
  55. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/base_aws.py +0 -0
  56. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/batch_client.py +0 -0
  57. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.json +0 -0
  58. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/batch_waiters.py +0 -0
  59. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/bedrock.py +0 -0
  60. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/chime.py +0 -0
  61. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/cloud_formation.py +0 -0
  62. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/datasync.py +0 -0
  63. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/dms.py +0 -0
  64. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/dynamodb.py +0 -0
  65. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/ec2.py +0 -0
  66. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/ecr.py +0 -0
  67. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/ecs.py +0 -0
  68. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/eks.py +0 -0
  69. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +0 -0
  70. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/emr.py +0 -0
  71. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/eventbridge.py +0 -0
  72. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/glacier.py +0 -0
  73. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/glue.py +0 -0
  74. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/glue_catalog.py +0 -0
  75. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/glue_crawler.py +0 -0
  76. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/glue_databrew.py +0 -0
  77. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/kinesis.py +0 -0
  78. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/lambda_function.py +0 -0
  79. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/logs.py +0 -0
  80. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/neptune.py +0 -0
  81. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/opensearch_serverless.py +0 -0
  82. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/quicksight.py +0 -0
  83. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/rds.py +0 -0
  84. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/redshift_cluster.py +0 -0
  85. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/redshift_data.py +0 -0
  86. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/s3.py +0 -0
  87. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/sagemaker.py +0 -0
  88. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/secrets_manager.py +0 -0
  89. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/ses.py +0 -0
  90. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/sns.py +0 -0
  91. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/sqs.py +0 -0
  92. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/ssm.py +0 -0
  93. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/step_function.py +0 -0
  94. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/sts.py +0 -0
  95. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/hooks/verified_permissions.py +0 -0
  96. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/__init__.py +0 -0
  97. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/athena.py +0 -0
  98. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/base_aws.py +0 -0
  99. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/batch.py +0 -0
  100. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/emr.py +0 -0
  101. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/glue.py +0 -0
  102. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/logs.py +0 -0
  103. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/links/step_function.py +0 -0
  104. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/log/__init__.py +0 -0
  105. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +0 -0
  106. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/log/s3_task_handler.py +0 -0
  107. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/notifications/__init__.py +0 -0
  108. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/notifications/chime.py +0 -0
  109. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/notifications/sns.py +0 -0
  110. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/notifications/sqs.py +0 -0
  111. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/__init__.py +0 -0
  112. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/appflow.py +0 -0
  113. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/athena.py +0 -0
  114. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/base_aws.py +0 -0
  115. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/batch.py +0 -0
  116. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/bedrock.py +0 -0
  117. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/cloud_formation.py +0 -0
  118. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/datasync.py +0 -0
  119. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/dms.py +0 -0
  120. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/ec2.py +0 -0
  121. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/ecs.py +0 -0
  122. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/eks.py +0 -0
  123. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/emr.py +0 -0
  124. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/eventbridge.py +0 -0
  125. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/glacier.py +0 -0
  126. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/glue.py +0 -0
  127. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/glue_crawler.py +0 -0
  128. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/glue_databrew.py +0 -0
  129. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/lambda_function.py +0 -0
  130. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/neptune.py +0 -0
  131. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/quicksight.py +0 -0
  132. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/rds.py +0 -0
  133. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/redshift_cluster.py +0 -0
  134. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/redshift_data.py +0 -0
  135. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/s3.py +0 -0
  136. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/sagemaker.py +0 -0
  137. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/sns.py +0 -0
  138. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/sqs.py +0 -0
  139. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/operators/step_function.py +0 -0
  140. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/secrets/__init__.py +0 -0
  141. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/secrets/secrets_manager.py +0 -0
  142. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/secrets/systems_manager.py +0 -0
  143. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/__init__.py +0 -0
  144. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/athena.py +0 -0
  145. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/base_aws.py +0 -0
  146. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/batch.py +0 -0
  147. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/bedrock.py +0 -0
  148. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/cloud_formation.py +0 -0
  149. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/dms.py +0 -0
  150. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/dynamodb.py +0 -0
  151. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/ec2.py +0 -0
  152. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/ecs.py +0 -0
  153. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/eks.py +0 -0
  154. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/emr.py +0 -0
  155. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/glacier.py +0 -0
  156. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/glue.py +0 -0
  157. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +0 -0
  158. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/glue_crawler.py +0 -0
  159. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/lambda_function.py +0 -0
  160. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/opensearch_serverless.py +0 -0
  161. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/quicksight.py +0 -0
  162. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/rds.py +0 -0
  163. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/redshift_cluster.py +0 -0
  164. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/s3.py +0 -0
  165. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/sagemaker.py +0 -0
  166. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/sqs.py +0 -0
  167. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/sensors/step_function.py +0 -0
  168. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/__init__.py +0 -0
  169. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +0 -0
  170. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/base.py +0 -0
  171. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/dynamodb_to_s3.py +0 -0
  172. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/exasol_to_s3.py +0 -0
  173. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/ftp_to_s3.py +0 -0
  174. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/gcs_to_s3.py +0 -0
  175. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +0 -0
  176. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/google_api_to_s3.py +0 -0
  177. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +0 -0
  178. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/http_to_s3.py +0 -0
  179. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +0 -0
  180. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/local_to_s3.py +0 -0
  181. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/mongo_to_s3.py +0 -0
  182. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +0 -0
  183. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_ftp.py +0 -0
  184. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_redshift.py +0 -0
  185. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sftp.py +0 -0
  186. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/s3_to_sql.py +0 -0
  187. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +0 -0
  188. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/sftp_to_s3.py +0 -0
  189. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/transfers/sql_to_s3.py +0 -0
  190. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/README.md +0 -0
  191. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/__init__.py +0 -0
  192. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/athena.py +0 -0
  193. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/base.py +0 -0
  194. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/batch.py +0 -0
  195. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/bedrock.py +0 -0
  196. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/ec2.py +0 -0
  197. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/ecs.py +0 -0
  198. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/eks.py +0 -0
  199. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/emr.py +0 -0
  200. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/glue.py +0 -0
  201. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/glue_crawler.py +0 -0
  202. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/glue_databrew.py +0 -0
  203. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/lambda_function.py +0 -0
  204. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/neptune.py +0 -0
  205. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/opensearch_serverless.py +0 -0
  206. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/rds.py +0 -0
  207. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/redshift_cluster.py +0 -0
  208. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/redshift_data.py +0 -0
  209. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/s3.py +0 -0
  210. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/sagemaker.py +0 -0
  211. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/sqs.py +0 -0
  212. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/triggers/step_function.py +0 -0
  213. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/connection_wrapper.py +0 -0
  214. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/eks_get_token.py +0 -0
  215. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/emailer.py +0 -0
  216. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/identifiers.py +0 -0
  217. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/mixins.py +0 -0
  218. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/rds.py +0 -0
  219. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/redshift.py +0 -0
  220. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/sagemaker.py +0 -0
  221. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/sqs.py +0 -0
  222. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/suppress.py +0 -0
  223. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/tags.py +0 -0
  224. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/task_log_fetcher.py +0 -0
  225. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/waiter.py +0 -0
  226. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/utils/waiter_with_logging.py +0 -0
  227. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/README.md +0 -0
  228. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/__init__.py +0 -0
  229. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/appflow.json +0 -0
  230. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/athena.json +0 -0
  231. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/base_waiter.py +0 -0
  232. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/batch.json +0 -0
  233. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/bedrock-agent.json +0 -0
  234. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/bedrock.json +0 -0
  235. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/databrew.json +0 -0
  236. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/dynamodb.json +0 -0
  237. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/ecs.json +0 -0
  238. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/eks.json +0 -0
  239. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/emr-containers.json +0 -0
  240. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/emr-serverless.json +0 -0
  241. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/emr.json +0 -0
  242. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/glue.json +0 -0
  243. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/neptune.json +0 -0
  244. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/opensearchserverless.json +0 -0
  245. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/redshift.json +0 -0
  246. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/sagemaker.json +0 -0
  247. {apache_airflow_providers_amazon-8.24.0rc2 → apache_airflow_providers_amazon-8.25.0rc1}/airflow/providers/amazon/aws/waiters/stepfunctions.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-amazon
3
- Version: 8.24.0rc2
3
+ Version: 8.25.0rc1
4
4
  Summary: Provider package apache-airflow-providers-amazon for Apache Airflow
5
5
  Keywords: airflow-provider,amazon,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -46,15 +46,15 @@ Requires-Dist: apache-airflow-providers-imap ; extra == "imap"
46
46
  Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft.azure"
47
47
  Requires-Dist: apache-airflow-providers-mongo ; extra == "mongo"
48
48
  Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
49
- Requires-Dist: pandas>=1.5.3,<2.2 ; extra == "pandas" and (python_version<"3.12")
50
- Requires-Dist: pandas>=2.1.1,<2.2 ; extra == "pandas" and (python_version>="3.12")
49
+ Requires-Dist: pandas>=2.1.2,<2.2 ; extra == "pandas" and (python_version>="3.9")
50
+ Requires-Dist: pandas>=1.5.3,<2.2 ; extra == "pandas" and (python_version<"3.9")
51
51
  Requires-Dist: python3-saml>=1.16.0 ; extra == "python3-saml"
52
52
  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.24.0/changelog.html
57
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.24.0
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
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.24.0.rc2``
124
+ Release: ``8.25.0.rc1``
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.24.0/>`_.
137
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.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.24.0/changelog.html>`_.
201
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-amazon``
44
44
 
45
- Release: ``8.24.0.rc2``
45
+ Release: ``8.25.0.rc1``
46
46
 
47
47
 
48
48
  Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).
@@ -55,7 +55,7 @@ This is a provider package for ``amazon`` provider. All classes for this provide
55
55
  are in ``airflow.providers.amazon`` python package.
56
56
 
57
57
  You can find package information and changelog for the provider
58
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.24.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.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.24.0/changelog.html>`_.
122
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-amazon/8.25.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.24.0"
32
+ __version__ = "8.25.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.7.0"
@@ -16,6 +16,7 @@
16
16
  # under the License.
17
17
  from __future__ import annotations
18
18
 
19
+ from airflow.exceptions import AirflowException
19
20
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
20
21
 
21
22
 
@@ -35,3 +36,35 @@ class ComprehendHook(AwsBaseHook):
35
36
  def __init__(self, *args, **kwargs) -> None:
36
37
  kwargs["client_type"] = "comprehend"
37
38
  super().__init__(*args, **kwargs)
39
+
40
+ def validate_document_classifier_training_status(
41
+ self, document_classifier_arn: str, fail_on_warnings: bool = False
42
+ ) -> None:
43
+ """
44
+ Log the Information about the document classifier.
45
+
46
+ NumberOfLabels
47
+ NumberOfTrainedDocuments
48
+ NumberOfTestDocuments
49
+ EvaluationMetrics
50
+
51
+ """
52
+ response = self.conn.describe_document_classifier(DocumentClassifierArn=document_classifier_arn)
53
+
54
+ status = response["DocumentClassifierProperties"]["Status"]
55
+
56
+ if status == "TRAINED_WITH_WARNING":
57
+ self.log.info(
58
+ "AWS Comprehend document classifier training completed with %s, Message: %s please review the skipped files folder in the output location %s",
59
+ status,
60
+ response["DocumentClassifierProperties"]["Message"],
61
+ response["DocumentClassifierProperties"]["OutputDataConfig"]["S3Uri"],
62
+ )
63
+
64
+ if fail_on_warnings:
65
+ raise AirflowException("Warnings in AWS Comprehend document classifier training.")
66
+
67
+ self.log.info(
68
+ "AWS Comprehend document classifier metadata: %s",
69
+ response["DocumentClassifierProperties"]["ClassifierMetadata"],
70
+ )
@@ -20,14 +20,19 @@ from functools import cached_property
20
20
  from typing import TYPE_CHECKING
21
21
 
22
22
  import redshift_connector
23
+ from packaging.version import Version
23
24
  from redshift_connector import Connection as RedshiftConnection
24
25
  from sqlalchemy import create_engine
25
26
  from sqlalchemy.engine.url import URL
26
27
 
28
+ from airflow import __version__ as AIRFLOW_VERSION
27
29
  from airflow.exceptions import AirflowException
28
30
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
29
31
  from airflow.providers.common.sql.hooks.sql import DbApiHook
30
32
 
33
+ _IS_AIRFLOW_2_10_OR_HIGHER = Version(Version(AIRFLOW_VERSION).base_version) >= Version("2.10.0")
34
+
35
+
31
36
  if TYPE_CHECKING:
32
37
  from airflow.models.connection import Connection
33
38
  from airflow.providers.openlineage.sqlparser import DatabaseInfo
@@ -257,4 +262,6 @@ class RedshiftSQLHook(DbApiHook):
257
262
 
258
263
  def get_openlineage_default_schema(self) -> str | None:
259
264
  """Return current schema. This is usually changed with ``SEARCH_PATH`` parameter."""
260
- return self.get_first("SELECT CURRENT_SCHEMA();")[0]
265
+ if _IS_AIRFLOW_2_10_OR_HIGHER:
266
+ return self.get_first("SELECT CURRENT_SCHEMA();")[0]
267
+ return super().get_openlineage_default_schema()
@@ -23,7 +23,10 @@ from airflow.configuration import conf
23
23
  from airflow.exceptions import AirflowException
24
24
  from airflow.providers.amazon.aws.hooks.comprehend import ComprehendHook
25
25
  from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
26
- from airflow.providers.amazon.aws.triggers.comprehend import ComprehendPiiEntitiesDetectionJobCompletedTrigger
26
+ from airflow.providers.amazon.aws.triggers.comprehend import (
27
+ ComprehendCreateDocumentClassifierCompletedTrigger,
28
+ ComprehendPiiEntitiesDetectionJobCompletedTrigger,
29
+ )
27
30
  from airflow.providers.amazon.aws.utils import validate_execute_complete_event
28
31
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
29
32
  from airflow.utils.timezone import utcnow
@@ -190,3 +193,147 @@ class ComprehendStartPiiEntitiesDetectionJobOperator(ComprehendBaseOperator):
190
193
 
191
194
  self.log.info("Comprehend pii entities detection job `%s` complete.", event["job_id"])
192
195
  return event["job_id"]
196
+
197
+
198
+ class ComprehendCreateDocumentClassifierOperator(AwsBaseOperator[ComprehendHook]):
199
+ """
200
+ Create a comprehend document classifier that can categorize documents.
201
+
202
+ Provide a set of training documents that are labeled with the categories.
203
+
204
+ .. seealso::
205
+ For more information on how to use this operator, take a look at the guide:
206
+ :ref:`howto/operator:ComprehendCreateDocumentClassifierOperator`
207
+
208
+ :param document_classifier_name: The name of the document classifier. (templated)
209
+ :param input_data_config: Specifies the format and location of the input data for the job. (templated)
210
+ :param mode: Indicates the mode in which the classifier will be trained. (templated)
211
+ :param data_access_role_arn: The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend
212
+ read access to your input data. (templated)
213
+ :param language_code: The language of the input documents. You can specify any of the languages supported by
214
+ Amazon Comprehend. All documents must be in the same language. (templated)
215
+ :param fail_on_warnings: If set to True, the document classifier training job will throw an error when the
216
+ status is TRAINED_WITH_WARNING. (default False)
217
+ :param output_data_config: Specifies the location for the output files from a custom classifier job.
218
+ This parameter is required for a request that creates a native document model. (templated)
219
+ :param document_classifier_kwargs: Any optional parameters to pass to the document classifier. (templated)
220
+
221
+ :param wait_for_completion: Whether to wait for job to stop. (default: True)
222
+ :param waiter_delay: Time in seconds to wait between status checks. (default: 60)
223
+ :param waiter_max_attempts: Maximum number of attempts to check for job completion. (default: 20)
224
+ :param deferrable: If True, the operator will wait asynchronously for the job to stop.
225
+ This implies waiting for completion. This mode requires aiobotocore module to be installed.
226
+ (default: False)
227
+ :param aws_conn_id: The Airflow connection used for AWS credentials.
228
+ If this is ``None`` or empty then the default boto3 behaviour is used. If
229
+ running Airflow in a distributed manner and aws_conn_id is None or
230
+ empty, then default boto3 configuration would be used (and must be
231
+ maintained on each worker node).
232
+ :param region_name: AWS region_name. If not specified then the default boto3 behaviour is used.
233
+ :param verify: Whether to verify SSL certificates. See:
234
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
235
+ :param botocore_config: Configuration dictionary (key-values) for botocore client. See:
236
+ https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
237
+ """
238
+
239
+ aws_hook_class = ComprehendHook
240
+
241
+ template_fields: Sequence[str] = aws_template_fields(
242
+ "document_classifier_name",
243
+ "input_data_config",
244
+ "mode",
245
+ "data_access_role_arn",
246
+ "language_code",
247
+ "output_data_config",
248
+ "document_classifier_kwargs",
249
+ )
250
+
251
+ template_fields_renderers: dict = {
252
+ "input_data_config": "json",
253
+ "output_data_config": "json",
254
+ "document_classifier_kwargs": "json",
255
+ }
256
+
257
+ def __init__(
258
+ self,
259
+ document_classifier_name: str,
260
+ input_data_config: dict[str, Any],
261
+ mode: str,
262
+ data_access_role_arn: str,
263
+ language_code: str,
264
+ fail_on_warnings: bool = False,
265
+ output_data_config: dict[str, Any] | None = None,
266
+ document_classifier_kwargs: dict[str, Any] | None = None,
267
+ wait_for_completion: bool = True,
268
+ waiter_delay: int = 60,
269
+ waiter_max_attempts: int = 20,
270
+ deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
271
+ aws_conn_id: str | None = "aws_default",
272
+ **kwargs,
273
+ ):
274
+ super().__init__(**kwargs)
275
+ self.document_classifier_name = document_classifier_name
276
+ self.input_data_config = input_data_config
277
+ self.mode = mode
278
+ self.data_access_role_arn = data_access_role_arn
279
+ self.language_code = language_code
280
+ self.fail_on_warnings = fail_on_warnings
281
+ self.output_data_config = output_data_config
282
+ self.document_classifier_kwargs = document_classifier_kwargs or {}
283
+ self.wait_for_completion = wait_for_completion
284
+ self.waiter_delay = waiter_delay
285
+ self.waiter_max_attempts = waiter_max_attempts
286
+ self.deferrable = deferrable
287
+ self.aws_conn_id = aws_conn_id
288
+
289
+ def execute(self, context: Context) -> str:
290
+ if self.output_data_config:
291
+ self.document_classifier_kwargs["OutputDataConfig"] = self.output_data_config
292
+
293
+ document_classifier_arn = self.hook.conn.create_document_classifier(
294
+ DocumentClassifierName=self.document_classifier_name,
295
+ InputDataConfig=self.input_data_config,
296
+ Mode=self.mode,
297
+ DataAccessRoleArn=self.data_access_role_arn,
298
+ LanguageCode=self.language_code,
299
+ **self.document_classifier_kwargs,
300
+ )["DocumentClassifierArn"]
301
+
302
+ message_description = f"document classifier {document_classifier_arn} to complete."
303
+ if self.deferrable:
304
+ self.log.info("Deferring %s", message_description)
305
+ self.defer(
306
+ trigger=ComprehendCreateDocumentClassifierCompletedTrigger(
307
+ document_classifier_arn=document_classifier_arn,
308
+ waiter_delay=self.waiter_delay,
309
+ waiter_max_attempts=self.waiter_max_attempts,
310
+ aws_conn_id=self.aws_conn_id,
311
+ ),
312
+ method_name="execute_complete",
313
+ )
314
+ elif self.wait_for_completion:
315
+ self.log.info("Waiting for %s", message_description)
316
+
317
+ self.hook.get_waiter("create_document_classifier_complete").wait(
318
+ DocumentClassifierArn=document_classifier_arn,
319
+ WaiterConfig={"Delay": self.waiter_delay, "MaxAttempts": self.waiter_max_attempts},
320
+ )
321
+
322
+ self.hook.validate_document_classifier_training_status(
323
+ document_classifier_arn=document_classifier_arn, fail_on_warnings=self.fail_on_warnings
324
+ )
325
+
326
+ return document_classifier_arn
327
+
328
+ def execute_complete(self, context: Context, event: dict[str, Any] | None = None) -> str:
329
+ event = validate_execute_complete_event(event)
330
+ if event["status"] != "success":
331
+ raise AirflowException("Error while running comprehend create document classifier: %s", event)
332
+
333
+ self.hook.validate_document_classifier_training_status(
334
+ document_classifier_arn=event["document_classifier_arn"], fail_on_warnings=self.fail_on_warnings
335
+ )
336
+
337
+ self.log.info("Comprehend document classifier `%s` complete.", event["document_classifier_arn"])
338
+
339
+ return event["document_classifier_arn"]
@@ -23,7 +23,10 @@ from airflow.configuration import conf
23
23
  from airflow.exceptions import AirflowException, AirflowSkipException
24
24
  from airflow.providers.amazon.aws.hooks.comprehend import ComprehendHook
25
25
  from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
26
- from airflow.providers.amazon.aws.triggers.comprehend import ComprehendPiiEntitiesDetectionJobCompletedTrigger
26
+ from airflow.providers.amazon.aws.triggers.comprehend import (
27
+ ComprehendCreateDocumentClassifierCompletedTrigger,
28
+ ComprehendPiiEntitiesDetectionJobCompletedTrigger,
29
+ )
27
30
  from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
28
31
 
29
32
  if TYPE_CHECKING:
@@ -145,3 +148,111 @@ class ComprehendStartPiiEntitiesDetectionJobCompletedSensor(ComprehendBaseSensor
145
148
  return self.hook.conn.describe_pii_entities_detection_job(JobId=self.job_id)[
146
149
  "PiiEntitiesDetectionJobProperties"
147
150
  ]["JobStatus"]
151
+
152
+
153
+ class ComprehendCreateDocumentClassifierCompletedSensor(AwsBaseSensor[ComprehendHook]):
154
+ """
155
+ Poll the state of the document classifier until it reaches a completed state; fails if the job fails.
156
+
157
+ .. seealso::
158
+ For more information on how to use this sensor, take a look at the guide:
159
+ :ref:`howto/sensor:ComprehendCreateDocumentClassifierCompletedSensor`
160
+
161
+ :param document_classifier_arn: The arn of the Comprehend document classifier.
162
+ :param fail_on_warnings: If set to True, the document classifier training job will throw an error when the
163
+ status is TRAINED_WITH_WARNING. (default False)
164
+
165
+ :param deferrable: If True, the sensor will operate in deferrable mode. This mode requires aiobotocore
166
+ module to be installed.
167
+ (default: False, but can be overridden in config file by setting default_deferrable to True)
168
+ :param poke_interval: Polling period in seconds to check for the status of the job. (default: 120)
169
+ :param max_retries: Number of times before returning the current state. (default: 75)
170
+ :param aws_conn_id: The Airflow connection used for AWS credentials.
171
+ If this is ``None`` or empty then the default boto3 behaviour is used. If
172
+ running Airflow in a distributed manner and aws_conn_id is None or
173
+ empty, then default boto3 configuration would be used (and must be
174
+ maintained on each worker node).
175
+ :param region_name: AWS region_name. If not specified then the default boto3 behaviour is used.
176
+ :param verify: Whether to verify SSL certificates. See:
177
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html
178
+ :param botocore_config: Configuration dictionary (key-values) for botocore client. See:
179
+ https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html
180
+ """
181
+
182
+ aws_hook_class = ComprehendHook
183
+
184
+ INTERMEDIATE_STATES: tuple[str, ...] = (
185
+ "SUBMITTED",
186
+ "TRAINING",
187
+ )
188
+ FAILURE_STATES: tuple[str, ...] = (
189
+ "DELETING",
190
+ "STOP_REQUESTED",
191
+ "STOPPED",
192
+ "IN_ERROR",
193
+ )
194
+ SUCCESS_STATES: tuple[str, ...] = ("TRAINED", "TRAINED_WITH_WARNING")
195
+ FAILURE_MESSAGE = "Comprehend document classifier failed."
196
+
197
+ template_fields: Sequence[str] = aws_template_fields("document_classifier_arn")
198
+
199
+ def __init__(
200
+ self,
201
+ *,
202
+ document_classifier_arn: str,
203
+ fail_on_warnings: bool = False,
204
+ max_retries: int = 75,
205
+ poke_interval: int = 120,
206
+ deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
207
+ aws_conn_id: str | None = "aws_default",
208
+ **kwargs: Any,
209
+ ) -> None:
210
+ super().__init__(**kwargs)
211
+ self.document_classifier_arn = document_classifier_arn
212
+ self.fail_on_warnings = fail_on_warnings
213
+ self.max_retries = max_retries
214
+ self.poke_interval = poke_interval
215
+ self.deferrable = deferrable
216
+ self.aws_conn_id = aws_conn_id
217
+
218
+ def execute(self, context: Context) -> Any:
219
+ if self.deferrable:
220
+ self.defer(
221
+ trigger=ComprehendCreateDocumentClassifierCompletedTrigger(
222
+ document_classifier_arn=self.document_classifier_arn,
223
+ waiter_delay=int(self.poke_interval),
224
+ waiter_max_attempts=self.max_retries,
225
+ aws_conn_id=self.aws_conn_id,
226
+ ),
227
+ method_name="poke",
228
+ )
229
+ else:
230
+ super().execute(context=context)
231
+
232
+ def poke(self, context: Context, **kwargs) -> bool:
233
+ status = self.hook.conn.describe_document_classifier(
234
+ DocumentClassifierArn=self.document_classifier_arn
235
+ )["DocumentClassifierProperties"]["Status"]
236
+
237
+ self.log.info(
238
+ "Poking for AWS Comprehend document classifier arn: %s status: %s",
239
+ self.document_classifier_arn,
240
+ status,
241
+ )
242
+
243
+ if status in self.FAILURE_STATES:
244
+ # TODO: remove this if block when min_airflow_version is set to higher than 2.7.1
245
+ if self.soft_fail:
246
+ raise AirflowSkipException(self.FAILURE_MESSAGE)
247
+ raise AirflowException(self.FAILURE_MESSAGE)
248
+
249
+ if status in self.SUCCESS_STATES:
250
+ self.hook.validate_document_classifier_training_status(
251
+ document_classifier_arn=self.document_classifier_arn, fail_on_warnings=self.fail_on_warnings
252
+ )
253
+
254
+ self.log.info("Comprehend document classifier `%s` complete.", self.document_classifier_arn)
255
+
256
+ return True
257
+
258
+ return False
@@ -128,7 +128,7 @@ class RedshiftToS3Operator(BaseOperator):
128
128
  self, credentials_block: str, select_query: str, s3_key: str, unload_options: str
129
129
  ) -> str:
130
130
  # Un-escape already escaped queries
131
- select_query = re.sub(r"''(.+)''", r"'\1'", select_query)
131
+ select_query = re.sub(r"''(.+?)''", r"'\1'", select_query)
132
132
  return f"""
133
133
  UNLOAD ($${select_query}$$)
134
134
  TO 's3://{self.s3_bucket}/{s3_key}'
@@ -59,3 +59,39 @@ class ComprehendPiiEntitiesDetectionJobCompletedTrigger(AwsBaseWaiterTrigger):
59
59
 
60
60
  def hook(self) -> AwsGenericHook:
61
61
  return ComprehendHook(aws_conn_id=self.aws_conn_id)
62
+
63
+
64
+ class ComprehendCreateDocumentClassifierCompletedTrigger(AwsBaseWaiterTrigger):
65
+ """
66
+ Trigger when a Comprehend document classifier is complete.
67
+
68
+ :param document_classifier_arn: The arn of the Comprehend document classifier.
69
+ :param waiter_delay: The amount of time in seconds to wait between attempts. (default: 120)
70
+ :param waiter_max_attempts: The maximum number of attempts to be made. (default: 75)
71
+ :param aws_conn_id: The Airflow connection used for AWS credentials.
72
+ """
73
+
74
+ def __init__(
75
+ self,
76
+ *,
77
+ document_classifier_arn: str,
78
+ waiter_delay: int = 120,
79
+ waiter_max_attempts: int = 75,
80
+ aws_conn_id: str | None = "aws_default",
81
+ ) -> None:
82
+ super().__init__(
83
+ serialized_fields={"document_classifier_arn": document_classifier_arn},
84
+ waiter_name="create_document_classifier_complete",
85
+ waiter_args={"DocumentClassifierArn": document_classifier_arn},
86
+ failure_message="Comprehend create document classifier failed.",
87
+ status_message="Status of Comprehend create document classifier is",
88
+ status_queries=["DocumentClassifierProperties.Status"],
89
+ return_key="document_classifier_arn",
90
+ return_value=document_classifier_arn,
91
+ waiter_delay=waiter_delay,
92
+ waiter_max_attempts=waiter_max_attempts,
93
+ aws_conn_id=aws_conn_id,
94
+ )
95
+
96
+ def hook(self) -> AwsGenericHook:
97
+ return ComprehendHook(aws_conn_id=self.aws_conn_id)
@@ -20,10 +20,9 @@ import logging
20
20
  import re
21
21
  from datetime import datetime, timezone
22
22
  from enum import Enum
23
+ from importlib import metadata
23
24
  from typing import Any
24
25
 
25
- import importlib_metadata
26
-
27
26
  from airflow.exceptions import AirflowException
28
27
  from airflow.utils.helpers import prune_dict
29
28
  from airflow.version import version
@@ -78,7 +77,7 @@ def get_airflow_version() -> tuple[int, ...]:
78
77
 
79
78
  def get_botocore_version() -> tuple[int, ...]:
80
79
  """Return the version number of the installed botocore package in the form of a tuple[int,...]."""
81
- return tuple(map(int, importlib_metadata.version("botocore").split(".")[:3]))
80
+ return tuple(map(int, metadata.version("botocore").split(".")[:3]))
82
81
 
83
82
 
84
83
  def validate_execute_complete_event(event: dict[str, Any] | None = None) -> dict[str, Any]:
@@ -0,0 +1,104 @@
1
+ {
2
+ "version": 2,
3
+ "waiters": {
4
+ "pii_entities_detection_job_complete": {
5
+ "delay": 120,
6
+ "maxAttempts": 75,
7
+ "operation": "DescribePiiEntitiesDetectionJob",
8
+ "acceptors": [
9
+ {
10
+ "matcher": "path",
11
+ "argument": "PiiEntitiesDetectionJobProperties.JobStatus",
12
+ "expected": "SUBMITTED",
13
+ "state": "retry"
14
+ },
15
+ {
16
+ "matcher": "path",
17
+ "argument": "PiiEntitiesDetectionJobProperties.JobStatus",
18
+ "expected": "IN_PROGRESS",
19
+ "state": "retry"
20
+ },
21
+ {
22
+ "matcher": "path",
23
+ "argument": "PiiEntitiesDetectionJobProperties.JobStatus",
24
+ "expected": "COMPLETED",
25
+ "state": "success"
26
+ },
27
+ {
28
+ "matcher": "path",
29
+ "argument": "PiiEntitiesDetectionJobProperties.JobStatus",
30
+ "expected": "FAILED",
31
+ "state": "failure"
32
+ },
33
+ {
34
+ "matcher": "path",
35
+ "argument": "PiiEntitiesDetectionJobProperties.JobStatus",
36
+ "expected": "STOP_REQUESTED",
37
+ "state": "failure"
38
+ },
39
+ {
40
+ "matcher": "path",
41
+ "argument": "PiiEntitiesDetectionJobProperties.JobStatus",
42
+ "expected": "STOPPED",
43
+ "state": "failure"
44
+ }
45
+
46
+ ]
47
+ },
48
+ "create_document_classifier_complete": {
49
+ "delay": 120,
50
+ "maxAttempts": 75,
51
+ "operation": "DescribeDocumentClassifier",
52
+ "acceptors": [
53
+ {
54
+ "matcher": "path",
55
+ "argument": "DocumentClassifierProperties.Status",
56
+ "expected": "SUBMITTED",
57
+ "state": "retry"
58
+ },
59
+ {
60
+ "matcher": "path",
61
+ "argument": "DocumentClassifierProperties.Status",
62
+ "expected": "TRAINING",
63
+ "state": "retry"
64
+ },
65
+ {
66
+ "matcher": "path",
67
+ "argument": "DocumentClassifierProperties.Status",
68
+ "expected": "DELETING",
69
+ "state": "failure"
70
+ },
71
+ {
72
+ "matcher": "path",
73
+ "argument": "DocumentClassifierProperties.Status",
74
+ "expected": "STOP_REQUESTED",
75
+ "state": "failure"
76
+ },
77
+ {
78
+ "matcher": "path",
79
+ "argument": "DocumentClassifierProperties.Status",
80
+ "expected": "STOPPED",
81
+ "state": "failure"
82
+ },
83
+ {
84
+ "matcher": "path",
85
+ "argument": "DocumentClassifierProperties.Status",
86
+ "expected": "IN_ERROR",
87
+ "state": "failure"
88
+ },
89
+ {
90
+ "matcher": "path",
91
+ "argument": "DocumentClassifierProperties.Status",
92
+ "expected": "TRAINED",
93
+ "state": "success"
94
+ },
95
+ {
96
+ "matcher": "path",
97
+ "argument": "DocumentClassifierProperties.Status",
98
+ "expected": "TRAINED_WITH_WARNING",
99
+ "state": "success"
100
+ }
101
+ ]
102
+ }
103
+ }
104
+ }
@@ -28,8 +28,9 @@ def get_provider_info():
28
28
  "name": "Amazon",
29
29
  "description": "Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).\n",
30
30
  "state": "ready",
31
- "source-date-epoch": 1717051501,
31
+ "source-date-epoch": 1718602112,
32
32
  "versions": [
33
+ "8.25.0",
33
34
  "8.24.0",
34
35
  "8.23.0",
35
36
  "8.22.0",
@@ -109,8 +110,8 @@ def get_provider_info():
109
110
  {
110
111
  "name": "pandas",
111
112
  "dependencies": [
112
- 'pandas>=1.5.3,<2.2;python_version<"3.12"',
113
- 'pandas>=2.1.1,<2.2;python_version>="3.12"',
113
+ 'pandas>=2.1.2,<2.2;python_version>="3.9"',
114
+ 'pandas>=1.5.3,<2.2;python_version<"3.9"',
114
115
  ],
115
116
  },
116
117
  {"name": "aiobotocore", "dependencies": ["aiobotocore[boto3]>=2.13.0"]},