
    Vh                     "   d dl mZmZmZ eZd dlZd dlmZ dZ		 d dl
Z
dZ e edd       edd	       eddd
       edd	       edd	       edd	       edd	            Z G d d      Zy# e$ r  ej                         Z	dZY mw xY w)    )absolute_importdivisionprint_functionN)missing_required_libTFstr)typerequiredadmin)r   default)r   r	   no_logintbool)hostnameusernamepasswordportuse_ssl	use_proxyproxyc                   $    e Zd Zd Zd Zd Zd Zy)	UCSModulec                     || _         i | _        t        s*| j                   j                  t	        d      t
               | j                          y )Nucsmsdk)msg	exception)moduleresultHAS_UCSMSDK	fail_jsonr   UCSMSDK_IMP_ERRlogin)selfr   s     f/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/cisco/ucs/plugins/module_utils/ucs.py__init__zUCSModule.__init__;   s:    KK!!&:9&EQ`!a

    c                 $    | j                          y )N)logoutr"   s    r#   __del__zUCSModule.__del__B   s    r%   c                 b   ddl m} | j                  j                  d   r| j                  j                  d   }ni }	  || j                  j                  d   | j                  j                  d   | j                  j                  d   | j                  j                  d   | j                  j                  d	   |
      }|j	                          || _	        y # t
        $ rO}t        |      | j                  d<    | j                  j                  di | j                   Y d }~| _	        y d }~ww xY w)Nr   )	UcsHandler   r   r   r   r   r   r   )ipr   r   r   securer   r    )
ucsmsdk.ucshandler+   r   paramsr!   	Exceptionr   r   r   login_handle)r"   r+   r   handlees        r#   r!   zUCSModule.loginE   s    /
 ;;k*KK&&w/E E	1;;%%j1++J7++J7[[''/{{)))4F LLN #  	1!$QDKK!DKK!!0DKK0"	1s   BC 	D.>D))D.c                 R    t        | d      r| j                  j                          yy)Nr2   TF)hasattrr2   r'   r(   s    r#   r'   zUCSModule.logouta   s$    4($$&r%   N)__name__
__module____qualname__r$   r)   r!   r'   r.   r%   r#   r   r   9   s    #8r%   r   )
__future__r   r   r   r   __metaclass__	tracebackansible.module_utils.basicr   r    r   r   r1   
format_excdictucs_argument_specr   r.   r%   r#   <module>rA      s   < C B  ; K
 ut,ug.utD9	5$	'fd+-
E4
( , ,  *i**,OKs   A3 3BB