�
�Udac @` s� d d l m Z m Z m Z e Z i d d 6d g d 6d d 6Z d Z d Z d
Z d d l
m Z d d l m
Z
m Z d d
l m Z d � Z d � Z e d k r� e � n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bys
---
module: pn_access_list
author: "Pluribus Networks (@amitsi)"
version_added: "2.8"
short_description: CLI command to create/delete access-list
description:
- This module can be used to create and delete an access list.
options:
pn_cliswitch:
description:
- Target switch to run the CLI on.
required: False
type: str
state:
description:
- State the action to perform. Use 'present' to create access-list and
'absent' to delete access-list.
required: True
choices: [ "present", "absent"]
pn_name:
description:
- Access List Name.
required: false
type: str
pn_scope:
description:
- 'scope. Available valid values - local or fabric.'
required: false
choices: ['local', 'fabric']
s�
- name: access list functionality
pn_access_list:
pn_cliswitch: "sw01"
pn_name: "foo"
pn_scope: "local"
state: "present"
- name: access list functionality
pn_access_list:
pn_cliswitch: "sw01"
pn_name: "foo"
pn_scope: "local"
state: "absent"
- name: access list functionality
pn_access_list:
pn_cliswitch: "sw01"
pn_name: "foo"
pn_scope: "fabric"
state: "present"
s�
command:
description: the CLI command run on the target node.
returned: always
type: str
stdout:
description: set of responses from the access-list command.
returned: always
type: list
stderr:
description: set of error responses from the access-list command.
returned: on error
type: list
changed:
description: indicates whether the CLI caused changes on the target.
returned: always
type: bool
( t
AnsibleModule( t pn_clit run_cli( t run_commandsc C` sS | j d } | d 7} t | | � d } | r? | j � } n | | k rO t St S( s�
This method checks for idempotency using the access-list-show command.
If a list with given name exists, return True else False.
:param module: The Ansible module to fetch input parameters
:param cli: The CLI string
t pn_names- access-list-show format name no-show-headersi ( t paramsR t splitt Truet False( t modulet clit list_namet out( ( sS /usr/lib/python2.7/site-packages/ansible/modules/network/netvisor/pn_access_list.pyt check_cli] s
c C` s� t d d d d � } t d t d t d t d d � d
t d t d d d | j � � d t d t d d � d
t d t d d d d d g � � d d
d d d
g g d
d d g g f � } | j d } | j d
} | j d } | j d
} | | } t | | � } t | | � } | d | | f 7} | d k rb| t k r�| j d t d d | � q�nF | d k r�| t k r�| j d t d d | � q�n | d | 7} t | | | � d S( s'