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

�
�Udac@`s�ddlmZmZmZeZidd6dgd6dd6ZdZd	Zd
Z	ddl
mZddl
mZdd
l
mZy�ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZWn�ek
r�ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl mZnXdefd��YZ!de!fd��YZ"de!fd��YZ#de!fd��YZ$de$fd ��YZ%d!e$fd"��YZ&d#e'fd$��YZ(d%e'fd&��YZ)d'e)fd(��YZ*d)e'fd*��YZ+d+e'fd,��YZ,d-�Z-e.d.kr�e-�nd/S(0i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontpreviewtstatust	certifiedtsupported_bysF
---
module: bigip_message_routing_peer
short_description: Manage peers for routing generic message protocol messages
description:
  - Manage peers for routing generic message protocol messages.
version_added: 2.9
options:
  name:
    description:
      - Specifies the name of the peer to manage.
    type: str
    required: True
  description:
    description:
      - The user defined description of the peer.
    type: str
  type:
    description:
      - Parameter used to specify the type of the peer to manage.
      - Default setting is C(generic) with more options added in future.
    type: str
    choices:
      - generic
    default: generic
  auto_init:
    description:
      - If C(yes), the BIGIP will automatically create outbound connections to the active pool members in the
        specified C(pool) using the configuration of the specified C(transport_config).
      - For auto-initialization to attempt to create a connection, the peer must be included in a route that is attached
        to a router instance. For each router instance that the peer is contained in, a connection will be initiated.
      - The C(auto_init) logic will verify at C(auto_init_interval) if the a connection exists between
        the BIG-IP and the pool members of the pool. If a connection does not exist, it will attempt to reestablish one.
    type: bool
  auto_init_interval:
    description:
      - Specifies the interval that attempts to initiate a connection occur.
      - The default value upon peer object creation, that supplied by the system is C(5000) milliseconds.
      - The accepted range is between 0 and 4294967295 inclusive.
    type: int
  connection_mode:
    description:
      - Specifies how the number of connections per host are to be limited.
    type: str
    choices:
      - per-blade
      - per-client
      - per-peer
      - per-tmm
  number_of_connections:
    description:
      - Specifies the distribution of connections between the BIG-IP and a remote host.
      - The accepted range is between 0 and 65535 inclusive.
    type: int
  pool:
    description:
      - Specifies the name of the pool that messages will be routed towards.
      - The specified pool must be on the same partition as the peer.
    type: str
  ratio:
    description:
      - Specifies the ratio to be used for selection of a peer within a list of peers in a ltm route.
      - The accepted range is between 0 and 4294967295 inclusive.
    type: int
  transport_config:
    description:
      - The name of the ltm virtual or ltm transport-config to use for creating an outgoing connection.
      - The resource must exist on the same partition as the peer object.
    type: str
  partition:
    description:
      - Device partition to create peer object on.
    type: str
    default: Common
  state:
    description:
      - When C(present), ensures that the peer exists.
      - When C(absent), ensures the peer is removed.
    type: str
    choices:
      - present
      - absent
    default: present
notes:
  - Requires BIG-IP >= 14.0.0
extends_documentation_fragment: f5
author:
  - Wojciech Wypior (@wojtek0806)
s

- name: Create a simple peer
  bigip_message_routing_peer:
    name: foobar
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Create message routing peer with additional settings
  bigip_message_routing_peer:
    name: foobar
    connection_mode: per-blade
    pool: /baz/bar
    partition: baz
    transport_config: foovirtual
    ratio: 10
    auto_init: yes
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Modify message routing peer settings
  bigip_message_routing_peer:
    name: foobar
    partition: baz
    ratio: 20
    auto_init_interval: 2000
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost

- name: Remove message routing peer
  bigip_message_routing_peer:
    name: foobar
    partition: baz
    state: absent
    provider:
      password: secret
      server: lb.mydomain.com
      user: admin
  delegate_to: localhost
s�
auto_init:
  description: Enables creation of outbound connections to the active pool members.
  returned: changed
  type: bool
  sample: yes
auto_init_interval:
  description: The interval that attempts to initiate a connection occur.
  returned: changed
  type: int
  sample: 2000
connection_mode:
  description: Specifies how the number of connections per host are to be limited.
  returned: changed
  type: str
  sample: per-peer
number_of_connections:
  description: The distribution of connections between the BIG-IP and a remote host.
  returned: changed
  type: int
  sample: 2000
transport_config:
  description: The ltm virtual or ltm transport-config to use for creating an outgoing connection.
  returned: changed
  type: str
  sample: /Common/foobar
description:
  description: The user defined description of the peer.
  returned: changed
  type: str
  sample: Some description
pool:
  description: The name of the pool that messages will be routed towards.
  returned: changed
  type: str
  sample: /Bazbar/foobar
ratio:
  description: The ratio to be used for selection of a peer within a list of peers in a ltm route.
  returned: changed
  type: int
  sample: 500
(t
AnsibleModule(tenv_fallback(tLooseVersion(tF5RestClient(t
F5ModuleError(tAnsibleF5Parameters(tfq_name(tflatten_boolean(ttransform_name(tf5_argument_spec(tcmp_str_with_none(ttmos_versiont
ParameterscB`s�eZidd6dd6dd6dd6dd	6Zdddd
dddd	gZdddddd
ddgZdddddd
ddgZRS(
t	auto_inittautoInitializationtauto_init_intervaltautoInitializationIntervaltconnection_modetconnectionModetnumber_of_connectionstnumberConnectionsttransport_configttransportConfigtdescriptiontpooltratio(t__name__t
__module__tapi_maptapi_attributestreturnablest
updatables(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR�s<
		t
ApiParameterscB`seZRS((R"R#(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR(
stModuleParameterscB`sbeZed��Zed��Zed��Zed��Zed��Zed��ZRS(cC`s7t|jd�}|dkr#dS|dkr3dSdS(NRtyestenabledtdisabled(Rt_valuestNone(tselftresult((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRscC`sU|jddkrdSd|jdko5dknrE|jdStd��dS(NRiI����sHValid 'auto_init_interval' must be in range 0 - 4294967295 milliseconds.(R-R.R(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRs#cC`sU|jddkrdSd|jdko5dknrE|jdStd��dS(NRii��s9Valid 'number_of_connections' must be in range 0 - 65535.(R-R.R(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR"s#cC`sU|jddkrdSd|jdko5dknrE|jdStd��dS(NR!iI����s.Valid 'ratio' must be in range 0 - 4294967295.(R-R.R(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR!,s#cC`sK|jddkrdS|jddkr.dSt|j|jd�}|S(NR t(R-R.Rt	partition(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR 6scC`sK|jddkrdS|jddkr.dSt|j|jd�}|S(NRR1(R-R.RR2(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR?s(	R"R#tpropertyRRRR!R R(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR)s	


	tChangescB`seZd�ZRS(cC`sXi}y:x$|jD]}t||�||<qW|j|�}Wntk
rSnX|S(N(R&tgetattrt_filter_paramst	Exception(R/R0t
returnable((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt	to_returnJs
(R"R#R9(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR4Ist
UsableChangescB`seZRS((R"R#(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR:UstReportableChangescB`seZed��ZRS(cC`st|jd�}|S(NR(RR-(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRZs(R"R#R3R(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR;Yst
DifferencecB`sSeZdd�Zd�Zd�Zed��Zed��Zed��Z	RS(cC`s||_||_dS(N(twantthave(R/R=R>((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt__init__as	cC`s9yt||�}|SWntk
r4|j|�SXdS(N(R5tAttributeErrort_Difference__default(R/tparamR0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pytcomparees

cC`sQt|j|�}y&t|j|�}||kr7|SWntk
rL|SXdS(N(R5R=R>R@(R/RBtattr1tattr2((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt	__defaultls
cC`st|jj|jj�}|S(N(RR=RR>(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRuscC`st|jj|jj�}|S(N(RR=RR>(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRzscC`st|jj|jj�}|S(N(RR=R R>(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR sN(
R"R#R.R?RCRAR3RRR (((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR<`s			tBaseManagercB`skeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZRS(cO`s^|jdd�|_t|jj�|_td|jj�|_t�|_	t
�|_dS(Ntmoduletparams(tgetR.RHRRItclientR)R=R(R>R:tchanges(R/targstkwargs((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR?�s
cC`sji}xBtjD]7}t|j|�dk	rt|j|�||<qqW|rftd|�|_ndS(NRI(RR&R5R=R.R:RL(R/tchangedtkey((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.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(NRI(R<R=R>RR'tdictRCR.t
isinstancetupdateR:RLtTruetFalse(R/tdiffR'ROtktchange((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt_update_changed_options�s		
cC`sK|jdg�}x2|D]*}|jjjd|dd|d�qWdS(Nt
__warningstmsgtversion(tpopRKRHt	deprecate(R/R0twarningstwarning((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt_announce_deprecations�s


cC`s�t}t�}|jj}|dkr6|j�}n|dkrQ|j�}ntd|jj��}|j�}|j	|�|j	td|��|j
|�|S(NtpresenttabsentRIRO(RVRRR=tstateRcRdR;RLR9RTRb(R/ROR0Ret
reportableRL((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pytexec_module�s	

cC`s$|j�r|j�S|j�SdS(N(texistsRTtcreate(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRc�s
cC`s|j�r|j�StS(N(RhtremoveRV(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRd�s
cC`s|j�}|rtStS(N(RZRURV(R/R0((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt
should_update�scC`s=|j�|_|j�stS|jjr/tS|j�tS(N(tread_current_from_deviceR>RkRVRHt
check_modeRUtupdate_on_device(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRT�s
cC`s9|jjrtS|j�|j�r5td��ntS(NsFailed to delete the resource.(RHRmRUtremove_from_deviceRhR(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRj�s
cC`s(|j�|jjrtS|j�tS(N(RQRHRmRUtcreate_on_device(R/((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRi�s


(
R"R#R?RQRZRbRgRcRdRkRTRjRi(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRG�s											tGenericModuleManagercB`s5eZd�Zd�Zd�Zd�Zd�ZRS(cC`s�dj|jjd|jjdt|jj|jj��}|jjj|�}y|j	�}Wnt
k
rwtSX|jdks�d|kr�|ddkr�tSt
S(Ns<https://{0}:{1}/mgmt/tm/ltm/message-routing/generic/peer/{2}tservertserver_porti�tcode(tformatRKtproviderRR=R2tnametapiRJtjsont
ValueErrorRVRRU(R/turitresptresponse((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRh�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��ntS(NRwR2s9https://{0}:{1}/mgmt/tm/ltm/message-routing/generic/peer/RrRsRyRti�i�tmessage(i�i�(RLt
api_paramsR=RwR2RuRKRvRxtpostRyRzRtstrtcontentRU(R/RIR{R|R}tex((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRp�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(Ns<https://{0}:{1}/mgmt/tm/ltm/message-routing/generic/peer/{2}RrRsRyRti�R~(RLRRuRKRvRR=R2RwRxtpatchRyRzRR�R�(R/RIR{R|R}R�((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRns

cC`sydj|jjd|jjdt|jj|jj��}|jjj|�}|j	dkrft
St|j��dS(Ns<https://{0}:{1}/mgmt/tm/ltm/message-routing/generic/peer/{2}RrRsi�(
RuRKRvRR=R2RwRxtdeleteRRURR�(R/R{R}((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRo"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(Ns<https://{0}:{1}/mgmt/tm/ltm/message-routing/generic/peer/{2}RrRsRti�R~RI(RuRKRvRR=R2RwRxRJRyRzRR�R�R((R/R{R|R}R�((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRl-s

(R"R#RhRpRnRoRl(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRq�s
				t
ModuleManagercB`s,eZd�Zd�Zd�Zd�ZRS(cO`s7|jdd�|_t|jj�|_||_dS(NRH(RJR.RHRRIRKRN(R/RMRN((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR?BscC`s/t|j�}t|�td�kr+tStS(Ns14.0.0(RRKR
RURV(R/R]((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pytversion_less_than_14GscC`sY|j�rtd��n|jjddkrC|jd�}ntd��|j�S(Ns;Message routing is not supported on TMOS version below 14.xttypetgenericsUnknown type specified.(R�RRHRItget_managerRg(R/tmanager((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyRgMs	cC`s|dkrt|j�SdS(NR�(RqRN(R/R�((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR�Xs(R"R#R?R�RgR�(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR�As			tArgumentSpeccB`seZd�ZRS(cC`s)t|_tdtdt�dtdd�dtdd�dtd	d
ddd
g�dt�dtdd�dt�dtdd�dt�dtd	dgdd�dtdddtdgf�dtddd	ddg��}dtdggg|_i|_|jjt�|jj|�dS(NRwtrequiredRR�tboolRtintRtchoicess	per-blades
per-clientsper-peersper-tmmRRR R!RR�tdefaultR2tCommontfallbacktF5_PARTITIONReRcRd(RUtsupports_check_modeRRR	trequired_ift
argument_specRTR(R/R�((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR?^s2							(R"R#R?(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyR�]scC`s�t�}td|jd|jd|j�}y,td|�}|j�}|j|�Wn)tk
r�}|j	dt
|��nXdS(NR�R�R�RHR\(R�RR�R�R�R�Rgt	exit_jsonRt	fail_jsonR�(tspecRHtmmtresultsR�((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pytmain�s			t__main__N(/t
__future__RRRR�t
__metaclass__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtansible.module_utils.basicRR	tdistutils.versionR
t%library.module_utils.network.f5.bigipRt&library.module_utils.network.f5.commonRR
RRRRt'library.module_utils.network.f5.compareRt(library.module_utils.network.f5.icontrolRtImportErrort%ansible.module_utils.network.f5.bigipt&ansible.module_utils.network.f5.commont'ansible.module_utils.network.f5.comparet(ansible.module_utils.network.f5.icontrolRR(R)R4R:R;tobjectR<RGRqR�R�R�R"(((sY/usr/lib/python2.7/site-packages/ansible/modules/network/f5/bigip_message_routing_peer.pyt<module>sX


Z1+
+;%eW$	

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