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_device_license.pyo

�
�Udac@`smddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
mZddlm
Z
dd
lZdd
lZdd
lZydddlmZddlmZddlmZddlmZddlmZddlmZWnqek
rmddlmZddlmZddlmZddlmZddlmZddlmZnXdefd��YZ defd��YZ!de!fd��YZ"de!fd��YZ#de!fd��YZ$de$fd��YZ%d e$fd!��YZ&d"efd#��YZ'd$efd%��YZ(d&efd'��YZ)d(�Z*e+d)krie*�nd
S(*i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bys�
---
module: bigip_device_license
short_description: Manage license installation and activation on BIG-IP devices
description:
  - Manage license installation and activation on a BIG-IP.
version_added: 2.6
options:
  license_key:
    description:
      - The registration key to use to license the BIG-IP.
      - This parameter is required if the C(state) is equal to C(present).
      - This parameter is not required when C(state) is C(absent) and will be
        ignored if it is provided.
    type: str
  license_server:
    description:
      - The F5 license server to use when getting a license and validating a dossier.
      - This parameter is required if the C(state) is equal to C(present).
      - This parameter is not required when C(state) is C(absent) and will be
        ignored if it is provided.
    type: str
    default: activate.f5.com
  state:
    description:
      - The state of the license on the system.
      - When C(present), only guarantees that a license is there.
      - When C(latest), ensures that the license is always valid.
      - When C(absent), removes the license on the system.
      - When C(revoked), removes the license on the system and revokes its future usage
        on the F5 license servers.
    type: str
    choices:
      - absent
      - present
      - revoked
    default: present
  accept_eula:
    description:
      - Declares whether you accept the BIG-IP EULA or not. By default, this
        value is C(no). You must specifically declare that you have viewed and
        accepted the license. This module will not present you with that EULA
        though, so it is incumbent on you to read it.
      - The EULA can be found here; https://support.f5.com/csp/article/K12902.
      - This parameter is not required when C(state) is C(absent) and will be
        ignored if it is provided.
    type: bool
    default: no
extends_documentation_fragment: f5
author:
  - Tim Rupp (@caphrim007)
s�
- name: License BIG-IP using a key
  bigip_device_license:
    license_key: "XXXXX-XXXXX-XXXXX-XXXXX-XXXXXXX"
    provider:
      server: "lb.mydomain.com"
      user: "admin"
      password: "secret"
  delegate_to: localhost

- name: Remove the license from the system
  bigip_device_license:
    state: "absent"
    provider:
      server: "lb.mydomain.com"
      user: "admin"
      password: "secret"
  delegate_to: localhost
s
# only common fields returned
(t
AnsibleModule(t	iteritemsN(tF5RestClient(t
F5ModuleError(tAnsibleF5Parameters(tfq_name(tf5_argument_spec(tiControlRestSessiontLicenseXmlParsercB`s�eZdd�Zed��Zed��Zed��Zd�Zed��Z	ed��Z
ed��Zd�Zd	�Z
d
�Zd�ZRS(
cC`sc||_ytjjj|�|_Wn7tjjjk
r^}tdjt	|����nXdS(Ns0Provided XML payload is invalid. Received '{0}'.(
traw_contenttxmltetreetElementTreet
fromstringtcontentt
ParseErrorRtformattstr(tselfRtex((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt__init__ts
	cC`sidd6}|S(Ns)http://www.w3.org/2001/XMLSchema-instancetxsi((Rtresult((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt
namespaces{s
cC`s@y'|jjd|j�}|djSWntk
r;dSXdS(Ns.//eulai(RtfindallRttextt	ExceptiontNone(Rtroot((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyteula�s

cC`s@y'|jjd|j�}|djSWntk
r;dSXdS(Ns
.//licensei(RR RR!R"R#(RR$((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytlicense�s

cC`ss|jjd|j�}t|�dkr.dSx>|D]6}x-t|j�D]\}}||krK|SqKWq5WdS(Ns.//multiRefi(RR RtlenR#R	tattrib(RtvalueR$telemtktv((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytfind_element�s
cC`s&|jd�}|dk	r"|jSdS(NtTransactionState(R-R#R!(RR*((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytstate�scC`s|j�}|jdd�S(NtfaultNumber(t	get_faulttgetR#(Rtfault((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytfault_number�scC`s|j�}|jdd�S(Nt	faultText(R1R2R#(RR3((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt
fault_text�scC`s@t�}|j|�|j|�d|kr<d|d<n|S(NR0(tdicttset_result_for_license_faulttset_result_for_general_faultR#(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR1�s	


cC`s�|jd�}|dkr|Sx�|D]x}|jdkrQt|j�|d<q&|jdkr&|jjdd�}|dkr�d|d<q�|j|d<q&q&WdS(NtLicensingFaultR0R5s.{http://www.w3.org/2001/XMLSchema-instance}nilttrue(R-R#ttagtintR!R(R2(RRR$R*ttmp((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR8�s

cC`spidd6}|jjd|�}t|�dkr8dSx1|dD]%}|jdkrC|j|d<qCqCWdS(Ns)http://schemas.xmlsoap.org/soap/envelope/tns2s.//ns2:FaultitfaultstringR5(RR R'R#R<R!(RRRR$R*((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR9�s
cC`sRtd|jpdd|jp!dd|jp0dd|jd|jpHd�}|S(NR%R&R/R4R6(R7R%R#R&R/R4R6(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytjson�s	N(t__name__t
__module__R#RtpropertyRR%R&R-R/R4R6R1R8R9RA(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRss			
		t
ParameterscB`s'eZidd6ZgZgZgZRS(tlicense_end_date_timetlicenseEndDateTime(RBRCtapi_maptapi_attributestreturnablest
updatables(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRE�s

t
ApiParameterscB`seZRS((RBRC(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRL�stModuleParameterscB`s5eZed��Zed��Zed��ZRS(c%C`s�td|jpdd|jp!dd|jp0dd|jp?dd|jpNdd|jp]dd|jpldd	|jp{dd
|j	p�dd|j
p�dd|jp�dd
|jp�d�}|S(NR%ttemailt
first_namet	last_nametcompanytphonet	job_titletaddresstcityR/tpostal_codetcountry(
R7R%RORPRQRRRSRTRURVR/RWRX(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytlicense_options�scC`sdj|j�}|S(NsEhttps://{0}/license/services/urn:com.f5.license.v5b.ActivationService(Rtlicense_server(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytlicense_urlscC`s(d}|j|j|j|j�}|S(Ns�<?xml version="1.0" encoding="UTF-8"?>
        <SOAP-ENV:Envelope xmlns:ns3="http://www.w3.org/2001/XMLSchema"
                           xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                           xmlns:ns0="http://schemas.xmlsoap.org/soap/encoding/"
                           xmlns:ns1="https://{0}/license/services/urn:com.f5.license.v5b.ActivationService"
                           xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
                           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                           xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
                           SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          <SOAP-ENV:Header/>
          <ns2:Body>
            <ns1:getLicense>
              <dossier xsi:type="ns3:string">{1}</dossier>
              <eula xsi:type="ns3:string">{eula}</eula>
              <email xsi:type="ns3:string">{email}</email>
              <firstName xsi:type="ns3:string">{first_name}</firstName>
              <lastName xsi:type="ns3:string">{last_name}</lastName>
              <companyName xsi:type="ns3:string">{company}</companyName>
              <phone xsi:type="ns3:string">{phone}</phone>
              <jobTitle xsi:type="ns3:string">{job_title}</jobTitle>
              <address xsi:type="ns3:string">{address}</address>
              <city xsi:type="ns3:string">{city}</city>
              <stateProvince xsi:type="ns3:string">{state}</stateProvince>
              <postalCode xsi:type="ns3:string">{postal_code}</postalCode>
              <country xsi:type="ns3:string">{country}</country>
            </ns1:getLicense>
          </ns2:Body>
        </SOAP-ENV:Envelope>(RRZtdossierRY(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytlicense_envelopes(RBRCRDRYR[R](((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRM�stChangescB`seZd�ZRS(cC`sXi}y:x$|jD]}t||�||<qW|j|�}Wntk
rSnX|S(N(RJtgetattrt_filter_paramsR"(RRt
returnable((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt	to_return*s
(RBRCRb(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR^)st
UsableChangescB`seZRS((RBRC(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRc5stReportableChangescB`seZRS((RBRC(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRd9st
DifferencecB`s&eZdd�Zd�Zd�ZRS(cC`s||_||_dS(N(twantthave(RRfRg((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR>s	cC`s9yt||�}|SWntk
r4|j|�SXdS(N(R_tAttributeErrort_Difference__default(RtparamR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytcompareBs

cC`sQt|j|�}y&t|j|�}||kr7|SWntk
rL|SXdS(N(R_RfRgRh(RRjtattr1tattr2((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt	__defaultIs
N(RBRCR#RRkRi(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRe=s	t
ModuleManagercB`s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cO`sy|jdd�|_t|jj�|_td|jjd|j�|_td|j�|_	t
�|_d|_dS(Ntmoduletparamstclients([$"s'])s([$"'])(
R2R#RpR
RqRrRMRfRLRgRctchangestescape_patterns(Rtargstkwargs((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRTs!cC`sji}xBtjD]7}t|j|�dk	rt|j|�||<qqW|rftd|�|_ndS(NRq(RERJR_RfR#RcRs(Rtchangedtkey((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.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(NRq(ReRfRgRERKR7RkR#t
isinstancetupdateRcRstTruetFalse(RtdiffRKRwR+tchange((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt_update_changed_optionsds		
cC`s|j�}|rtStS(N(R�R|R}(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt
should_updatevscC`s�t}t�}|jj}|dkr6|j�}n6|dkrQ|j�}n|dkrl|j�}ntd|jj	��}|j	�}|j
|�|j
td|��|j|�|S(NtpresenttabsenttrevokedRqRw(R}R7RfR/R�R�trevokeRdRsRbR{t_announce_deprecations(RRwRR/t
reportableRs((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytexec_module|s	

cC`sK|jdg�}x2|D]*}|jjjd|dd|d�qWdS(Nt
__warningstmsgtversion(tpopRrRpt	deprecate(RRtwarningstwarning((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s


cC`s+|j�r|j�rtS|j�SdS(N(texistst
is_revokedR}tcreate(R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��scC`s9|jjrtS|j�|j�r5td��ntS(NsFailed to delete the resource.(Rpt
check_modeR|tremove_from_deviceR�R(R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytremove�s
cC`s5|j�rtS|jjitd6�|j�SdS(Ntaccept_eula(R�R}RfR{R|R�(R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��scC`s\|jjrtS|j�}|r<|jji|d6�ntd��|j�rXtSdS(NR\sDossier not generated.(	RpR�R|tread_dossier_from_deviceRfR{RR�R}(RR\((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytrevoke_from_device�scC`sd}tddd|�}dj|jjd|jjd�}|jjj|d|�}y|j�}Wn%tk
r�}tt	|���nXd	|kr�|d	dkr�d|kr�t|d��q�t|j
��nd
|krd|d
krtStS(Ns(-c "egrep Revoked /config/bigip.license"tcommandtruntutilCmdArgss!https://{0}:{1}/mgmt/tm/util/bashtservertserver_portRAtcodei�i�tmessaget
commandResulttRevoked(i�i�(
R7RRrtprovidertapitpostRAt
ValueErrorRRRR|R}(RR�RqturitresptresponseR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s&	
cC`sTtddddj|jj��}|jjdkrKd|d|d<ndj|jjd|jjd	�}|jjj|d
|�}y|j	�}Wn%t
k
r�}tt|���nXd|kr|ddkrd|kr�t|d��qt|j
��ny*|jjdkr2|ddS|dSWntk
rOdSXdS(NR�R�R�s-b "{0}"R�s-r s(https://{0}:{1}/mgmt/tm/util/get-dossierR�R�RAR�i�i�R�R�i(i�i�(R7RRftlicense_keyR/RrR�R�R�RAR�RRRR"R#(RRqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s.

cC`s\tdtdidd6dd6�}x2tdd�D]!}y%|j|jjd	|jj�}Wntk
rtq3nXy"td
|j	�}|j
�}Wn'tk
r��ntk
r�q3nX|ddkr�|jji|d
d
6�q3n|ddkr|S|ddkr%td��q3|ddkrDtd��q3t|d��q3WdS(Ntvalidate_certstheaderss""t
SOAPActionstext/xml; charset=utf-8sContent-Typeii
tdataRR/t
EULA_REQUIREDR%tLICENSE_RETURNEDtEMAIL_REQUIREDsEmail must be providedtCONTACT_INFO_REQUIREDsContact info must be providedR6(
RR}trangeR�RfR[R]R"RRRARR{(RtmgmttxR�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytgenerate_license_from_remote�s:



cC`s�|j�|jjs%td��n|jjr5tS|j�}|ra|jji|d6�ntd��|j	�|j
�|j�s�td��ntS(Ns=You must read and accept the product EULA to license the box.R\sDossier not generated.sFailed to license the device.(RyRfR�RRpR�R|R�R{tcreate_on_devicet
wait_for_mcpdR�(RR\((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�%s 


cC`sC|j�r?|j�|j�|j�r;td��ntStS(Ns-Failed to remove the license from the device.(tany_license_existsR�R�R�RR|R}(R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�<s

cC`s�dj|jjd|jjd�}|jjj|�}y|j�}Wn%tk
rr}tt|���nXd|kr�|ddkr�d|kr�t|d��q�t|j	��ny|d|j
jkr�tSWnt
k
r�nXtS(Ns5https://{0}:{1}/mgmt/tm/shared/licensing/registrationR�R�R�i�R�tregistrationKey(RRrR�R�R2RAR�RRRRfR�R|R"R}(RR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�Gs$

cC`snd}tjd�xT|dkriy#|j�r>|d7}nd}Wntk
rXnXtjd�qWdS(Niiii(ttimetsleept_is_mcpd_ready_on_deviceR"(Rtnops((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�_s



cC`sy�d}tddddj|��}dj|jjd|jjd�}|jjj|d	|�}y|j�}Wn%tk
r�}tt	|���nXd
|kr�|d
dkr�d
|kr�t|d
��q�t|j
��nd|kr�tSWntk
rnXt
S(Ns&tmsh show sys mcp-state | grep runningR�R�R�s-c "{0}"s!https://{0}:{1}/mgmt/tm/util/bashR�R�RAR�i�i�R�R�(i�i�(R7RRrR�R�R�RAR�RRRR|R"R}(RR�RqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�os,

cC`s�dj|jjd|jjd�}|jjj|�}y|j�}Wn%tk
rr}tt|���nXd|kr�|ddkr�d|kr�t|d��q�t|j	��ny|ddk	r�tSWntk
r�nXt
S(Ns5https://{0}:{1}/mgmt/tm/shared/licensing/registrationR�R�R�i�R�R�(RRrR�R�R2RAR�RRRR#R|R"R}(RR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s$

cC`s�|j�}|dkr'td��n|j|�}|sKtd��n|j|�}|sotd��n|j�}|s�td��ndS(Ns6Failed to generate license from F5 activation servers.s$Failed to install license on device.s%Failed to upload EULA file to device.s'Failed to reload license configuration.(R�R#Rtupload_license_to_devicetupload_eula_to_devicetreload_license(RR&R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s c
C`stj|jd|d�}dj|�}dj|�}tddd|�}dj|jjd	|jjd
�}|jjj|d|�}y|j	�}Wn%t
k
r�}	tt|	���nXd|kr|ddkrd|krt|d��qt|j
��ntS(Ns\\\1R&s)cat > /config/bigip.license <<EOF
{0}
EOFs-c "{0}"R�R�R�s!https://{0}:{1}/mgmt/tm/util/bashR�R�RAR�i�i�R�(i�i�(tretsubRtRR7RrR�R�R�RAR�RRRR|(
RR&tlicense_payloadtcommand_argR�RqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s&	
c
C`stj|jd|d�}dj|�}dj|�}tddd|�}dj|jjd	|jjd
�}|jjj|d|�}y|j	�}Wn%t
k
r�}	tt|	���nXd|kr|ddkrd|krt|d��qt|j
��ntS(Ns\\\1R%scat > /LICENSE.F5 <<EOF
{0}
EOFs-c "{0}"R�R�R�s!https://{0}:{1}/mgmt/tm/util/bashR�R�RAR�i�i�R�(i�i�(R�R�RtRR7RrR�R�R�RAR�RRRR|(
RR&teula_payloadR�R�RqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s&	
cC`s�djd�}tddd|�}dj|jjd|jjd�}|jjj|d	|�}y|j�}Wn%tk
r�}tt	|���nXd
|kr�|d
dkr�d
|kr�t|d
��q�t|j
��ntS(Ns-c "{0}"s/usr/bin/reloadlicR�R�R�s!https://{0}:{1}/mgmt/tm/util/bashR�R�RAR�i�i�R�(i�i�(RR7RrR�R�R�RAR�RRRR|(RR�RqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR��s"	
cC`sg|j�}|s!td��n|j�}|sBtd��n|j�}|sctd��ndS(Ns%Failed to remove license from device.s'Failed to remove EULA file from device.s1Failed to reload the empty license configuration.(tremove_license_from_deviceRtremove_eula_from_deviceR�(RR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�scC`stdddd�}dj|jjd|jjd�}|jjj|d|�}y|j�}Wn%tk
r�}tt	|���nXd	|kr�|d	dkr�d|kr�t|d��q�t|j
��nd
|krd|d
kr�tSt|d
��ntS(NR�R�R�s/config/bigip.licenses!https://{0}:{1}/mgmt/tm/util/bashR�R�RAR�i�i�R�R�sNo such file or directory(i�i�(R7RRrR�R�R�RAR�RRRR|(RRqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�s(	
cC`stdddd�}dj|jjd|jjd�}|jjj|d|�}y|j�}Wn%tk
r�}tt	|���nXd	|kr�|d	dkr�d|kr�t|d��q�t|j
��nd
|krd|d
kr�tSt|d
��ntS(NR�R�R�s/LICENSE.F5s!https://{0}:{1}/mgmt/tm/util/bashR�R�RAR�i�i�R�R�sNo such file or directory(i�i�(R7RRrR�R�R�RAR�RRRR|(RRqR�R�R�R((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�0s(	
(RBRCRRyR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyRoSs4										
			,												tArgumentSpeccB`seZd�ZRS(c
C`s�t|_tdtdt�dtdd�dtddd	d
gdd	�dtdd
dd��}i|_|jjt�|jj|�dd	ddggg|_dS(NR�tno_logRZtdefaultsactivate.f5.comR/tchoicesR�R�R�R�ttypetbooltno(R|tsupports_check_modeR7t
argument_specR{Rtrequired_if(RR�((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyROs				(RBRCR(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyR�NscC`s�t�}td|jd|jd|j�}y,td|�}|j�}|j|�Wn)tk
r�}|j	dt
|��nXdS(NR�R�R�RpR�(R�RR�R�R�RoR�t	exit_jsonRt	fail_jsonR(tspecRptmmtresultsR((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pytmaings			t__main__(,t
__future__RRRR�t
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicRtansible.module_utils.sixR	R�R�txml.etree.ElementTreeRt%library.module_utils.network.f5.bigipR
t&library.module_utils.network.f5.commonRRR
Rt(library.module_utils.network.f5.icontrolRtImportErrort%ansible.module_utils.network.f5.bigipt&ansible.module_utils.network.f5.commont(ansible.module_utils.network.f5.icontroltobjectRRERLRMR^RcRdReRoR�R�RB(((sS/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_device_license.pyt<module>sP


5
f:��	

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