
    Vhs                     H    d dl mZmZmZ eZ G d de      Z G d de      Zy)    )absolute_importdivisionprint_functionc                        e Zd ZddZd Zd Zy)ArgumentSpecNc                 n   i | _         g | _        g | _        g | _        g | _        |r| j                   j                  |       |r| j                  j                  |       |r| j                  j                  |       |r| j                  j                  |       |r| j                  j                  |       y y N)argument_specrequired_togetherrequired_ifrequired_one_ofmutually_exclusiveupdateextend)selfr
   r   r   r   r   s         n/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/dns/plugins/module_utils/argspec.py__init__zArgumentSpec.__init__   s    !#!"$%%m4""))*;<##K0  ''8##**+=>     c                 x   | j                   j                  |j                          | j                  j                  |j                         | j                  j                  |j                         | j
                  j                  |j
                         | j                  j                  |j                         | S r	   )r
   r   r   r   r   r   r   )r   others     r   mergezArgumentSpec.merge   s    !!%"5"56%%e&=&=> 1 12##E$9$9:&&u'?'?@r   c                 v    | j                   | j                  | j                  | j                  | j                  dS )Nr
   r   r   r   r   r   )r   s    r   	to_kwargszArgumentSpec.to_kwargs'   s9    !//!%!7!7++#33"&"9"9
 	
r   )NNNNN)__name__
__module____qualname__r   r   r    r   r   r   r      s    ?"
r   r   c                       e Zd Zd Zd Zy)ModuleOptionProviderc                     || _         y r	   )module)r   r"   s     r   r   zModuleOptionProvider.__init__2   s	    r   c                 4    | j                   j                  |   S r	   )r"   params)r   option_names     r   
get_optionzModuleOptionProvider.get_option5   s    {{!!+..r   N)r   r   r   r   r&   r   r   r   r    r    1   s    /r   r    N)	
__future__r   r   r   type__metaclass__objectr   r    r   r   r   <module>r+      s.    A @ !
6 !
H/6 /r   