airflow.contrib.hooks.winrm_hook

Module Contents

class airflow.contrib.hooks.winrm_hook.WinRMHook(ssh_conn_id=None, endpoint=None, remote_host=None, remote_port=5985, transport='plaintext', username=None, password=None, service='HTTP', keytab=None, ca_trust_path=None, cert_pem=None, cert_key_pem=None, server_cert_validation='validate', kerberos_delegation=False, read_timeout_sec=30, operation_timeout_sec=20, kerberos_hostname_override=None, message_encryption='auto', credssp_disable_tlsv1_2=False, send_cbt=True)[source]

Bases:airflow.hooks.base_hook.BaseHook

Hook for winrm remote execution using pywinrm.

Seealso

https://github.com/diyan/pywinrm/blob/master/winrm/protocol.py

Parameters
  • ssh_conn_id (str) – connection id from airflow Connections from where all the required parameters can be fetched like username and password. Thought the priority is given to the param passed during init

  • endpoint (str) – When set to None, endpoint will be constructed like this: ‘http://{remote_host}:{remote_port}/wsman’

  • remote_host (str) – Remote host to connect to. Ignored if endpoint is not None.

  • remote_port (int) – Remote port to connect to. Ignored if endpoint is not None.

  • transport (str) – transport type, one of ‘plaintext’ (default), ‘kerberos’, ‘ssl’, ‘ntlm’, ‘credssp’

  • username (str) – username to connect to the remote_host

  • password (str) – password of the username to connect to the remote_host

  • service (str) – the service name, default is HTTP

  • keytab (str) – the path to a keytab file if you are using one

  • ca_trust_path (str) – Certification Authority trust path

  • cert_pem (str) – client authentication certificate file path in PEM format

  • cert_key_pem (str) – client authentication certificate key file path in PEM format

  • server_cert_validation (str) – whether server certificate should be validated on Python versions that suppport it; one of ‘validate’ (default), ‘ignore’

  • kerberos_delegation (bool) – if True, TGT is sent to target server to allow multiple hops

  • read_timeout_sec (int) – maximum seconds to wait before an HTTP connect/read times out (default 30). This value should be slightly higher than operation_timeout_sec, as the server can block at least that long.

  • operation_timeout_sec (int) – maximum allowed time in seconds for any single wsman HTTP operation (default 20). Note that operation timeouts while receiving output (the only wsman operation that should take any significant time, and where these timeouts are expected) will be silently retried indefinitely.

  • kerberos_hostname_override (str) – the hostname to use for the kerberos exchange (defaults to the hostname in the endpoint URL)

  • message_encryption_enabled (bool) – Will encrypt the WinRM messages if set to True and the transport auth supports message encryption (Default True).

  • credssp_disable_tlsv1_2 (bool) – Whether to disable TLSv1.2 support and work with older protocols like TLSv1.0, default is False

  • send_cbt (bool) – Will send the channel bindings over a HTTPS channel (Default: True)

get_conn(self)[source]