Ansible 如何使用“创建”;匹配“;及;替换“;幂等可分解剧本?

Ansible 如何使用“创建”;匹配“;及;替换“;幂等可分解剧本?,ansible,cisco,Ansible,Cisco,我正在尝试为我们的Cisco交换机创建幂等函数剧本,我读了很多文档,但这里一定缺少一些东西 我有一个剧本,在剧本中,我将我的角色称为需要设置交换机端口的角色: /etc/ansible/playbook.yml ... roles: ... - role: set_acc_switchports access_ports: g1/0/1 - 2 /etc/ansible/roles/set\u acc\u switchport/tasks/main.ym

我正在尝试为我们的Cisco交换机创建幂等函数剧本,我读了很多文档,但这里一定缺少一些东西

我有一个剧本,在剧本中,我将我的角色称为需要设置交换机端口的角色:

/etc/ansible/playbook.yml

 ...   
   roles:
 ...  
   - role: set_acc_switchports
       access_ports: g1/0/1 - 2
/etc/ansible/roles/set\u acc\u switchport/tasks/main.yml:

- name: Set switchports to default
  ios_config:
    lines:
      - switchport access vlan 169
      - switchport mode access
      - switchport port-security
     parents: interface range {{ access_ports }}
     match: strict
     replace: line
事情是这样的:它设置了端口,但当我再次运行playbook时,尽管已经有了完全相同的配置(并且只有该配置),但输出总是这个角色已经改变了一些东西,而不是刚刚确定:

...
TASK [set_acc_switchports : Set switchports to default] *****************************************************************************
changed: [Switch]

PLAY RECAP ***********************************************************************************************************************
Switch: ok=2    changed=1    unreachable=0    failed=0

我试着调整匹配并替换params,但没有成功。非常感谢您的帮助。

可能是因为您使用了缩写的命令/名称


查看。

有一个问题,但它已关闭。也许一个简单的更新会有帮助。谢谢!我没有想到“g1/0/1-2”也会导致这个问题。替换为完整的接口名称,工作起来很有魅力。