Taragolis opened a new issue, #35278: URL: https://github.com/apache/airflow/issues/35278
### Body Right now some inconsistency exists between different Operators/Sensors/Triggers which are use `AwsBaseGeneric` hook. After #34784 and #34884 we could make all of them (except Transfer Operators) use same subset of generic attributes. It might make more easier to end users use this objects (don't need to think is it `region` or `region_name` or is it even support this arguments), as well as make easier extend by new new hook parameters to all this operators in the one go. General Approach for solve each case: - Use `AwsBaseOperator` for operators, `AwsBaseSensor ` for sensors. In some very specific case e.g. multi inheritance required to use `AwsBaseHookMixin` (see: [AppflowRecordsShortCircuitOperator](https://github.com/apache/airflow/blob/bc4a22c6bd8096e7b62147031035cb14896fe934/airflow/providers/amazon/aws/operators/appflow.py#L399)) - Provide additional arguments to `AwsBaseWaiterTrigger` (if required) - Wrap template_fields parameters - Attach generic documentation into the service specific page into the [Amazon Provider Documentation](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/operators/index.html) - Validate that all parameters propagated to operator/sensor specific hook All this steps already done for some of the operators, so it could be use as a reference - [x] Use base aws classes in Amazon AppFlow Operators (https://github.com/apache/airflow/pull/35082) + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/appflow.py) - [x] Use base aws classes in Amazon Athena Operators/Sensors/Triggers (https://github.com/apache/airflow/pull/35133) + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/athena.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/athena.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/athena.py) - [ ] Use base aws classes in AWS Batch Operators/Sensors/Triggers (https://github.com/apache/airflow/pull/35226) + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/batch.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/batch.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/batch.py) - [ ] Use base aws classes in AWS CloudFormation Operators/Sensors + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/cloud_formation.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/cloud_formation.py) - [ ] Use base aws classes in AWS Datasync Operators + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/datasync.py) - [ ] Use base aws classes in AWS DMS Operators/Sensors + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/dms.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/dms.py) - [ ] Use base aws classes in Amazon DynamoDB Sensors + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/dynamodb.py) - [ ] Use base aws classes in Amazon EC2 Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/ec2.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/ec2.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/ec2.py) - [ ] Use base aws classes in Amazon ECS Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/ecs.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/ecs.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/ecs.py) - [ ] Use base aws classes in Amazon EKS Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/eks.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/eks.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/eks.py) - [ ] Use base aws classes in Amazon EMR Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/emr.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/emr.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/emr.py) - [ ] Use base aws classes in Amazon EventBridge Operators + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/eventbridge.py) - [ ] Use base aws classes in AWS Glue Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/glue.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/glue.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/glue.py) - [ ] Use base aws classes in AWS Glue Data Catalog Sensors + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/glue_catalog_partition.py) - [ ] Use base aws classes in AWS Glue Crawlers Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/glue_crawler.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/glue_crawler.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/glue_crawler.py) - [ ] Use base aws classes in AWS Glue DataBrew Operators/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/glue_databrew.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/glue_databrew.py) - [ ] Use base aws classes in AWS Lambda Operators/Sensors/Triggers (https://github.com/apache/airflow/pull/34890) + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/lambda_function.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/lambda_function.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/lambda_function.py) - [ ] Use base aws classes in Amazon QuickSight Operators/Sensors + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/quicksight.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/quicksight.py) - [ ] Use base aws classes in Amazon RDS Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/rds.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/rds.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/rds.py) - [ ] Use base aws classes in Amazon Redshift clusters Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/redshift_cluster.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/redshift_cluster.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/redshift_cluster.py) - [ ] Use base aws classes in AWS Redshift Data API Operators + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/redshift_data.py) - [ ] Use base aws classes in Amazon S3 Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/s3.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/s3.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/s3.py) - [x] Use base aws classes in Amazon S3 Glacier Operators/Sensors (https://github.com/apache/airflow/pull/35108) + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/glacier.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/glacier.py) - [ ] Use base aws classes in Amazon SageMaker Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/sagemaker.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/sagemaker.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/sagemaker.py) - [ ] Use base aws classes in Amazon SNS Operators + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/sns.py) - [ ] Use base aws classes in Amazon SQS Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/sqs.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/sqs.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/sqs.py) - [ ] Use base aws classes in AWS Step Functions Operators/Sensors/Triggers + [operator(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/operators/step_function.py) + [sensor(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/sensors/step_function.py) + [trigger(s)](https://github.com/apache/airflow/blob/main/airflow/airflow/providers/amazon/aws/triggers/step_function.py) ### Committer - [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
