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_dns.pyc

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
Z
ddlmZdd
l
mZddljjZddlmZddlmZej�Zdefd��YZd�Zedkr�e�ndS(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bysf
module: na_ontap_dns
short_description: NetApp ONTAP Create, delete, modify DNS servers.
extends_documentation_fragment:
    - netapp.na_ontap
version_added: '2.7'
author: NetApp Ansible Team (@carchi8py) <[email protected]>
description:
- Create, delete, modify DNS servers.
options:
  state:
    description:
    - Whether the DNS servers should be enabled for the given vserver.
    choices: ['present', 'absent']
    default: present

  vserver:
    description:
    - The name of the vserver to use.
    required: true

  domains:
    description:
    - List of DNS domains such as 'sales.bar.com'. The first domain is the one that the Vserver belongs to.

  nameservers:
    description:
    - List of IPv4 addresses of name servers such as '123.123.123.123'.

  skip_validation:
    type: bool
    description:
    - By default, all nameservers are checked to validate they are available to resolve.
    - If you DNS servers are not yet installed or momentarily not available, you can set this option to 'true'
    - to bypass the check for all servers specified in nameservers field.
    version_added: '2.8'
s6
    - name: create DNS
      na_ontap_dns:
        state: present
        hostname: "{{hostname}}"
        username: "{{username}}"
        password: "{{password}}"
        vserver:  "{{vservername}}"
        domains: sales.bar.com
        nameservers: 10.193.0.250,10.192.0.250
        skip_validation: true
s

N(t
AnsibleModule(t	to_native(tNetAppModule(tOntapRestAPItNetAppOntapDnscB`sDeZdZd�Zd�Zd�Zd�Zd�Zd�ZRS(s 
    Enable and Disable dns
    cC`s�t|_tj�|_|jjtdtdtdddgdd�dtdtdd	�d
tdtdd�dtdtdd�d
tdtdd���td|jdddd
dgfgdt�|_	t
�|_|jj|j	j
�|_t|j	�|_d
g}g|D]}||jkr|^q}|jj|�\|_}|dk	rz|j	jd|�n|js�ttkr�|j	jdd�q�tjd|j	d|jd�|_ndS(Ntstatetrequiredtchoicestpresenttabsenttdefaulttvserverttypetstrtdomainstlisttnameserverstskip_validationtboolt
argument_spectrequired_iftsupports_check_modetmsgs(the python NetApp-Lib module is requiredtmodule(tFalsetuse_resttnetapp_utilstna_ontap_host_argument_specRtupdatetdicttTrueRRR
t	na_helpertset_parameterstparamst
parametersRtrestApitis_resttNonet	fail_jsontHAS_NETAPP_LIBtsetup_na_ontap_zapitserver(tselftunsupported_rest_propertiestxt used_unsupported_rest_propertiesterror((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pyt__init__Ss2	!		(	(cC`s|jr�d}i}|jd|d<|jd|d<i|jdd6|d<|jj||�\}}|r|jjd|�qn�tjjd	�}tjjd
�}tjjd�}xA|jdD]2}tjjd�}	|	j	|�|j
|	�q�W|j
|�xA|jdD]2}tjjd�}
|
j	|�|j
|
�qW|j
|�|jjd
�r�tjjd�}|j	t|jd
��|j
|�ny|j
j|t�WnBtjjk
r
}|jjddt|�dtj��nXdS(s9
        Create DNS server
        :return: none
        sname-services/dnsRRtserversRtnametsvmRsnet-dns-createsname-serverss
ip-addresststringRsskip-config-validationsError creating dns: %st	exceptionN(R!R*R+tpostRR.R"tzapit	NaElementtset_contenttadd_child_elemtgetRR1tinvoke_successfullyR&t
NaApiErrorR	t	tracebackt
format_exc(R2tapiR)tmessageR6tdnsRRteacht
ip_addresstdomaint
validation((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pyt
create_dnsxs@	




cC`s�|jri|dddd}d|}d
}|jj||�\}}|r�|jjd|�q�nhy#|jjtj	j
d�t�WnBtj	jk
r�}|jjddt
|�d	tj��nXd
S(sB
        Destroys an already created dns
        :return:
        trecordsiR:tuuidsname-services/dns/Rsnet-dns-destroysError destroying dns %sR<N(R!R-R+tdeleteRR.R1RCR"R>R?R&RDR	RERF(R2t	dns_attrsRPRGtdataRHR6((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pytdestroy_dns�s	
#
c
C`s6|jr�d}idd6|jdd6}|jj||�\}}|ra|jjd|�nt|j��dkr�d}nyd|kr�t|d�dkr�d}nNd|ks�t|d�d	kr�d
|t	|�f}|jjd|�n|St
jjd�}y|j
j|t�}WnWt
jjk
r�}t|j�dkr[dS|jjdt|�d
tj��nXt�}|jd�}|jd�}	|	jd�}
g|
j�D]}|j�^q�|d<|	jd�}g|j�D]}|j�^q�|d<|	jd�|d<|SdS(Nsname-services/dnssdomains,servers,svmtfieldsRssvm.nameRiROisUnexpected response from %s: %ssnet-dns-gett15661R<t
attributessnet-dns-infosname-serversRRsskip-config-validationR(R!R*R+RBRR.tlentkeysR-treprR"R>R?R1RCR&RDR	tcodeRERFR%tget_child_by_nametget_childrentget_content(
R2RGR)RHR6tdns_objtresulttattrsRWtdns_infoRRJR((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pytget_dns�s@	
	"	"	))cC`s�|jr�t}i}|ddd|jdkrNt}|jd|d<n|ddd|jdkr�t}|jd|d<n|r�|dddd}d|}|jj||�\}}|r�|jjd	|�q�q�n�t}tj	j
d
�}|d|jdkr�t}tj	j
d�}	xA|jdD]2}
tj	j
d�}|j|
�|	j|�q?W|j|	�n|d|jdkrt}tj	j
d�}xA|jdD]2}
tj	j
d
�}
|
j|
�|j|
�q�W|j|�n|r�|jj
d�r\tj	j
d�}|jt|jd��|j|�ny|jj|t�Wq�tj	jk
r�}|jjd	dt|�dtj��q�Xn|S(NROiR8RRR:RPsname-services/dns/Rsnet-dns-modifysname-serverss
ip-addressR;Rsskip-config-validationsError modifying dns %sR<(R!R R*R&R+tpatchRR.R"R>R?R@RARBRR1RCRDR	RERF(R2RRtchangedR)RPRGRHR6RIRRJRKRRLRM((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pyt
modify_dns�sX	


!cC`s�|jstjd|j�n|j�}t}|jddkru|dk	rb|j|�}q�|j	�t
}n"|dk	r�|j|�t
}n|jj
d|�dS(Ntna_ontap_dnsR
RRe(R!R"t
ems_log_eventR1RcR R*R-RfRNR&RTRt	exit_json(R2RRRe((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pytapply
s	
	
	(	t__name__t
__module__t__doc__R7RNRTRcRfRj(((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pyRNs	%	'		'	0cC`st�}|j�dS(s-
    Create, Delete, Modify DNS servers.
    N(RRj(tobj((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pytmains	t__main__(t
__future__RRRRt
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNREtansible.module_utils.basicRtansible.module_utils._textR	tansible.module_utils.netapptmodule_utilstnetappR"t"ansible.module_utils.netapp_moduleR
Rthas_netapp_libR/tobjectRRoRk(((sO/usr/lib/python2.7/site-packages/ansible/modules/storage/netapp/na_ontap_dns.pyt<module>s$


&
�	

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