| :mod:`airflow.providers.google.cloud.hooks.compute_ssh` |
| ======================================================= |
| |
| .. py:module:: airflow.providers.google.cloud.hooks.compute_ssh |
| |
| |
| Module Contents |
| --------------- |
| |
| .. py:class:: _GCloudAuthorizedSSHClient(google_hook, *args, **kwargs) |
| |
| Bases: :class:`paramiko.SSHClient` |
| |
| SSH Client that maintains the context for gcloud authorization during the connection |
| |
| |
| .. method:: connect(self, *args, **kwargs) |
| |
| |
| |
| |
| .. method:: close(self) |
| |
| |
| |
| |
| .. method:: __exit__(self, type_, value, traceback) |
| |
| |
| |
| |
| .. py:class:: ComputeEngineSSHHook(gcp_conn_id: str = 'google_cloud_default', instance_name: Optional[str] = None, zone: Optional[str] = None, user: Optional[str] = 'root', project_id: Optional[str] = None, hostname: Optional[str] = None, use_internal_ip: bool = False, use_iap_tunnel: bool = False, use_oslogin: bool = True, expire_time: int = 300, delegate_to: Optional[str] = None) |
| |
| Bases: :class:`airflow.providers.ssh.hooks.ssh.SSHHook` |
| |
| Hook to connect to a remote instance in compute engine |
| |
| :param instance_name: The name of the Compute Engine instance |
| :type instance_name: str |
| :param zone: The zone of the Compute Engine instance |
| :type zone: str |
| :param user: The name of the user on which the login attempt will be made |
| :type user: str |
| :param project_id: The project ID of the remote instance |
| :type project_id: str |
| :param gcp_conn_id: The connection id to use when fetching connection info |
| :type gcp_conn_id: str |
| :param hostname: The hostname of the target instance. If it is not passed, it will be detected |
| automatically. |
| :type hostname: str |
| :param use_iap_tunnel: Whether to connect through IAP tunnel |
| :type use_iap_tunnel: bool |
| :param use_internal_ip: Whether to connect using internal IP |
| :type use_internal_ip: bool |
| :param use_oslogin: Whether to manage keys using OsLogin API. If false, |
| keys are managed using instance metadata |
| :type use_oslogin: bool |
| :param expire_time: The maximum amount of time in seconds before the private key expires |
| :type expire_time: int |
| :param gcp_conn_id: The connection id to use when fetching connection information |
| :type gcp_conn_id: str |
| :param delegate_to: The account to impersonate, if any. |
| For this to work, the service account making the request must have |
| domain-wide delegation enabled. |
| :type delegate_to: str |
| |
| .. attribute:: conn_name_attr |
| :annotation: = gcp_conn_id |
| |
| |
| |
| .. attribute:: default_conn_name |
| :annotation: = google_cloud_default |
| |
| |
| |
| .. attribute:: conn_type |
| :annotation: = gcpssh |
| |
| |
| |
| .. attribute:: hook_name |
| :annotation: = Google Cloud SSH |
| |
| |
| |
| |
| .. staticmethod:: get_ui_field_behaviour() |
| |
| |
| |
| |
| .. method:: _oslogin_hook(self) |
| |
| |
| |
| |
| .. method:: _compute_hook(self) |
| |
| |
| |
| |
| .. method:: _load_connection_config(self) |
| |
| |
| |
| |
| .. method:: get_conn(self) |
| |
| Return SSH connection. |
| |
| |
| |
| |
| .. method:: _connect_to_instance(self, user, hostname, pkey, proxy_command) |
| |
| |
| |
| |
| .. method:: _authorize_compute_engine_instance_metadata(self, pubkey) |
| |
| |
| |
| |
| .. method:: _authorize_os_login(self, pubkey) |
| |
| |
| |
| |
| .. method:: _generate_ssh_key(self, user) |
| |
| |
| |
| |