Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/network/f5/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyo

�
�Udac@`sSddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
mZddl
mZytdd
l
mZddlmZddlmZddlmZddlmZddlmZddlmZWn�ek
ridd
lmZddlmZddlmZddlmZddlmZddlmZddlmZnXdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZd efd!��YZ d"efd#��YZ!d$efd%��YZ"d&�Z#e$d'krOe#�nd(S()i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bys
---
module: bigip_dns_cache_resolver
short_description: Manage DNS resolver cache configurations on BIG-IP
description:
  - Manage DNS resolver cache configurations on BIG-IP.
version_added: 2.8
options:
  name:
    description:
      - Specifies the name of the cache.
    type: str
    required: True
  answer_default_zones:
    description:
      - Specifies whether the system answers DNS queries for the default
        zones localhost, reverse 127.0.0.1 and ::1, and AS112.
      - When creating a new cache resolver, if this parameter is not specified, the
        default is C(no).
    type: bool
  forward_zones:
    description:
      - Forward zones associated with the cache.
      - To remove all forward zones, specify a value of C(none).
    suboptions:
      name:
        description:
          - Specifies a FQDN for the forward zone.
        type: str
        required: True
      nameservers:
        description:
          - Specifies the IP address and service port of a recursive
            nameserver that answers DNS queries for the zone when the
            response cannot be found in the DNS cache.
        suboptions:
          address:
            description:
              - Address of recursive nameserver.
            type: str
          port:
            description:
              - Port of recursive nameserver.
              - When specifying new nameservers, if this value is not provided, the
                default is C(53).
            type: int
        type: list
    type: raw
  route_domain:
    description:
      - Specifies the route domain the resolver uses for outbound traffic.
    type: str
  state:
    description:
      - When C(present), ensures that the resource exists.
      - When C(absent), ensures the resource is removed.
    type: str
    choices:
      - present
      - absent
    default: present
  partition:
    description:
      - Device partition to manage resources on.
    type: str
    default: Common
extends_documentation_fragment: f5
author:
  - Tim Rupp (@caphrim007)
sw
- name: Create a DNS resolver cache
  bigip_dns_cache:
    name: foo
    answer_default_zones: yes
    forward_zones:
      - name: foo.bar.com
        nameservers:
          - address: 1.2.3.4
            port: 53
          - address: 5.6.7.8
    route_domain: 0
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
s�
param1:
  description: The new param1 value of the resource.
  returned: changed
  type: bool
  sample: true
param2:
  description: The new param2 value of the resource.
  returned: changed
  type: str
  sample: Foo is bar
(t
AnsibleModule(tenv_fallback(tF5RestClient(t
F5ModuleError(tAnsibleF5Parameters(tfq_name(tf5_argument_spec(tflatten_boolean(ttransform_namet
ParameterscB`sneZidd6dd6dd6ZdddgZdddgZdddgZed��Zed��ZRS(troute_domaintrouteDomaintanswer_default_zonestanswerDefaultZonest
forward_zonestforwardZonescC`s.|jddkrdSt|j|jd�S(NR(t_valuestNoneR
t	partition(tself((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR�scC`st|jd�S(NR(RR(R((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR�s(	t__name__t
__module__tapi_maptapi_attributestreturnablest
updatablestpropertyRR(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR�s
			t
ApiParameterscB`seZed��ZRS(cC`s�|jddkrdSg}x}|jdD]n}td|ddg�}d|kr�g|dD]}|d^qa|d<|dj�n|j|�q+W|S(NRtnametnameservers(RRtdicttsorttappend(Rtresulttxttmpty((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR�s
	%(RRR"R(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR#�stModuleParameterscB`seZed��ZRS(cC`s|jddkrdS|jddkr.dSg}x�|jdD]�}d|krctd��ntd|ddg�}d|kr�x`|dD]T}d|kr�td��nd	j|d|jd
d��}|dj|�q�W|dj�n|j|�qBW|S(
NRttnoneR$sFA 'name' key must be provided when specifying a list of forward zones.R%taddresssUAn 'address' key must be provided when specifying a list of forward zone nameservers.s{0}:{1}tporti5(R.R/(RRRR&tformattgetR(R'(RR)R*R+tnstitem((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR�s,
	"(RRR"R(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR-�stChangescB`seZd�ZRS(cC`sXi}y:x$|jD]}t||�||<qW|j|�}Wntk
rSnX|S(N(R tgetattrt_filter_paramst	Exception(RR)t
returnable((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt	to_return�s
(RRR;(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR6�st
UsableChangescB`seZed��ZRS(cC`s�|jddkrdSg}x{|jdD]l}i|dd6}d|kr�g|d<x/|dD] }|djtd|��qcWn|j|�q+W|S(NRR$R%(RRR(R&(RR)R*R+R,((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR�s
!(RRR"R(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR<�stReportableChangescB`seZRS((RR(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR=�st
DifferencecB`s5eZdd�Zd�Zd�Zed��ZRS(cC`s||_||_dS(N(twantthave(RR?R@((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt__init__s	cC`s9yt||�}|SWntk
r4|j|�SXdS(N(R7tAttributeErrort_Difference__default(RtparamR)((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pytcompares

cC`sQt|j|�}y&t|j|�}||kr7|SWntk
rL|SXdS(N(R7R?R@RB(RRDtattr1tattr2((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt	__defaults
c	C`s�|jjdkrdS|jjdkr>|jjd	kr>dS|jjdk	rf|jjd
krfgS|jjdkr�td|jj�St|jjdd��}t|jjdd��}g|D]}|d^q�}g|D]}|d^q�}t|�t|�kr&td|jj�Sxmt|�D]_\}}|jdg�}||jdg�}t|�t|�kr3td|jj�Sq3WdS(NR.R/RtkeycS`s|dS(NR$((R*((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt<lambda>"scS`s|dS(NR$((R*((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRJ#sR$R%(R.snone(R.snone(	R?RRR@R&tsortedtsett	enumerateR3(	RR?R@R*twnamesthnamestidxtwnsthns((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRs,$$

N(RRRRARERCR"R(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR>s			t
ModuleManagercB`s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�ZRS(cO`s^|jdd�|_t|jj�|_td|jj�|_t�|_	t
�|_dS(Ntmoduletparams(R3RRTR
RUtclientR-R?R#R@R<tchanges(Rtargstkwargs((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRA7s
cC`sji}xBtjD]7}t|j|�dk	rt|j|�||<qqW|rftd|�|_ndS(NRU(RR R7R?RR<RW(RtchangedRI((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt_set_changed_options>scC`s�t|j|j�}tj}t�}xX|D]P}|j|�}|dkrUq.q.t|t�rt|j	|�q.|||<q.W|r�t
d|�|_tSt
S(NRU(R>R?R@RR!R&RERt
isinstancetupdateR<RWtTruetFalse(RtdiffR!RZtktchange((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt_update_changed_optionsFs		
cC`s|j�}|rtStS(N(RcR^R_(RR)((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt
should_updateXscC`s�t}t�}|jj}|dkr6|j�}n|dkrQ|j�}ntd|jj��}|j�}|j	|�|j	td|��|j
|�|S(NtpresenttabsentRURZ(R_R&R?tstateReRfR=RWR;R]t_announce_deprecations(RRZR)Rgt
reportableRW((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pytexec_module^s	

cC`sK|jdg�}x2|D]*}|jjjd|dd|d�qWdS(Nt
__warningstmsgtversion(tpopRVRTt	deprecate(RR)twarningstwarning((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRhos


cC`s$|j�r|j�S|j�SdS(N(texistsR]tcreate(R((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRews
cC`s�dj|jjd|jjdt|jj|jj��}|jjj|�}y|j	�}Wnt
k
rwtSX|jdks�d|kr�|ddkr�tSt
S(Ns2https://{0}:{1}/mgmt/tm/ltm/dns/cache/resolver/{2}tservertserver_porti�tcode(R2RVtproviderRR?RR$tapiR3tjsont
ValueErrorR_RR^(Rturitresptresponse((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRr}s


+cC`s=|j�|_|j�stS|jjr/tS|j�tS(N(tread_current_from_deviceR@RdR_RTt
check_modeR^tupdate_on_device(R((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR]�s
cC`s9|jjrtS|j�|j�r5td��ntS(NsFailed to delete the resource.(RTRR^tremove_from_deviceRrR(R((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pytremove�s
cC`s(|j�|jjrtS|j�tS(N(R[RTRR^tcreate_on_device(R((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRs�s


cC`s�|jj�}|jj|d<|jj|d<dj|jjd|jjd�}|jjj	|d|�}y|j
�}Wn%tk
r�}tt
|���nXd|kr�|ddkr�d
|kr�t|d
��q�t|j��ndS(NR$Rs/https://{0}:{1}/mgmt/tm/ltm/dns/cache/resolver/RtRuRyRvi�i�tmessage(i�i�(RWt
api_paramsR?R$RR2RVRwRxtpostRyRzRtstrtcontent(RRUR{R|R}tex((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR��s
cC`s�|jj�}dj|jjd|jjdt|jj|jj��}|jj	j
|d|�}y|j�}Wn%tk
r�}t
t|���nXd|kr�|ddkr�d|kr�t
|d��q�t
|j��ndS(Ns2https://{0}:{1}/mgmt/tm/ltm/dns/cache/resolver/{2}RtRuRyRvi�R�(RWR�R2RVRwRR?RR$RxtpatchRyRzRR�R�(RRUR{R|R}R�((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR��s

cC`s|j�r|j�StS(N(RrR�R_(R((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRf�s
cC`sydj|jjd|jjdt|jj|jj��}|jjj|�}|j	dkrft
St|j��dS(Ns2https://{0}:{1}/mgmt/tm/ltm/dns/cache/resolver/{2}RtRui�(
R2RVRwRR?RR$RxtdeleteRR^RR�(RR{R}((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR��s

cC`s�dj|jjd|jjdt|jj|jj��}|jjj|�}y|j	�}Wn%t
k
r�}tt|���nXd|kr�|ddkr�d|kr�t|d��q�t|j
��ntd|�S(Ns2https://{0}:{1}/mgmt/tm/ltm/dns/cache/resolver/{2}RtRuRvi�R�RU(R2RVRwRR?RR$RxR3RyRzRR�R�R#(RR{R|R}R�((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR~�s

(RRRAR[RcRdRjRhReRrR]R�RsR�R�RfR�R~(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRS6s 																tArgumentSpeccB`seZd�ZRS(cC`s�t|_tdtdt�dt�dtdd�dtddd	tdt�d
tdddd
d	tdt�dtdd�����dtdddddg�dtdddtdgf��}i|_|jjt�|jj|�dS(NR$trequiredRRttypetboolRtrawtoptionsR%tlisttelementsR&R0R1tintRgtdefaultRetchoicesRfRtCommontfallbacktF5_PARTITION(R^tsupports_check_modeR&R	t
argument_specR]R(RR�((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyRA�s0					(RRRA(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyR��scC`s�t�}td|jd|j�}y,td|�}|j�}|j|�Wn)tk
r{}|jdt	|��nXdS(NR�R�RTRl(
R�RR�R�RSRjt	exit_jsonRt	fail_jsonR�(tspecRTtmmtresultsR�((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pytmains		t__main__N(%t
__future__RRRR�t
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicRR	t%library.module_utils.network.f5.bigipR
t&library.module_utils.network.f5.commonRRR
RRRtImportErrort%ansible.module_utils.network.f5.bigipt&ansible.module_utils.network.f5.commonRR#R-R6R<R=tobjectR>RSR�R�R(((sW/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_dns_cache_resolver.pyt<module>sJ


H

$6�#	

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