
    VhF                         d dl mZmZmZ eZdZ	 d dlmZ dZ		 d dl
mZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lZd
ZdZdZd Zd Zd Zd Zy	# e$ r dZY Cw xY w# e$ r dZ	Y ?w xY w)    )absolute_importdivisionprint_functionT)purestorageF)PurityFb
FileSystemFileSystemSnapshotSnapshotSuffixrest)wraps)environ)pathNg333333?Ansibleg      ?c                 (   dt         t        t        t        j                         dz  }| j                  d   }| j                  d   }|r|rt        j                  |||      }n{t        j                  d      rTt        j                  d      r?t        j                  t        j                  d      t        j                  d      |      }n| j                  d	       	 j                          |S # t        $ r | j                  d
	       Y S w xY w)Return System Object or Fail-%(base)s %(class)s/%(version)s (%(platform)s)baseclassversionplatformfa_url	api_token)r   
user_agent
PUREFA_URL
PUREFA_APIziYou must set PUREFA_URL and PUREFA_API environment variables or the fa_url and api_token module argumentsmsgzEPure Storage FlashArray authentication failed. Check your credentials)USER_AGENT_BASE__name__VERSIONr   paramsr   
FlashArrayr   get	fail_json	Exception)moduler   
array_nameapisystems        o/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/community/general/plugins/module_utils/pure.py
get_systemr,   (   s    @%%'	D J x(J
--
$Cc''
cjY	\	"w{{<'@''L(AgkkZfNgu  A  I  	Jf

 M  fdeMfs    C2 2DDc                    dt         t        t        t        j                         dz  }| j                  d   }| j                  d   }|rn|rlt        |      }|j                          	 |j                  |       |j                  j                         j                  }t        |v r||j                  _        |S t#        j$                  d      rt#        j$                  d	      rt        t#        j$                  d            }|j                          	 |j                  t#        j$                  d	             |j                  j                         j                  }t        |v r||j                  _        |S | j!                  d
       S # t        j                  $ r}| j!                  d       Y d}~|S d}~ww xY w# t        j                  $ r}| j!                  d       Y d}~|S d}~ww xY w)r   r   r   fb_urlr   zEPure Storage FlashBlade authentication failed. Check your credentialsr   N
PUREFB_URL
PUREFB_APIziYou must set PUREFB_URL and PUREFB_API environment variables or the fb_url and api_token module arguments)r   r    r!   r   r"   r   disable_verify_sslloginapi_versionlist_versionsversionsAPI_AGENT_VERSION_api_clientr   r   ApiExceptionr%   r   r$   )r'   r   
blade_namer)   blader5   es          r+   	get_blader<   @   s   @%%'	D J x(J
--
$Cc$  "	jKK((668AAH H,/9!!, L 
\	"w{{<'@\23  "	jKKL12((668AAH H,/9!!,
 L 	  I  	JL    	j!hii L	j    	j!hii L		js2   'AF A!F: F7F22F7:G*G%%G*c                  @    t        t               t        d            S )TReturn standard base dictionary used for the argument_spec argument in AnsibleModuleTno_log)r   r   dict     r+   purefa_argument_specrE   d        vd# rD   c                  @    t        t               t        d            S )r>   Tr?   )r.   r   rA   rC   rD   r+   purefb_argument_specrH   m   rF   rD   )
__future__r   r   r   type__metaclass__HAS_PURESTORAGEr   ImportErrorHAS_PURITY_FB	purity_fbr   r   r	   r
   r   	functoolsr   osr   r   r   r!   r   r6   r,   r<   rE   rH   rC   rD   r+   <module>rR      s    C B' XX
    
 0!Hu  O  Ms"   A A AAA'&A'