Ansible的regex_replace

e4eetjau  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(205)

我想改变为“半径-服务器死标准时间10尝试3”配置为5次从ansible
我创建了下面的脚本,但它不像我预期的那样工作。

- hosts: all
  gather_facts: no
  connection: local
  vars:
    ansible_network_os: ios
    ansible_connection: network_cli

  tasks:
    - name: show running-config
      ios_command:
        commands:
          - show running-config
      register: result
    - name: Radius server setting
      ansible.builtin.set_fact:
        new_radius_server_config: "{{ result.stdout_lines | regex_findall('radius-server dead-criteria time [0-9]{1,2} tries [1-4]{1}') | regex_replace('tries [1-4]{1}$', 'tries 5') }}"
    - name: New radius server setting
      debug:
        msg: "{{ result }}"
    - name: New radius server setting
      debug:
        msg: "{{ new_radius_server_config }}"

我希望将'new_radius_server_config'设置为“radius-server dead-criteria time 10 tries 5”,但无法正常工作...
我想'$'意味着句子结束,但它并不像我预期的那样工作。
你能提供你的建议吗?

w9apscun

w9apscun1#

$字符确实表示行尾,但它与本上下文中的句子结尾不匹配。试试这个,它可能会工作,不确定它是否工作,让我知道。

config: "radius-server dead-criteria time 10 tries 3"

- name: Radius server setting
  ansible.builtin.set_fact:
    new_radius_server_config: "{{ config | regex_replace('tries [1-4]{1}$', 'tries 5') }}"

- name: New radius server setting
  debug:
    msg: "{{ new_radius_server_config }}"

相关问题