Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/storage/vexata/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyc

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
mZddlm
Z
mZmZd
�Zd�Zd�Zd�Zd�Zd�Zd�Zedkr�e�ndS(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	communitytsupported_bys�
---
module: vexata_eg
version_added: 2.9
short_description: Manage export groups on Vexata VX100 storage arrays
description:
    - Create or delete export groups on a Vexata VX100 array.
    - An export group is a tuple of a volume group, initiator group and port
      group that allows a set of volumes to be exposed to one or more hosts
      through specific array ports.
author:
  - Sandeep Kasargod (@vexata)
options:
  name:
    description:
      - Export group name.
    required: true
    type: str
  state:
    description:
    - Creates export group when present or delete when absent.
    default: present
    choices: [ present, absent ]
    type: str
  vg:
    description:
    - Volume group name.
    type: str
  ig:
    description:
    - Initiator group name.
    type: str
  pg:
    description:
    - Port group name.
    type: str
extends_documentation_fragment:
    - vexata.vx100
sw
- name: Create export group named db_export.
  vexata_eg:
    name: db_export
    vg: dbvols
    ig: dbhosts
    pg: pg1
    state: present
    array: vx100_ultra.test.com
    user: admin
    password: secret

- name: Delete export group named db_export
  vexata_eg:
    name: db_export
    state: absent
    array: vx100_ultra.test.com
    user: admin
    password: secret
t
(t
AnsibleModule(t
argument_spect	get_arraytrequired_togetherc`s{|jd�yF|j�}t�fd�|�}t|�dkrN|dSdSWn!tk
rv|jdd�nXdS(s1Retrieve a named vg if it exists, None if absent.tnamec`s|d�kS(NR
((teg(R
(sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyt<lambda>Zsiitmsgs1Error while attempting to retrieve export groups.N(tparamstlist_egstfiltertlentNonet	Exceptiont	fail_json(tmoduletarraytegsR((R
sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pytget_egUs

c`s�|jd�y_|j�}t�fd�|�}t|�dkrR|ddS|jddj���Wn!tk
r�|jdd�nXd	S(
s7Retrieve a named vg's id if it exists, error if absent.tvgc`s|d�kS(NR
((R(R
(sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyRhsiitidRsVolume group {0} was not found.s1Error while attempting to retrieve volume groups.N(Rtlist_vgsRRRtformatR(RRtvgsR((R
sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyt	get_vg_idcs

c`s�|jd�y_|j�}t�fd�|�}t|�dkrR|ddS|jddj���Wn!tk
r�|jdd�nXd	S(
s7Retrieve a named ig's id if it exists, error if absent.tigc`s|d�kS(NR
((R"(R
(sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyRvsiiRRs"Initiator group {0} was not found.s4Error while attempting to retrieve initiator groups.N(Rtlist_igsRRRRR(RRtigsR"((R
sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyt	get_ig_idqs

c`s�|jd�y_|j�}t�fd�|�}t|�dkrR|ddS|jddj���Wn!tk
r�|jdd�nXd	S(
s7Retrieve a named pg's id if it exists, error if absent.tpgc`s|d�kS(NR
((R&(R
(sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyR�siiRRsPort group {0} was not found.s/Error while attempting to retrieve port groups.N(Rtlist_pgsRRRRR(RRtpgsR&((R
sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyt	get_pg_ids

cC`s�t}|jd}t||�}t||�}t||�}|jr\|jd|�nyP|j|d|||f�}|r�|jddj	|��t
}nt�Wn*tk
r�|jddj	|��nX|jd|�dS(s"Create a new export group.R
tchangedsAnsible export groupRsCreated export group {0}sExport group {0} create failed.N(
tFalseRR!R%R)t
check_modet	exit_jsont	create_egtlogRtTrueRR(RRR*teg_nametvg_idtig_idtpg_idR((sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyR.�s&
		

cC`s�t}|d}|jr,|jd|�nyE|j|d�}|rj|jddj|��t}nt�Wn*tk
r�|jddj|��nX|jd|�dS(NR
R*RRsExport group {0} deleted.sExport group {0} delete failed.(	R+R,R-t	delete_egR/RR0RR(RRRR*R1tok((sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyR5�s
	
	

cC`st�}|jtdtdddt�dtddddddd	g�d
tdd�dtdd�dtdd���t|d
tdt��}|jd}t|�}t||�}|dkr�|r�t	||�n5|d	kr|rt
|||�n|jdt�dS(NR
ttypetstrtrequiredtstatetdefaulttpresenttchoicestabsentRR"R&tsupports_check_modeRR*(
R
tupdatetdictR0R	RRRRR.R5R-R+(targ_specRR:RR((sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pytmain�s&	!	
t__main__N(t
__future__RRRR7t
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicR	tansible.module_utils.vexataR
RRRR!R%R)R.R5RCt__name__(((sL/usr/lib/python2.7/site-packages/ansible/modules/storage/vexata/vexata_eg.pyt<module>s$


)							

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]