New in version 2.2.
Manages access list entries for ACLs.
parameter | required | default | choices | comments |
---|---|---|---|---|
ack | no |
| Match on the ACK bit. |
|
action | no |
| Action of the ACE. |
|
dest | no | Destination ip and mask using IP/MASK notation and supports the keyword 'any'. |
||
dest_port1 | no | Port/protocol and also first (lower) port when using range operand. |
||
dest_port2 | no | Second (end) port when using range operand. |
||
dest_port_op | no |
| Destination port operands such as eq, neq, gt, lt, range. |
|
dscp | no |
| Match packets with given dscp value. |
|
established | no |
| Match established connections. |
|
fin | no |
| Match on the FIN bit. |
|
fragments | no |
| Check non-initial fragments. |
|
host | yes | Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport. |
||
log | no |
| Log matches against this entry. |
|
name | yes | Case sensitive name of the access list (ACL). |
||
password | no | Specifies the password to use to authenticate the connection to the remote device. This is a common argument used for either cli or nxapi transports. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_PASSWORD will be used instead. |
||
port | no | 0 (use common port) | Specifies the port to use when building the connection to the remote device. This value applies to either cli or nxapi. The port value will default to the appropriate transport common port if none is provided in the task. (cli=22, http=80, https=443). |
|
precedence | no |
| Match packets with given precedence. |
|
proto | no | Port number or protocol (as supported by the switch). |
||
provider | no | Convenience method that allows all nxos arguments to be passed as a dict object. All constraints (required, choices, etc) must be met either by individual arguments or values in this dict. |
||
psh | no |
| Match on the PSH bit. |
|
remark | no | If action is set to remark, this is the description. |
||
rst | no |
| Match on the RST bit. |
|
seq | no | Sequence number of the entry (ACE). |
||
src | no | Source ip and mask using IP/MASK notation and supports keyword 'any'. |
||
src_port1 | no | Port/protocol and also first (lower) port when using range operand. |
||
src_port2 | no | Second (end) port when using range operand. |
||
src_port_op | no |
| Source port operands such as eq, neq, gt, lt, range. |
|
ssh_keyfile | no | Specifies the SSH key to use to authenticate the connection to the remote device. This argument is only used for the cli transport. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
state | no | present |
| Specify desired state of the resource. |
syn | no |
| Match on the SYN bit. |
|
time-range | no | Name of time-range to apply. |
||
transport | yes | cli | Configures the transport connection to use when connecting to the remote device. The transport argument supports connectivity to the device over cli (ssh) or nxapi. |
|
urg | no |
| Match on the URG bit. |
|
use_ssl | no |
| Configures the transport to use SSL if set to true only when the transport=nxapi , otherwise this value is ignored. |
|
username | no | Configures the username to use to authenticate the connection to the remote device. The value of username is used to authenticate either the CLI login or the nxapi authentication depending on which transport is used. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_USERNAME will be used instead. |
# configure ACL ANSIBLE - nxos_acl: name: ANSIBLE seq: 10 action: permit proto: tcp src: 1.1.1.1/24 dest: any state: present provider: "{{ nxos_provider }}"
Common return values are documented here Common Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
end_state | k/v pairs of ACL entries after module execution. | always | dict | {'src': '1.1.1.1/24', 'name': 'ANSIBLE', 'seq': '10', 'proto': 'tcp', 'dest': 'any', 'action': 'permit'} |
changed | check to see if a change was made on the device | always | boolean | True |
updates | commands sent to the device | always | list | ['ip access-list ANSIBLE', '10 permit tcp 1.1.1.1/24 any'] |
proposed | k/v pairs of parameters passed into module. | always | dict | {'src': '1.1.1.1/24', 'name': 'ANSIBLE', 'seq': '10', 'proto': 'tcp', 'dest': 'any', 'action': 'permit'} |
existing | k/v pairs of existing ACL entries. | always | dict | {} |
Note
state=absent
removes the ACE if it exists.
Note
state=delete_acl
deleted the ACL if it exists.
Note
For idempotency, use port numbers for the src/dest port params like src_port1 and names for the well defined protocols for the proto param.
Note
Although this module is idempotent in that if the ace as presented in the task is identical to the one on the switch, no changes will be made. If there is any difference, what is in Ansible will be pushed (configured options will be overridden). This is to improve security, but at the same time remember an ACE is removed, then re-added, so if there is a change, the new ACE will be exactly what parameters you are sending to the module.
For more information on what this means please read Core Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, developing_test_pr and Developing Modules.
© 2012–2016 Michael DeHaan
© 2016 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/nxos_acl_module.html