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)