Anons79 Mini Shell

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

�
�Udac@`sddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	e
Zy ddlm
Z
mZmZWnek
r�eZnXddlmZmZdd
lmZmZdZdZd�Zd�Zd�Zd�Zd�Zd�Ze dkre�ndS(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	communitytsupported_bysH
---
module: purefb_fs
version_added: "2.6"
short_description:  Manage filesystemon Pure Storage FlashBlade`
description:
    - This module manages filesystems on Pure Storage FlashBlade.
author: Pure Storage Ansible Team (@sdodsley) <[email protected]>
options:
  name:
    description:
      - Filesystem Name.
    required: true
    type: str
  state:
    description:
      - Create, delete or modifies a filesystem.
    required: false
    default: present
    type: str
    choices: [ "present", "absent" ]
  eradicate:
    description:
      - Define whether to eradicate the filesystem on delete or leave in trash.
    required: false
    type: bool
    default: false
  size:
    description:
      - Volume size in M, G, T or P units. See examples.
    type: str
    required: false
    default: 32G
  nfsv3:
    description:
      - Define whether to NFSv3 protocol is enabled for the filesystem.
    required: false
    type: bool
    default: true
    version_added: 2.9
  nfsv4:
    description:
      - Define whether to NFSv4.1 protocol is enabled for the filesystem.
    required: false
    type: bool
    default: true
    version_added: 2.9
  nfs:
    description:
      - (Deprecate) Define whether to NFSv3 protocol is enabled for the filesystem.
      - This option will be deprecated in 2.10, use I(nfsv3) instead.
    required: false
    type: bool
    default: true
  nfs_rules:
    description:
      - Define the NFS rules in operation.
    required: false
    default: '*(rw,no_root_squash)'
    type: str
  smb:
    description:
      - Define whether to SMB protocol is enabled for the filesystem.
    required: false
    type: bool
    default: false
  http:
    description:
      - Define whether to HTTP/HTTPS protocol is enabled for the filesystem.
    required: false
    type: bool
    default: false
  snapshot:
    description:
      - Define whether a snapshot directory is enabled for the filesystem.
    required: false
    type: bool
    default: false
  fastremove:
    description:
      - Define whether the fast remove directory is enabled for the filesystem.
    required: false
    type: bool
    default: false
  hard_limit:
    description:
      - Define whether the capacity for a filesystem is a hard limit.
      - CAUTION This will cause the filesystem to go Read-Only if the
        capacity has already exceeded the logical size of the filesystem.
    required: false
    type: bool
    default: false
    version_added: 2.8
  user_quota:
    description:
      - Default quota in M, G, T or P units for a user under this file system.
    required: false
    type: str
    version_added: 2.9
  group_quota:
    description:
      - Default quota in M, G, T or P units for a group under this file system.
    required: false
    type: str
    version_added: 2.9
extends_documentation_fragment:
    - purestorage.fb
s
- name: Create new filesystem named foo
  purefb_fs:
    name: foo
    size: 1T
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Delete filesystem named foo
  purefb_fs:
    name: foo
    state: absent
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Recover filesystem named foo
  purefb_fs:
    name: foo
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Eradicate filesystem named foo
  purefb_fs:
    name: foo
    state: absent
    eradicate: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Modify attributes of an existing filesystem named foo
  purefb_fs:
    name: foo
    size: 2T
    nfsv3 : false
    nfsv4 : true
    user_quota: 10K
    group_quota: 25M
    nfs_rules: '*(ro)'
    snapshot: true
    fastremove: true
    hard_limit: true
    smb: true
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641t
(t
FileSystemtProtocolRuletNfsRule(t
AnsibleModulethuman_to_bytes(t	get_bladetpurefb_argument_specs1.4s1.6cC`sWg}|j|jd�y$|jjd|�}|jdSWntk
rRdSXdS(sReturn Filesystem or NonetnametnamesiN(tappendtparamstfile_systemstlist_file_systemstitemst	ExceptiontNone(tmoduletbladetfsystres((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pytget_fs�s
c	C`st}|js�y�|jds/d|jd<nt|jd�}|jddkrb|jdn
|jd}|jdr�t|jd�}nd}|jdr�t|jd�}nd}|jj�j}t|kr t	|kr�t
d|jdd|d	|jd
d|jdd
|jddtd|d|jdd|jd�dtd|jd�dtd|jd�d|d|�
}q�t
d|jdd|d	|jd
d|jdd
|jddtd|d|jd�dtd|jd�dtd|jd��}n�t
d|jdd|d	|jd
d
|jddtd|jdd|jd�dtd|jd�dtd|jd��}|j
j|�Wq�tk
r�|jddj|jd��q�Xn|jd|�dS(sCreate Filesystemtsizet32Gtnfsv3tnfst
user_quotatgroup_quotaRtprovisionedtfast_remove_directory_enabledt
fastremovethard_limit_enabledt
hard_limittsnapshot_directory_enabledtsnapshott
v3_enabledtv4_1_enabledtnfsv4trulest	nfs_rulestsmbtenabledthttptdefault_user_quotatdefault_group_quotatmsgs Failed to create filesystem {0}.tchangedN(tTruet
check_modeRR
Rtapi_versiont
list_versionstversionstHARD_LIMIT_API_VERSIONtNFSV4_API_VERSIONR	RR
Rtcreate_file_systemsRt	fail_jsontformatt	exit_json(	RRR6RR R"R#R9tfs_obj((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pyt	create_fs�s^	
-










#
'cC`s:t}|js&t}|jddkr5|jdn
|jd}i}|jdrkt|jd�}n|jdr�t|jd�}nt||�}|jr�t|d<t}n|jdrt|jd�|jkrt|jd�|d<t}qn|j	j
�j}	t|	kr�|rR|j
jrRtd|�|d<t}n|r�|j
jr�td|�|d<t}n|jd	r�|j
jr�td
|jd	�|d<t}n|jd	r�|j
jr�td
|jd	�|d<t}n|s&|jd	r|j
js&|j
jre|j
j|jdkretd|jd�|d<t}qen|jdr�||jkr�||d
<t}n|jdru||jkru||d<t}qun�|r�|j
jr�td|�|d<t}n|r$|j
jr$td|�|d<t}n|ru|j
jru|j
j|jdkrutd|jd�|d<t}qun|jdr�|jjr�td|jd�|d<t}n|jdr�|jjr�td|jd�|d<t}n|jdr,|jjr,td|jd�|d<t}n|jdri|jjritd|jd�|d<t}n|jdr�|jr�|jd|d<t}n|jdr�|jr�|jd|d<t}n|jdr�|jr�|jd|d<t}n|jdr-|jr-|jd|d<t}n|j	j
�j}	t|	kr�|jdr||jr||jd|d<t}n|jdr�|jr�|jd|d<t}q�n|rt|�}
y$|jjd|jdd|
�Wq#tk
r|j ddj!|jd��q#Xq&t}n|j"d|�dS(sModify FilesystemR R!R"R#t	destroyedRR$R+R-R,R/R.R3R4R1R0R2R*R)R&R%R(R'Rt
attributesR5s Failed to update filesystem {0}.R6N(#R7R8tFalseRRR
RRDR$R9R:R;R=R!R+RR,R.R3R4R1R0R
R2R)R%R<R'R	Rtupdate_file_systemsRR?R@RA(RRR6tmod_fsR tattrR"R#RR9tn_attr((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pyt	modify_fss�	-

	
	
				+
	
											$
'	c
C`s�t}|js|y6|jj�j}t|kr�|jjd|jddt	dt
dtdt�dtdt�dtdt�d	t��nV|jjd|jddt	dt
dt�dtdt�dtdt�d	t��|jd
rDy|jj
|jd�WqDtk
r@|jddj|jd��qDXnWq|tk
rx|jdd
j|jd��q|Xn|jd|�dS(s Delete FilesystemRRER!R+R,R0R1R2RDt	eradicateR5s Failed to delete filesystem {0}.s2Failed to update filesystem {0} prior to deletion.R6N(R7R8R9R:R;R=RRGRR	RRFR
tdelete_file_systemsRR?R@RA(RRR6R9((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pyt	delete_fshs0		



+
'cC`sut}|jsay|jj|jd�Wqatk
r]|jddj|jd��qaXn|jd|�dS(s Eradicate FilesystemRR5s#Failed to eradicate filesystem {0}.R6N(	R7R8RRMRRR?R@RA(RRR6((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pyteradicate_fs�s	
'c#C`swt�}|jtdtdt�dtdddd�dtd	d
dddd�dtdddd�d
tdddd�dtdd�dtdddd�dtdddd�dtdddd�dtdddd�dtdddd�dtdd�dtdd�dtdddddg�dt���ddgg}t|d|dt�}ts||jdd �n|jd}t|�}t	||�}|dkr�|r�t
||�n�|dkr�|r�t||�n�|dkr|r|jrt
||�n^|dkrM|rM|jrM|jdrMt||�n&|dkrs|rs|jd!t�ndS("NRtrequiredRLtdefaulttfalsettypetboolR!tremoved_in_versions2.10ttrueR R-R/s*(rw,no_root_squash)R0R2R*R&R(R"tstrR#tstatetpresenttchoicestabsentRtmutually_exclusivetsupports_check_modeR5s)purity_fb sdk is required for this moduleR6(RtupdatetdictR7Rt
HAS_PURITY_FBR?RRRRCRKRDRNRORARF(t
argument_specR\RRXRR((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pytmain�sJ	
		
(t__main__N(!t
__future__RRRRSt
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNR7R`t	purity_fbR	R
RtImportErrorRFtansible.module_utils.basicRR
tansible.module_utils.pureRRR<R=RRCRKRNRORbt__name__(((sQ/usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_fs.pyt<module>s0


n0 

		>	a	 		/

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