:py:mod:`airflow.providers.microsoft.winrm.hooks.winrm`
=======================================================

.. py:module:: airflow.providers.microsoft.winrm.hooks.winrm

.. autoapi-nested-parse::

   Hook for winrm remote execution.



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.microsoft.winrm.hooks.winrm.WinRMHook




.. py:class:: 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)

   Bases: :py:obj:`airflow.hooks.base.BaseHook`

   Hook for winrm remote execution using pywinrm.

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

   :param ssh_conn_id: 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
   :param endpoint: When not set, endpoint will be constructed like this:
       'http://{remote_host}:{remote_port}/wsman'
   :param remote_host: Remote host to connect to. Ignored if `endpoint` is set.
   :param remote_port: Remote port to connect to. Ignored if `endpoint` is set.
   :param transport: transport type, one of 'plaintext' (default), 'kerberos', 'ssl', 'ntlm', 'credssp'
   :param username: username to connect to the remote_host
   :param password: password of the username to connect to the remote_host
   :param service: the service name, default is HTTP
   :param keytab: the path to a keytab file if you are using one
   :param ca_trust_path: Certification Authority trust path
   :param cert_pem: client authentication certificate file path in PEM format
   :param cert_key_pem: client authentication certificate key file path in PEM format
   :param server_cert_validation: whether server certificate should be validated on
       Python versions that support it; one of 'validate' (default), 'ignore'
   :param kerberos_delegation: if True, TGT is sent to target server to
       allow multiple hops
   :param read_timeout_sec: 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.
   :param operation_timeout_sec: 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.
   :param kerberos_hostname_override: the hostname to use for the kerberos exchange
       (defaults to the hostname in the endpoint URL)
   :param message_encryption: Will encrypt the WinRM messages if set
       and the transport auth supports message encryption. (Default 'auto')
   :param credssp_disable_tlsv1_2: Whether to disable TLSv1.2 support and work with older
       protocols like TLSv1.0, default is False
   :param send_cbt: Will send the channel bindings over a HTTPS channel (Default: True)

   .. py:method:: get_conn(self)

      Returns connection for the hook.



