kaxil commented on a change in pull request #14631:
URL: https://github.com/apache/airflow/pull/14631#discussion_r590561537



##########
File path: airflow/providers/snowflake/hooks/snowflake.py
##########
@@ -58,10 +135,10 @@ def _get_conn_params(self) -> Dict[str, Optional[str]]:
         conn = self.get_connection(
             self.snowflake_conn_id  # type: ignore[attr-defined] # pylint: 
disable=no-member
         )
-        account = conn.extra_dejson.get('account', '')
-        warehouse = conn.extra_dejson.get('warehouse', '')
-        database = conn.extra_dejson.get('database', '')
-        region = conn.extra_dejson.get("region", '')
+        account = conn.extra_dejson.get('extra__snowflake__account', '')
+        warehouse = conn.extra_dejson.get('extra__snowflake__warehouse', '')
+        database = conn.extra_dejson.get('extra__snowflake__database', '')
+        region = conn.extra_dejson.get('extra__snowflake__region', '')

Review comment:
       If there is a way that would be good but currently it is used in a some 
providers:
   
   ```
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:47:    - use in 
cluster configuration by using ``extra__kubernetes__in_cluster`` in connection
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:48:    - use custom 
config by providing path to the file using 
``extra__kubernetes__kube_config_path``
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:50:        
``extra__kubernetes__kube_config`` in connection
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:77:            
"extra__kubernetes__in_cluster": BooleanField(lazy_gettext('In cluster 
configuration')),
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:78:            
"extra__kubernetes__kube_config_path": StringField(
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:81:            
"extra__kubernetes__kube_config": StringField(
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:84:            
"extra__kubernetes__namespace": StringField(
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:108:        in_cluster 
= extras.get("extra__kubernetes__in_cluster")
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:109:        
kubeconfig_path = extras.get("extra__kubernetes__kube_config_path")
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:110:        kubeconfig 
= extras.get("extra__kubernetes__kube_config")
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:115:                
"Invalid connection configuration. Options extra__kubernetes__kube_config_path, 
"
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:116:                
"extra__kubernetes__kube_config, extra__kubernetes__in_cluster are mutually 
exclusive. "
   airflow/providers/cncf/kubernetes/hooks/kubernetes.py:213:        namespace 
= extras.get("extra__kubernetes__namespace", "default")
   airflow/providers/google/ads/hooks/ads.py:134:        secret = 
secret_conn.extra_dejson["extra__google_cloud_platform__keyfile_dict"]
   
airflow/providers/google/cloud/hooks/cloud_sql.py:402:GCP_CREDENTIALS_KEY_PATH 
= "extra__google_cloud_platform__key_path"
   
airflow/providers/google/cloud/hooks/cloud_sql.py:403:GCP_CREDENTIALS_KEYFILE_DICT
 = "extra__google_cloud_platform__keyfile_dict"
   airflow/providers/google/cloud/hooks/cloud_sql.py:531:            project_id 
= connection.extra_dejson.get('extra__google_cloud_platform__project')
   airflow/providers/google/cloud/hooks/dataprep.py:50:        self._token = 
extra_dejson.get("extra__dataprep__token")
   airflow/providers/google/cloud/hooks/dataprep.py:51:        self._base_url = 
extra_dejson.get("extra__dataprep__base_url", "https://api.clouddataprep.com";)
   airflow/providers/google/cloud/operators/cloud_sql.py:1102:                
'extra__google_cloud_platform__project'
   airflow/providers/google/cloud/utils/credentials_provider.py:63:    extras = 
"extra__google_cloud_platform"
   airflow/providers/google/common/hooks/base_google.py:173:            
"extra__google_cloud_platform__project": StringField(
   airflow/providers/google/common/hooks/base_google.py:176:            
"extra__google_cloud_platform__key_path": StringField(
   airflow/providers/google/common/hooks/base_google.py:179:            
"extra__google_cloud_platform__keyfile_dict": PasswordField(
   airflow/providers/google/common/hooks/base_google.py:182:            
"extra__google_cloud_platform__scope": StringField(
   airflow/providers/google/common/hooks/base_google.py:185:            
"extra__google_cloud_platform__num_retries": IntegerField(
   airflow/providers/google/common/hooks/base_google.py:293:        long_f = 
f'extra__google_cloud_platform__{f}'
   airflow/providers/grpc/hooks/grpc.py:63:            
"extra__grpc__auth_type": StringField(
   airflow/providers/grpc/hooks/grpc.py:66:            
"extra__grpc__credential_pem_file": StringField(
   airflow/providers/grpc/hooks/grpc.py:69:            "extra__grpc__scopes": 
StringField(
   airflow/providers/grpc/hooks/grpc.py:163:        full_field_name = 
f'extra__grpc__{field_name}'
   airflow/providers/jdbc/hooks/jdbc.py:50:            "extra__jdbc__drv_path": 
StringField(lazy_gettext('Driver Path'), widget=BS3TextFieldWidget()),
   airflow/providers/jdbc/hooks/jdbc.py:51:            
"extra__jdbc__drv_clsname": StringField(
   airflow/providers/jdbc/hooks/jdbc.py:69:        jdbc_driver_loc: 
Optional[str] = conn.extra_dejson.get('extra__jdbc__drv_path')
   airflow/providers/jdbc/hooks/jdbc.py:70:        jdbc_driver_name: 
Optional[str] = conn.extra_dejson.get('extra__jdbc__drv_clsname')
   airflow/providers/yandex/hooks/yandex.py:49:            
"extra__yandexcloud__service_account_json": PasswordField(
   airflow/providers/yandex/hooks/yandex.py:56:            
"extra__yandexcloud__service_account_json_path": StringField(
   airflow/providers/yandex/hooks/yandex.py:63:            
"extra__yandexcloud__oauth": PasswordField(
   airflow/providers/yandex/hooks/yandex.py:69:            
"extra__yandexcloud__folder_id": StringField(
   airflow/providers/yandex/hooks/yandex.py:75:            
"extra__yandexcloud__public_ssh_key": StringField(
   airflow/providers/yandex/hooks/yandex.py:135:        long_f = 
f'extra__yandexcloud__{field_name}'
   ```




----------------------------------------------------------------
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]


Reply via email to