
    Vh                         d dl mZmZmZ eZd dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZ ddlmZ  e       Zd	 Z G d
 de      Zy)    )absolute_importdivisionprint_function)AnsibleError)	to_native)check_type_strcheck_type_float)
ActionBase)Display   )reboot_hostc                 (    t        |       }|dk  ry|S )Nr   )r	   )val	float_vals     m/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/ansible/windows/plugins/action/win_reboot.py_positive_floatr      s     %I1}     c                   4     e Zd ZdZ ed      Zd fd	Z xZS )ActionModuleF)boot_time_commandconnect_timeoutconnect_timeout_secmsgpost_reboot_delaypost_reboot_delay_secpre_reboot_delaypre_reboot_delay_secreboot_timeoutreboot_timeout_secshutdown_timeoutshutdown_timeout_sectest_commandc           
      z   d| _         d| _        | j                  j                  rddddS |i }t        t
        |   ||       i }dgt        fddgt        fdgt        fdd	gt        fd
dgt        fddgt        fdgt        ffD ]Z  \  }}|D ],  }| j                  j                  j                  |d       }|s, n d }|<	  ||      }|d   d
k(  r|dk  rS|||d   <   \ t        | j                  j                   | j"                  fi |}	|	S # t        $ r#}t        d|d   dt        |      d      d }~ww xY w)NTr   )changedelapsedrebootedr   r   r   r   r   r   r   r   r   r   r"   zInvalid value given for 'z': .r   )_supports_check_mode_supports_async_play_context
check_modesuperr   runr   r   _taskargsget	TypeErrorr   r   r   action_connection)selftmp	task_vars
parametersnames
check_funcnamevalueeresult	__class__s             r   r-   zActionModule.run-   s   $(!#((#tDDIlD%c95
!"N3!67IWn%!#:;_M "89?K 45G~."
 	-E:  

++D$7
   g&u-E 811eai',
58$9	-< TZZ..0@0@OJO ! g&eTUhXabcXd'effgs   D	D:D55D:)NN)__name__
__module____qualname__TRANSFERS_FILES	frozenset_VALID_ARGSr-   __classcell__)r>   s   @r   r   r      s!    O  K - -r   r   N)
__future__r   r   r   type__metaclass__ansible.errorsr   +ansible.module_utils.common.text.convertersr   &ansible.module_utils.common.validationr   r	   ansible.plugins.actionr
   ansible.utils.displayr   plugin_utils._rebootr   displayr   r    r   r   <module>rQ      s=    C B ' A S - ) .
)?: ?r   