File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
airflow/providers/google/cloud/hooks Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change 20
20
from io import StringIO
21
21
from typing import Any , Dict , Optional
22
22
23
- import paramiko
24
-
25
23
if sys .version_info >= (3 , 8 ):
26
24
from functools import cached_property
27
25
else :
34
32
from airflow .providers .google .cloud .hooks .os_login import OSLoginHook
35
33
from airflow .providers .ssh .hooks .ssh import SSHHook
36
34
35
+ # Paramiko should be imported after airflow.providers.ssh. Then the import will fail with
36
+ # cannot import "airflow.providers.ssh" and will be correctly discovered as optional feature
37
+ # TODO:(potiuk) We should add test harness detecting such cases shortly
38
+ import paramiko # isort:skip
39
+
37
40
38
41
class _GCloudAuthorizedSSHClient (paramiko .SSHClient ):
39
42
"""SSH Client that maintains the context for gcloud authorization during the connection"""
You can’t perform that action at this time.
0 commit comments