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

�
�Udac@`smddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
mZddl
mZdd
l
mZy�ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZWn�ek
r�ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZnXdefd��YZdefd��YZdefd��YZ defd��YZ!de!fd��YZ"d e!fd!��YZ#d"e$fd#��YZ%d$e$fd%��YZ&d&�Z'e(d'krie'�nd(S()i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bysu
---
module: bigip_asm_policy_server_technology
short_description: Manages Server Technology on ASM policy
description:
  - Manages Server Technology on ASM policy.
version_added: 2.8
options:
  name:
    description:
      - Specifies the name of the server technology to apply on or remove from the ASM policy.
    type: str
    required: True
    choices:
      - jQuery
      - Java Servlets/JSP
      - ASP
      - WebDAV
      - IIS
      - Front Page Server Extensions (FPSE)
      - ASP.NET
      - Microsoft Windows
      - Unix/Linux
      - Macromedia ColdFusion
      - WordPress
      - Apache Tomcat
      - Apache/NCSA HTTP Server
      - Outlook Web Access
      - PHP
      - Microsoft SQL Server
      - Oracle
      - MySQL
      - Lotus Domino
      - BEA Systems WebLogic Server
      - Macromedia JRun
      - Novell
      - Cisco
      - SSI (Server Side Includes)
      - Proxy Servers
      - CGI
      - Sybase/ASE
      - IBM DB2
      - PostgreSQL
      - XML
      - Apache Struts
      - Elasticsearch
      - JBoss
      - Citrix
      - Node.js
      - Django
      - MongoDB
      - Ruby
      - JavaServer Faces (JSF)
      - Joomla
      - Jetty
  policy_name:
    description:
      - Specifies the name of an existing ASM policy to add or remove server technology.
    type: str
    required: True
  state:
    description:
      - When C(present), ensures that the resource exists.
      - When C(absent), ensures the resource is removed.
    type: str
    default: present
    choices:
      - present
      - absent
  partition:
    description:
      - This parameter is only used when identifying ASM policy.
    type: str
    default: Common
notes:
  - This module is primarily used as a component of configuring ASM policy in Ansible Galaxy ASM Policy Role.
  - Requires BIG-IP >= 13.0.0
extends_documentation_fragment: f5
author:
  - Wojciech Wypior (@wojtek0806)
s�
- name: Add Server Technology to ASM Policy
  bigip_asm_policy_server_technology:
    name: Joomla
    policy_name: FooPolicy
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
- name: Remove Server Technology from ASM Policy
  bigip_asm_policy_server_technology:
    name: Joomla
    policy_name: FooPolicy
    state: absent
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
s�
policy_name:
  description: The name of the ASM policy
  returned: changed
  type: str
  sample: FooPolicy
name:
  description: The name of Server Technology added/removed on ASM policy
  returned: changed
  type: str
  sample: Joomla
(t
AnsibleModule(tenv_fallback(tLooseVersion(tF5RestClient(t
F5ModuleError(tAnsibleF5Parameters(tfq_name(ttransform_name(tf5_argument_spec(ttmos_version(tmodule_provisionedt
ParameterscB`s&eZiZgZddgZgZRS(tpolicy_nametname(t__name__t
__module__tapi_maptapi_attributestreturnablest
updatables(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR�s
	t
ApiParameterscB`seZRS((RR(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR�stModuleParameterscB`seZRS((RR(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR�stChangescB`seZd�ZRS(cC`sXi}y:x$|jD]}t||�||<qW|j|�}Wntk
rSnX|S(N(Rtgetattrt_filter_paramst	Exception(tselftresultt
returnable((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyt	to_return�s
(RRR%(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR�st
UsableChangescB`seZRS((RR(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR&�stReportableChangescB`seZRS((RR(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR'�st
ModuleManagercB`s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZRS(cO`s^|jdd�|_t|jj�|_td|jj�|_t�|_	t
�|_dS(Ntmoduletparams(tgettNoneR)RR*tclientRtwantRthaveR&tchanges(R"targstkwargs((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyt__init__�s
cC`sK|jdg�}x2|D]*}|jjjd|dd|d�qWdS(Nt
__warningstmsgtversion(tpopR-R)t	deprecate(R"R#twarningstwarning((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyt_announce_deprecations�s


cC`sji}xBtjD]7}t|j|�dk	rt|j|�||<qqW|rftd|�|_ndS(NR*(RRRR.R,RR0(R"tchangedtkey((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyt_set_changed_options�scC`s�t|jd�s!td��n|j�r<td��nt}t�}|jj}|dkrr|j�}n|dkr�|j	�}nt
d|jj��}|j�}|j
|�|j
td|��|j|�|S(Ntasms+ASM must be provisioned to use this module.s1This module requires TMOS version 13.x and above.tpresenttabsentR*R<(RR-Rtversion_is_less_than_13tFalsetdictR.tstateR@RAR'R0R%tupdateR;(R"R<R#REt
reportableR0((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pytexec_module�s&	

cC`s3t|j�}t|�td�kr+tStSdS(Ns13.0.0(RR-R
tTrueRC(R"R6((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRB�scC`s|j�rtS|j�SdS(N(texistsRCtcreate(R"((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR@scC`s|j�r|j�StS(N(RJtremoveRC(R"((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRAs
cC`s9|jjrtS|j�|j�r5td��ntS(NsFailed to delete the resource.(R)t
check_modeRItremove_from_deviceRJR(R"((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRLs
cC`s(|j�|jjrtS|j�tS(N(R>R)RMRItcreate_on_device(R"((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRKs


cC`s�|j�}|j�}dj|jjd|jjd|�}|jjj|�}y|j�}Wn%tk
r�}t	t
|���nXd|kr�|dgkr�x=|dD].}|dd|kr�|d|j_t
Sq�WntS(Ns=https://{0}:{1}/mgmt/tm/asm/policies/{2}/server-technologies/tservertserver_porttitemstserverTechnologyReferencetlinktid(t_get_policy_idt_get_server_tech_linktformatR-tprovidertapiR+tjsont
ValueErrorRtstrR.ttech_idRIRC(R"t	policy_idtserver_linkturitresptresponsetextst((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRJs"

	cC`s�d}dj|jjd|jjd�}dj|jj|jj�}|jjj||�}y|j	�}Wn%t
k
r�}tt|���nXd|kr�|dgkr�|ddd}n|s�tdj|jj���n|S(	Ns%https://{0}:{1}/mgmt/tm/asm/policies/RPRQsK?$filter=contains(name,'{0}')+and+contains(partition,'{1}')&$select=name,idRRiRUs+The policy with the name {0} does not exist(
R,RXR-RYR.Rt	partitionRZR+R[R\RR](R"R_RatqueryRbRcRd((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRV4s"
cC`sd}dj|jjd|jjd�}dj|jj�}|jjj||�}y|j�}Wn%t	k
r�}t
t|���nXd|kr�|dd
kr�d	|kr�t
|d	��q�t
|j��nd
|kr|d
dd}|S|S(Ns0https://{0}:{1}/mgmt/tm/asm/server-technologies/RPRQs-?$filter=contains(serverTechnologyName,'{0}')tcodei�i�i�tmessageRRitselfLink(i�i�i�(
R,RXR-RYR.RRZR+R[R\RR]tcontent(R"RTRaRgRbRcRd((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRWMs$
cC`s�|j�}dj|jjd|jjd|�}tdi|j�d6�}|jjj|d|�}y|j�}Wn%t	k
r�}t
t|���nXd|kr�|ddkr�d
|kr�t
|d
��q�t
|j��nt
S(Ns=https://{0}:{1}/mgmt/tm/asm/policies/{2}/server-technologies/RPRQRSRTR[Rhi�i�Ri(i�i�(RVRXR-RYRDRWRZtpostR[R\RR]RkRI(R"R_RaR*RbRcRd((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyROes 

	cC`s|j�}|jj}dj|jjd|jjd||�}|jjj|�}|jdkrlt	St
|j��dS(Ns@https://{0}:{1}/mgmt/tm/asm/policies/{2}/server-technologies/{3}RPRQi�i�(i�i�(RVR.R^RXR-RYRZtdeleteRRIRRk(R"R_R^RaRc((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRN}s

	(RRR3R;R>RHRBR@RARLRKRJRVRWRORN(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR(�s													tArgumentSpeccB`seZd�ZRS(c)C`s#t|_ddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)g)|_td*td+t�d,td-|jd+t�d.td/d0d-d0d1g�d2td/d3d4td5gf��}i|_|jjt�|jj|�dS(6NtjQuerysJava Servlets/JSPtASPtWebDAVtIISs#Front Page Server Extensions (FPSE)sASP.NETsMicrosoft Windowss
Unix/LinuxsMacromedia ColdFusiont	WordPresss
Apache TomcatsApache/NCSA HTTP ServersOutlook Web AccesstPHPsMicrosoft SQL ServertOracletMySQLsLotus DominosBEA Systems WebLogic ServersMacromedia JRuntNovelltCiscosSSI (Server Side Includes)s
Proxy ServerstCGIs
Sybase/ASEsIBM DB2t
PostgreSQLtXMLs
Apache Strutst
ElasticsearchtJBosstCitrixsNode.jstDjangotMongoDBtRubysJavaServer Faces (JSF)tJoomlatJettyRtrequiredRtchoicesREtdefaultR@RARftCommontfallbacktF5_PARTITION(RItsupports_check_modettechRDR	t
argument_specRFR(R"R�((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyR3�sr					(RRR3(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyRn�scC`s�t�}td|jd|j�}y,td|�}|j�}|j|�Wn)tk
r{}|jdt	|��nXdS(NR�R�R)R5(
RnRR�R�R(RHt	exit_jsonRt	fail_jsonR](tspecR)tmmtresultsRd((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pytmain�s		t__main__N()t
__future__RRRttypet
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicRR	tdistutils.versionR
t%library.module_utils.network.f5.bigipRt&library.module_utils.network.f5.commonRR
RRRt(library.module_utils.network.f5.icontrolRRtImportErrort%ansible.module_utils.network.f5.bigipt&ansible.module_utils.network.f5.commont(ansible.module_utils.network.f5.icontrolRRRRR&R'tobjectR(RnR�R(((sa/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_asm_policy_server_technology.pyt<module>sN


R

�E	

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