�
�Udac @ s� i d d 6d g d 6d d 6Z d Z d Z d Z d d
l Z d d l m Z m Z d d l m Z m Z d d
l
m Z d d l m
Z
d � Z d � Z d � Z d � Z d � Z d � Z e d k r� e � n d
S( s 1.1t metadata_versiont previewt statust networkt supported_bys�
---
module: nxos_pim_rp_address
extends_documentation_fragment: nxos
version_added: "2.2"
short_description: Manages configuration of an PIM static RP address instance.
description:
- Manages configuration of an Protocol Independent Multicast (PIM) static
rendezvous point (RP) address instance.
author: Gabriele Gerbino (@GGabriele)
notes:
- Tested against NXOSv 7.3.(0)D1(1) on VIRL
- C(state=absent) is currently not supported on all platforms.
options:
rp_address:
description:
- Configures a Protocol Independent Multicast (PIM) static
rendezvous point (RP) address. Valid values are
unicast addresses.
required: true
group_list:
description:
- Group range for static RP. Valid values are multicast addresses.
prefix_list:
description:
- Prefix list policy for static RP. Valid values are prefix-list
policy names.
route_map:
description:
- Route map policy for static RP. Valid values are route-map
policy names.
bidir:
description:
- Group range is treated in PIM bidirectional mode.
type: bool
state:
description:
- Specify desired state of the resource.
required: true
default: present
choices: ['present','absent','default']
sG
- nxos_pim_rp_address:
rp_address: "10.1.1.20"
state: present
s�
commands:
description: commands sent to the device
returned: always
type: list
sample: ["router bgp 65535", "vrf test", "router-id 192.0.2.1"]
i����N( t
get_configt load_config( t nxos_argument_spect
check_args( t
AnsibleModule( t CustomNetworkConfigc
C sX i } t t | � � } | j d } d } x&t j | | t j � D]} | j � } | d | k rl qD n | r� d | k r� qD n( | r� d | k r� d | k r� qD q� n | j d � p� d | k | d <t | � d k rD | d } | d d k r| | d
<qP| d d k r!| | d <qP| d d k rP| d k rM| | d
<qMqPqD qD W| S( Nt
rp_addresss ip pim rp-address (?P<value>.*)$i s
group-lists 224.0.0.0/4t bidiri i s route-mapt route_maps prefix-listt prefix_listt
group_list( t strR t paramst ret findallt Mt splitt gett len(
t modulet argst glt existingt configt addresst pim_address_ret linet valuest value( ( sT /usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_pim_rp_address.pyt get_existingY s0
c C s� | j d } d j | � } | j d rQ | j d � rQ | d | j d 7} n | j d r� | j d � s� | d | j d 7} q� n | j d r� | j d � s� | d | j d 7} q� n t | | � } | r� | j | d g �n d S(
NR s ip pim rp-address {0}R s group-list R s
prefix-list R
s route-map t parents( R t formatR t
build_commandt add( R R t proposedt candidateR t commandt commands( ( sT /usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_pim_rp_address.pyt
state_presentx s
c C sz xT d d d g D]C } | j | � r | d j | j d d � | j | � � 7} q q W| j d � rs | d 7} n | g S( NR R R
s {0} {1}t _t -R s bidir( R R$ t replace( t
param_dictR) t param( ( sT /usr/lib/python2.7/site-packages/ansible/modules/network/nxos/nxos_pim_rp_address.pyR% � s )
c C s� | j d } g } d j | � } | j d | j d � k rP t | | � } n | j d si | g } n | r� | j | d g �n d S( NR s no ip pim rp-address {0}R R# ( R R$ R R% R&