potiuk commented on a change in pull request #15408:
URL: https://github.com/apache/airflow/pull/15408#discussion_r619688934
##########
File path: airflow/providers/sftp/hooks/sftp.py
##########
@@ -45,9 +45,12 @@ class SFTPHook(SSHHook):
permissions.
Errors that may occur throughout but should be handled downstream.
+
+ :param sftp_conn_id: The :ref:`sftp connection id<howto/connection:sftp>`
+ :type sftp_conn_id: str
"""
- conn_name_attr = 'ftp_conn_id'
+ conn_name_attr = 'sftp_conn_id'
Review comment:
This change is wrong.
It should remain ftp_conn_id because this is the name of the constructor
argument (below:
```
def __init__(self, ftp_conn_id: str = 'sftp_default', *args, **kwargs)
-> None:
```
It is later remapped to "ssh_conn_id" just before running the constructor of
the parent class, so it does not matter. Note that it is just a name used when
the connection is instantiated dynamically so it does not really matter what it
is is, as long as it is consistent. And if someone ever created the Hook
manually with keyword argument, changing it would mean backwards
incompatibility as mentioned by @uranusjr
##########
File path: docs/apache-airflow-providers-snowflake/connections/snowflake.rst
##########
@@ -0,0 +1,76 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+
+.. _howto/connection:snowflake:
+
+Snowflake Connection
+====================
+
+The Snowflake connection type enables integrations with Snowflake.
+
+Authenticating to Snowflake
+---------------------------
+
+Authenticate to Snowflake using the `Snowflake python connector default
authentication
+<https://docs.snowflake.com/en/user-guide/python-connector-example.html#connecting-using-the-default-authenticator>`_.
+
+Default Connection IDs
+----------------------
+
+Hooks, operators, and sensors related to Snowflake use ``snowflake_default``
by default.
+
+Configuring the Connection
+--------------------------
+
+Login
+ Specify the snowflake username.
+
+Password
+ Specify the snowflake password.
+
+Host (optional)
+ Specify the snowflake hostname.
+
+Schema (optional)
+ Specify the snowflake schema to be used.
+
+Extra (optional)
+ Specify the extra parameters (as json dictionary) that can be used in the
snowflake connection.
+ The following parameters are all optional:
+
+ * ``account``: Snowflake account name.
+ * ``database``: Snowflake database name.
+ * ``region``: Warehouse region.
+ * ``warehouse``: Snowflake warehouse name.
+ * ``role``: Snowflake role.
+ * ``authenticator``: To connect using OAuth set this parameter ``oath``
+ * ``private_key_file``: Specify the path to the private key file.
+ * ``session_parameters``: Specify `session level parameters
+
<https://docs.snowflake.com/en/user-guide/python-connector-example.html#setting-session-parameters>`_
Review comment:
Agree with @sunkickr. This documentation is mostly for those who want to
define the connnections manually rather than via UI. When you configure the
connection via UI you have dedicated fields, but when you create it manually
via cli or env variable, those need to be extras (the UI remaps values to
extras). I think it's best to leave it as it is - users of Airlfow know how it
works, and even if not, the UI fields for those "custom" connections have
enough description/are clear enough. And in case you have those custom fields,
extra is not even visible in the UI, so it is pretty clear what's going on I
think.
--
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]