gpt4 book ai didi

Ansible 最佳实践 - 何时使用 "ini_file"模块而不是 "copy"

转载 作者:行者123 更新时间:2023-12-04 03:49:51 25 4
gpt4 key购买 nike

我努力寻找最佳实践或约定,使其更易于维护并让其他人阅读我的 Ansible 剧本/角色。假设我正在创建一个 ini 文件:

[drinks]
fav=lemonade
在 Ansible 中有多种方法可以做到这一点,我将提到两种:
  • 使用ini_file模块
  • 使用 copy 复制具有相同内容的文件模块

  • 哪种方法更可取?
    谢谢。

    最佳答案

    这取决于数据的来源。数据从何而来?

  • 如果文件可以从任何来源获得,请使用 copy模块。
  • 如果您想将该部分添加到现有文件中,请使用 ini_file模块。
  • 如果数据是结构化的,请使用 template模块。例如

  • my_ini_data:
    drinks:
    - key: fav
    val: lemonade
    shell> cat conf.ini.j2
    {% for section in my_ini_data.items() %}
    [{{ section.0 }}]
    {% for item in section.1 %}
    {{ item.key }}={{ item.val }}
    {% endfor %}
    {% endfor %}
        - template:
    src: conf.ini.j2
    dest: conf.ini

    shell> cat conf.ini
    [drinks]
    fav=lemonade
    除此之外,看看该模块的作者是个好主意。 templatecopy由 Ansible 核心团队维护。如果您有问题,请查看 open issues第一的。

    关于Ansible 最佳实践 - 何时使用 "ini_file"模块而不是 "copy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64586710/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com