potiuk commented on a change in pull request #12466:
URL: https://github.com/apache/airflow/pull/12466#discussion_r532059119
##########
File path: airflow/provider.yaml.schema.json
##########
@@ -167,6 +170,13 @@
"python-module"
]
}
+ },
+ "hook-class-names": {
Review comment:
I added a simple check now, and I think we should stay with explicitly
listing the hook classes.
Just checking one amazon provider - those are Amazon's Hooks: none of them
were ever "registered" in the code as "connection type to hook" nor with the
customized ConnectionForm, nor in the `connection_form.js'. See below for the
list of those. Similarly answering the
https://github.com/apache/airflow/pull/12466#pullrequestreview-536502242
question after being a little more informed. I do not think in this case we
should require all Hooks to have those extra class fields (at least not now).
The use of those fields for Hooks that do not register themselves in the Core
is unclear and I think we should not require the connections to have those
values.
Maybe at some point in time we want to extend the API of the BaseHook object
and make it obligatory for all Hooks, but I am not sure it is something we
should do now.
IMHO - each provider should be free to choose which Hooks of that provider
should be "registered" by the core for the usage in the UI and "connection to
hook mapping". @ashb @mik-laj - WDYT?
Here are the Amazon hooks which do not require any special "registering" in
the core (and never did):
```
'airflow.providers.amazon.aws.hooks.athena.AWSAthenaHook'
'airflow.providers.amazon.aws.hooks.athena.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.aws_dynamodb.AwsDynamoDBHook'
'airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.base_aws.BaseHook'
'airflow.providers.amazon.aws.hooks.batch_client.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.batch_client.AwsBatchClientHook'
'airflow.providers.amazon.aws.hooks.batch_waiters.AwsBatchClientHook'
'airflow.providers.amazon.aws.hooks.batch_waiters.AwsBatchWaitersHook'
'airflow.providers.amazon.aws.hooks.cloud_formation.AWSCloudFormationHook'
'airflow.providers.amazon.aws.hooks.cloud_formation.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.datasync.AWSDataSyncHook'
'airflow.providers.amazon.aws.hooks.datasync.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.dynamodb.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.dynamodb.AwsDynamoDBHook'
'airflow.providers.amazon.aws.hooks.ec2.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.ec2.EC2Hook'
'airflow.providers.amazon.aws.hooks.elasticache_replication_group.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.elasticache_replication_group.ElastiCacheReplicationGroupHook'
'airflow.providers.amazon.aws.hooks.emr.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.emr.EmrHook'
'airflow.providers.amazon.aws.hooks.glacier.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.glacier.GlacierHook'
'airflow.providers.amazon.aws.hooks.glue.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.glue.AwsGlueJobHook'
'airflow.providers.amazon.aws.hooks.glue_catalog.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.glue_catalog.AwsGlueCatalogHook'
'airflow.providers.amazon.aws.hooks.kinesis.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.kinesis.AwsFirehoseHook'
'airflow.providers.amazon.aws.hooks.lambda_function.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.lambda_function.AwsLambdaHook'
'airflow.providers.amazon.aws.hooks.logs.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.logs.AwsLogsHook'
'airflow.providers.amazon.aws.hooks.redshift.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.redshift.RedshiftHook'
'airflow.providers.amazon.aws.hooks.s3.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.s3.S3Hook'
'airflow.providers.amazon.aws.hooks.sagemaker.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.sagemaker.AwsLogsHook'
'airflow.providers.amazon.aws.hooks.sagemaker.S3Hook'
'airflow.providers.amazon.aws.hooks.sagemaker.SageMakerHook'
'airflow.providers.amazon.aws.hooks.secrets_manager.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.secrets_manager.SecretsManagerHook'
'airflow.providers.amazon.aws.hooks.ses.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.ses.SESHook'
'airflow.providers.amazon.aws.hooks.sns.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.sns.AwsSnsHook'
'airflow.providers.amazon.aws.hooks.sqs.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.sqs.SQSHook'
'airflow.providers.amazon.aws.hooks.step_function.AwsBaseHook'
'airflow.providers.amazon.aws.hooks.step_function.StepFunctionHook'
```
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]