# Cisco ACL in Ansible

**URL:** <https://forum.ansible.com/t/cisco-acl-in-ansible/2478>\
**Category:** Get Help\
**Tags:** module, playbook\
**Created:** [November 21, 2023, 6:56am UTC](https://forum.ansible.com/t/cisco-acl-in-ansible/2478 "2023-11-21T06:56:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![djay\_nsw](https://avatars.discourse-cdn.com/v4/letter/d/b5e925/32.png) [@djay\_nsw](https://forum.ansible.com/u/djay_nsw)\
**Post date:** [November 21, 2023, 6:56am UTC](https://forum.ansible.com/t/cisco-acl-in-ansible/2478/1 "2023-11-21T06:56:15Z")

</div>

\*\*Hi all I am trying to create new ACL on 1000 cisco routers and Ansible version is  
2.9.

```auto
- my code!
---
- name: Create ACL
  hosts: routers  
  gather_facts: false
  connection: local

  vars:
    cli:
      username: "{{ hdn_user_rw }}"
      password: "{{ hdn_pass_rw }}"
         
  tasks:
      
     - name: Push config     
       ios_config:
        provider: "{{ cli }}"
        authorize: yes     
        lines:
          - permit 10.253.68.64 0.0.0.62        
        Parents: ip access-list standard TEST 
        before: no ip access-list standard TEST
        match: none
I am getting the errors below...

Unsupported parameters for (ios_config) module: Parents Supported parameters include: after,auth_pass,authorize,backup,before,defaults,diff_against,diff_ignore_lines,force,host,intended_config,lines,match,multiline_delimiter,parents,password,port,provider,replace,running_config,save,save_when,src,ssh_keyfile,timeout,username
        to retry, use: --limit @/opt/ansible/dev/Dheeraj/Splunk3.retry

PLAY RECAP *****************************************************************************************************************************************************************************************************************************************************
WAGGJLC-NRT001 : ok=0 changed=0 unreachable=0 failed=1   

No sure what wrong am I doing, its showing me unsupported parameters
again and again, thanks for you help

```

- Set at least one tag (the experts follow the tags, so the right people will find you if you tag)

---

<div class="post-metadata">

**Author:** ![ptn](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/ptn/32/481_2.png) [@ptn](https://forum.ansible.com/u/ptn)\
**Post date:** [November 21, 2023, 8:34am UTC](https://forum.ansible.com/t/cisco-acl-in-ansible/2478/2 "2023-11-21T08:34:11Z")

</div>

Hi,

> Unsupported parameters for (ios\_config) module: Parents

Not sure if module parameters are case sensitive, but this one is not recognized. Try setting it in lowercase, see if it works.

---

<div class="post-metadata">

**Author:** ![djay\_nsw](https://avatars.discourse-cdn.com/v4/letter/d/b5e925/32.png) [@djay\_nsw](https://forum.ansible.com/u/djay_nsw)\
**Post date:** [November 21, 2023, 9:06am UTC](https://forum.ansible.com/t/cisco-acl-in-ansible/2478/3 "2023-11-21T09:06:30Z")

</div>

@ptn it worked, it was a capital letter causing issues.  
do you know by any chance if I could update an ACL without touching the existing enteries, expected end result is only new lines should be added ( A Merge)

---

<div class="post-metadata">

**Author:** ![ptn](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/ptn/32/481_2.png) [@ptn](https://forum.ansible.com/u/ptn)\
**Post date:** [November 21, 2023, 11:47am UTC](https://forum.ansible.com/t/cisco-acl-in-ansible/2478/4 "2023-11-21T11:47:44Z")

</div>

> @ptn it worked, it was a capital letter causing issues.

Glad it works !

> do you know by any chance if I could update an ACL without touching the existing enteries, expected end result is only new lines should be added ( A Merge)

I don’t think that’s possible with this module, sadly. [`lines` parameter](https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_config_module.html#parameter-lines) states that:

> The commands must be the exact same commands as found in the device running-config to ensure idempotency and correct diff.

What I understand is that either you know an inherently idempotent command you could run on your device, or let this task reissue the commands on each run. I might be wrong.

Anyways, what about [this module](https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_acls_module.html) instead ? though [be mindful](https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_acls_module.html#notes):

> Module behavior is not idempotent when sequence for aces are not mentioned
