Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/modules/network/avi/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pyc

�
�Udac@sdZidd6dgd6dd6ZdZdZd	Zd
dlZd
dlZd
dlmZd
d
l	m
Z
yHd
dlmZm
Z
mZmZmZmZd
dlmZmZWnek
r�eZnXd�Zd�Zd�Zedkre�ndS(s&
# Created on Aug 12, 2016
#
# @author: Gaurav Rastogi ([email protected]) GitHub ID: grastogi23
#
# module_check: supported
#
# Copyright: (c) 2016 Gaurav Rastogi, <[email protected]>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
s1.1tmetadata_versiontpreviewtstatust	communitytsupported_bys�
---
module: avi_gslbservice_patch_member
author: Gaurav Rastogi (@grastogi23) <[email protected]>

short_description: Avi API Module
description:
    - This module can be used for calling any resources defined in Avi REST API. U(https://avinetworks.com/)
    - This module is useful for invoking HTTP Patch methods and accessing resources that do not have an REST object associated with them.
version_added: 2.5
requirements: [ avisdk ]
options:
    data:
        description:
            - HTTP body of GSLB Service Member in YAML or JSON format.
    params:
        description:
            - Query parameters passed to the HTTP API.
    name:
        description:
            - Name of the GSLB Service
        required: true
    state:
        description:
            - The state that should be applied to the member. Member is
            - identified using field member.ip.addr.
        default: present
        choices: ["absent","present"]
extends_documentation_fragment:
    - avi
s�
  - name: Patch GSLB Service to add a new member and group
    avi_gslbservice_patch_member:
      controller: "{{ controller }}"
      username: "{{ username }}"
      password: "{{ password }}"
      name: gs-3
      api_version: 17.2.1
      data:
        group:
          name: newfoo
          priority: 60
          members:
            - enabled: true
              ip:
                addr:  10.30.10.66
                type: V4
              ratio: 3
  - name: Patch GSLB Service to delete an existing member
    avi_gslbservice_patch_member:
      controller: "{{ controller }}"
      username: "{{ username }}"
      password: "{{ password }}"
      name: gs-3
      state: absent
      api_version: 17.2.1
      data:
        group:
          name: newfoo
          members:
            - enabled: true
              ip:
                addr:  10.30.10.68
                type: V4
              ratio: 3
  - name: Update priority of GSLB Service Pool
    avi_gslbservice_patch_member:
      controller: ""
      username: ""
      password: ""
      name: gs-3
      state: present
      api_version: 17.2.1
      data:
        group:
          name: newfoo
          priority: 42
sW
obj:
    description: Avi REST resource
    returned: success, changed
    type: dict
i����N(t
AnsibleModule(tdeepcopy(tavi_common_argument_spectavi_obj_cmptcleanup_absent_fieldstansible_returntAviCheckModeResponsetHAS_AVI(t
ApiSessiontAviCredentialscs�|jdi�jdg�}tg|D] }	d|	kr(|	dd^q(��tg|D]}	d|	kr[|	d^q[��t}
d}|r��s��r�g|jdg�D]$}|d|ddkr�|^q�}
|
r�tg|
djdg�D]'}	d|	kr��fd	�|	�^q��}
|
pxtg|
djdg�D]'}	d|	krK�fd
�|	�^qK�}
q�n|s�|
r�|
|fS|
d}g}x||jdg�D]h}	d|	kr�|	d�kr#|j|	�q#q�d|	kr�|	dd�kr#|j|	�q#q�q�W||d<|dsg|jdg�D]$}|d|ddkrN|^qN|d<n|jd|dd
|d|d|d|�}|
|fS(Ntgrouptmemberstfqdntiptaddrtgroupstnameics|dd�kS(NRR((tg(tpatched_member_ids(s\/usr/lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pyt<lambda>�scs|d�kS(NR((R(tpatched_member_fqdns(s\/usr/lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pyR�ssgslbservice/%stuuidtdatattenantttenant_uuidtapi_version(tgettsettFalsetNonetanytappendtput(tmodulet
check_modetapiRRtexisting_objRRRtmtchangedtrspRRtnew_memberstgrp((RRs\/usr/lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pyt
delete_member{sB3/$D	J




+c	Cstd}	|sot}
|r*tdd�}	qji|d6|dgd6}|jdd|d|d|d	|�}	n�t|�}d|kr�g|d<ng|dD]$}|d|ddkr�|^q�}
|
s�|dj|d�n|
d
}t|d�}|jdd�|j|�d|kr7g|d<ng}x�|djdg�D]�}t	}xj|dD]^}d|kr�|jdd
�|dkr�t}Pqk|dd|ddkrkt}PqkqkW|s�|j|�qT|j|�qTW|dj
|�t|�t||�}
|
rj|rjdd|df}|j
|d|d|d|d	|�}	n|
|	fS(NtobjRRRtgslbserviceRRRRiRRtRRs%s/%sR(R"tTrueRtpostRR$tpoptupdateRR!textendR	RR%(R&R'R(RRR)RRRR,R+treqRRtgroup_info_wo_membersR-tpatch_membertfoundR*tobj_path((s\/usr/lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pyt
add_member�sV

$


(

cCsjtdtdd�dtdd�dtdddt�dtd	d
ddd
g��}|jt��td
|�}ts�|jdd�St�}|j|�t	j
|j|jd|j
d|jd|jd|jd|jd|j�}|j}|j}|jjdd�}|jjdd�}|r>t|�ni}|jidd6dd6�|jjdd�}	|jd}
|j}d}|j||	d|d|didd6dd6d|�}
|j}|
dkrt||||||
||�\}}n*t||||||
||	|�	\}}|s>|rT|jd|d|
�St|||d|�S(NtparamsttypetdictRRtstrtrequiredtstatetdefaulttpresenttchoicestabsentt
argument_spectmsgs~Avi python API SDK (avisdk>=17.1) or ansible>=2.8 is not installed. For more details visit https://github.com/avinetworks/sdk.tpasswordttimeoutRRttokentportR2tinclude_refstinclude_nameR1RR+R0R8(R@R3R6RRRt	fail_jsonRtupdate_from_ansible_moduleR
tget_sessiont
controllertusernameRJRKRRRLRMR>RR"RRtget_object_by_nameR'R/R=t	exit_jsonR
(targument_specsR&t	api_credsR(RRR>RtgparamsRRCRtobj_typeR)R'R+R,((s\/usr/lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pytmain�sP		
		
		
t__main__(t__doc__tANSIBLE_METADATAt
DOCUMENTATIONtEXAMPLEStRETURNtjsonttimetansible.module_utils.basicRtcopyRt$ansible.module_utils.network.avi.aviRRR	R
RRt(ansible.module_utils.network.avi.avi_apiR
RtImportErrorR!R/R=R[t__name__(((s\/usr/lib/python2.7/site-packages/ansible/modules/network/avi/avi_gslbservice_patch_member.pyt<module>s(


!1.

	.	<	@

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