Anons79 Mini Shell

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

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
Z
ddlmZdd
l
mZddljjZej�Zdefd��YZd�Zedkr�e�ndS(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bys8

module: na_ontap_nfs
short_description: NetApp ONTAP NFS status
extends_documentation_fragment:
    - netapp.na_ontap
version_added: '2.6'
author: NetApp Ansible Team (@carchi8py) <[email protected]>
description:
- Enable or disable NFS on ONTAP
options:
  state:
    description:
    - Whether NFS should exist or not.
    choices: ['present', 'absent']
    default: present
  service_state:
    description:
    - Whether the specified NFS should be enabled or disabled. Creates NFS service if does not exist.
    choices: ['started', 'stopped']
  vserver:
    description:
    - Name of the vserver to use.
    required: true
  nfsv3:
    description:
    - status of NFSv3.
    choices: ['enabled', 'disabled']
  nfsv3_fsid_change:
    description:
    - status of if NFSv3 clients see change in FSID as they traverse filesystems.
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv4_fsid_change:
    description:
    - status of if NFSv4 clients see change in FSID as they traverse filesystems.
    choices: ['enabled', 'disabled']
    version_added: '2.9'
  nfsv4:
    description:
    - status of NFSv4.
    choices: ['enabled', 'disabled']
  nfsv41:
    description:
    - status of NFSv41.
    aliases: ['nfsv4.1']
    choices: ['enabled', 'disabled']
  nfsv41_pnfs:
    description:
    - status of NFSv41 pNFS.
    choices: ['enabled', 'disabled']
    version_added: '2.9'
  nfsv4_numeric_ids:
    description:
    - status of NFSv4 numeric ID's.
    choices: ['enabled', 'disabled']
    version_added: '2.9'
  vstorage_state:
    description:
    - status of vstorage_state.
    choices: ['enabled', 'disabled']
  nfsv4_id_domain:
    description:
    - Name of the nfsv4_id_domain to use.
  nfsv40_acl:
    description:
    - status of NFS v4.0 ACL feature
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv40_read_delegation:
    description:
    - status for NFS v4.0 read delegation feature.
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv40_write_delegation:
    description:
    - status for NFS v4.0 write delegation feature.
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv41_acl:
    description:
    - status of NFS v4.1 ACL feature
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv41_read_delegation:
    description:
    - status for NFS v4.1 read delegation feature.
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv41_write_delegation:
    description:
    - status for NFS v4.1 write delegation feature.
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  nfsv40_referrals:
    description:
    - status for NFS v4.0 referrals.
    choices: ['enabled', 'disabled']
    version_added: '2.9'
  nfsv41_referrals:
    description:
    - status for NFS v4.1 referrals.
    choices: ['enabled', 'disabled']
    version_added: '2.9'
  tcp:
    description:
    - Enable TCP (support from ONTAP 9.3 onward).
    choices: ['enabled', 'disabled']
  udp:
    description:
    - Enable UDP (support from ONTAP 9.3 onward).
    choices: ['enabled', 'disabled']
  showmount:
    description:
    - Whether SVM allows showmount
    choices: ['enabled', 'disabled']
    version_added: '2.7'
  tcp_max_xfer_size:
    description:
    - TCP Maximum Transfer Size (bytes). The default value is 65536.
    version_added: '2.8'
    type: int

s�
    - name: change nfs status
      na_ontap_nfs:
        state: present
        service_state: stopped
        vserver: vs_hack
        nfsv3: disabled
        nfsv4: disabled
        nfsv41: enabled
        tcp: disabled
        udp: disabled
        vstorage_state: disabled
        nfsv4_id_domain: example.com
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
t
N(t
AnsibleModule(t	to_nativetNetAppONTAPNFScB`s_eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
s% object initialize and class methods c8C`s�tj�|_|jjtdtdtdddddgdd�d	tdtdd
dg�dtdtdd�d
tdtdddddg�dtdtdddddg�dtdtdddddg�dtdtdddddg�dtdtdddddgddg�dtdtdddddg�dtdtdddddg�dtdtdddddg�dtdtdddddg�dtdtdddddg�dtdtdddd�dtdtdddddg�dtdtdddddg�dtdtdddddg�dtdtdddddg�d tdtdddddg�d!tdtdddddg�d"tdtdddddg�d#tdtdddddg�d$tdtdddddg�d%tdtdddd&���td'|jd(t�|_	|j	j
}|d|_|d	|_|d|_
|d
|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d|_|d |_|d!|_|d"|_|d#|_|d|_|d|_ |d$|_!|d%|_"t#tkr�|j	j$d)d*�n!tj%d+|j	d|j
�|_&dS(,Ntstatetrequiredttypetstrtchoicestpresenttabsenttdefaultt
service_statetstartedtstoppedtvservertnfsv3tenabledtdisabledtnfsv3_fsid_changetnfsv4_fsid_changetnfsv4tnfsv41taliasessnfsv4.1tnfsv41_pnfstnfsv4_numeric_idstvstorage_statettcptudptnfsv4_id_domaint
nfsv40_acltnfsv40_read_delegationtnfsv40_referralstnfsv40_write_delegationt
nfsv41_acltnfsv41_read_delegationtnfsv41_referralstnfsv41_write_delegationt	showmountttcp_max_xfer_sizetintt
argument_spectsupports_check_modetmsgs(the python NetApp-Lib module is requiredtmodule('tnetapp_utilstna_ontap_host_argument_specR1tupdatetdicttFalsetTruetNoneR	R4tparamsRRRRRRRRR"R%R$R#R&R'R(R)R*R+R,R-R R!R.R/tHAS_NETAPP_LIBt	fail_jsontsetup_na_ontap_zapitserver(tselft
parameters((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyt__init__�sr'!!!!*!!!!!!!!!!!!!!	























cC`s�tjjd�}tjjd�}|jd|j�tjjd�}|j|�|j|�|jj|t�}d2}|j
d�r�t|jd��dkr�|j
d�j
d�}|jd�}|jd	�}|jd
�}	|jd�}
|jd�}|jd
�}|jd�}
|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}|jd�}i|d6|d6|	d6|
d 6|d!6|d"6|d#6|d$6|
d%6|d&6|d'6|d(6|d)6|d*6|d+6|d,6|d-6|d.6|d/6|d06|d16}n|S(3s�
        Return details about nfs
        :param:
            name : name of the vserver
        :return: Details about nfs. None if not found.
        :rtype: dict
        snfs-service-get-itersnfs-infoRtquerysnum-recordsisattributes-listsis-nfsv3-enabledsis-nfsv3-fsid-change-enabledsis-nfsv4-fsid-change-enabledsis-nfsv40-enabledsis-nfsv41-enabledsis-vstorage-enabledsnfsv4-id-domainsis-tcp-enabledsis-udp-enabledsis-nfsv40-acl-enableds"is-nfsv40-write-delegation-enableds!is-nfsv40-read-delegation-enabledsis-nfsv40-referrals-enabledsis-nfsv41-acl-enableds"is-nfsv41-write-delegation-enableds!is-nfsv41-read-delegation-enabledsis-nfsv41-referrals-enabledsis-nfsv41-pnfs-enabledsis-nfsv4-numeric-ids-enabledR.stcp-max-xfer-sizetis_nfsv3_enabledtis_nfsv3_fsid_change_enabledtis_nfsv4_fsid_change_enabledtis_nfsv40_enabledtis_nfsv41_enabledtis_nfsv41_pnfs_enabledtis_nfsv4_numeric_ids_enabledtis_vstorage_enabledR%tis_tcp_enabledtis_udp_enabledtis_nfsv40_acl_enabledt!is_nfsv40_read_delegation_enabledtis_nfsv40_referrals_enabledt"is_nfsv40_write_delegation_enabledtis_nfsv41_acl_enabledt!is_nfsv41_read_delegation_enabledtis_nfsv41_referrals_enabledt"is_nfsv41_write_delegation_enabledtis_showmount_enabledR/N(
R5tzapit	NaElementt
add_new_childRtadd_child_elemR@tinvoke_successfullyR:R;tget_child_by_nameR0tget_child_content(RAtnfs_get_itertnfs_infoRDtresulttnfs_detailstattributes_listRERFRGRHRIRLtnfsv4_id_domain_valueRMRNRORRRPRQRSRVRTRURJRKRWR/((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytget_nfs_service�sn


cC`s:tjjd�}|jj|t�}|jd�}|S(s�
        Return status of nfs
        :param:
            name : Name of the vserver
        :return: status of nfs. None if not found.
        :rtype: bool
        s
nfs-statuss
is-enabled(R5RXRYR@R\R:R^(RAt
nfs_statusRatreturn_value((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytget_nfs_status2scC`s�tjjjd�}y|jj|dt�WnQtjjk
r�}|jj	dd|j
|jt|�fdt
j��nXdS(s�
        enable nfs (online). If the NFS service was not explicitly created,
        this API will create one with default options.
        s
nfs-enabletenable_tunnelingR3s4Error changing the service_state of nfs %s to %s: %st	exceptionN(R5RXRYtcreate_node_with_childrenR@R\R:t
NaApiErrorR4R>RRR
t	tracebackt
format_exc(RAt
nfs_enableterror((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyt
enable_nfs@scC`s�tjjjd�}y|jj|dt�WnQtjjk
r�}|jj	dd|j
|jt|�fdt
j��nXdS(s(
        disable nfs (offline).
        snfs-disableRiR3s4Error changing the service_state of nfs %s to %s: %sRjN(R5RXRYRkR@R\R:RlR4R>RRR
RmRn(RAtnfs_disableRp((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytdisable_nfsNscC`s�tjjd�}|jdkr4|jdd�n"|jdkrV|jdd�n|jdkrx|jdd�n"|jdkr�|jdd�n|jdkr�|jdd�n"|jdkr�|jdd�n|jdkr|jd	d�n"|jdkr"|jd	d�n|jdkrD|jd
d�n"|jdkrf|jd
d�n|j	dkr�|jdd�n"|j	dkr�|jdd�n|j
dkr�|jdd�n"|j
dkr�|jdd�n|jdkr|jd
d�n"|jdkr2|jd
d�n|jdkrT|jdd�n"|jdkrv|jdd�n|j
dkr�|jdd�n"|j
dkr�|jdd�n|jdkr�|jdd�n"|jdkr�|jdd�n|jdkr |jdd�n"|jdkrB|jdd�n|jdkrd|jdd�n"|jdkr�|jdd�n|jdkr�|jdd�n"|jdkr�|jdd�n|jdkr�|jdd�n"|jdkr|jdd�n|jdkr0|jdd�n"|jdkrR|jdd�n|jdkrt|jdd�n"|jdkr�|jdd�n|jdkr�|jdd�n"|jdkr�|jdd�n|jdkr�|jdd�n"|jdkr|jdd�n|jdk	rI|jdt|j��ny|jj|dt�WnBtjjk
r�}|jjddt |�dt!j"��nXdS(s$
        modify nfs service
        snfs-service-modifyRsis-nfsv3-enabledttrueRtfalsesis-nfsv3-fsid-change-enabledsis-nfsv4-fsid-change-enabledsis-nfsv40-enabledsis-nfsv41-enabledsis-vstorage-enabledsis-tcp-enabledsis-udp-enabledsis-nfsv40-acl-enableds!is-nfsv40-read-delegation-enabledsis-nfsv40-referrals-enableds"is-nfsv40-write-delegation-enabledsis-nfsv41-acl-enableds!is-nfsv41-read-delegation-enabledsis-nfsv41-referrals-enableds"is-nfsv41-write-delegation-enabledsis-nfsv41-pnfs-enabledsis-nfsv4-numeric-ids-enabledR.stcp-max-xfer-sizeRiR3sError modifying nfs: %sRjN(#R5RXRYRRZRRRRR"R#R$R&R'R(R)R*R+R,R-R R!R.R/R;RR@R\R:RlR4R>R
RmRn(RAt
nfs_modifyRp((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyt
modify_nfs[s�
cC`s�tjjjdi|jd6�}|dk	r�y|jj|dt�Wq�tjj	k
r�}|j
jddt|�dt
j��q�XndS(s$
        modify nfs service
        snfs-service-modifysnfsv4-id-domainRiR3sError modifying nfs: %sRjN(R5RXRYRkR%R;R@R\R:RlR4R>R
RmRn(RAtnfsv4_id_domain_modifyRp((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytmodify_nfsv4_id_domain�s
cC`sxtjjjd�}y|jj|dt�WnBtjjk
rs}|jj	ddt
|�dtj��nXdS(s%
        delete nfs service.
        snfs-service-destroyRiR3sError deleting nfs: %sRjN(
R5RXRYRkR@R\R:RlR4R>R
RmRn(RAt
nfs_deleteRp((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyt
delete_nfs�s
c
`sdt}t}t}t}t}tjd�j��j�}�j��t}d�����fd�}��fd�}	�r<t}�jdkr�t}qT�jdkrT�jdkr�|dkr�t}t}n*�jd	kr|d
krt}t}n|�rt}t}n|	�r9t}t}q9qTn�jdkrTt}n|rM�j	j
riqM�jdkr.|s��j��j���jd	kr��j�n|�r��j
�n|	�r+�j�q+qJ|r��j�n|r�j�n|r�j
�n|rJ�j�qJqM�jdkrM�j�qMn�j	jd|�dS(
sApply action to nfstna_ontap_nfscS`s<|dkr|dkrtS|dkr8|dkr8tStS(NRRtRRu(R9R:(texpectedtcurrent((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyt
state_changed�s
c+`s��jdk	r%��j�d�s��jdk	rJ��j�d�s��jdk	ro��j�d�s��jdk	r���j�d�s��jdk	r���j�d�s��jdk	r���j�d�s��jdk	r��j�d�s��jdk	r(��j�d�s��j	dk	rM��j	�d	�s��j
dk	rr��j
�d
�s��jdk	r���j�d�s��jdk	r���j�d�s��j
dk	r���j
�d
�s��jdk	r��j�d�s��jdk	r+��j�d�s��jdk	rP��j�d�s��jdk	ru��j�d�s��jdk	r���j�d�s��jdk	r���j�d�s��jdk	r�t�j�t�d�kr�tStS(NRERFRGRHRIRJRKRMRNRORPRRRSRTRVRQRURWRLR/(RR;RRRRR R!R#R$R&R'R)R*R+R-R(R,R.R"R/R0R:R9((tnfs_service_detailsRAR(sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytis_modify_needed�s8%%%%%%%%%%

%



%%.c`s*�jdk	r&�j�dkr&tStS(NR%(R%R;R:R9((R�RA(sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytis_domain_changeds"RRRRuRRttchangedN(R9R5t
ems_log_eventR@RhReR:RRR4t
check_modeRqRsRwRyR{t	exit_json(
RAR�t
nfs_existsRwRqRstnfs_enabledtis_nfsv4_id_domain_changedR�R�((R�RARsO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytapply�sn								

	
	


(t__name__t
__module__t__doc__RCReRhRqRsRwRyR{R�(((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyR�s	D	B			
	[		
cC`st�}|j�dS(s Create object and call apply N(RR�(tobj((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pytmain9s	t__main__(t
__future__RRRRt
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNRmtansible.module_utils.basicR	tansible.module_utils._textR
tansible.module_utils.netapptmodule_utilstnetappR5thas_netapp_libR=tobjectRR�R�(((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_nfs.pyt<module>s"


}��	

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