Ansible 循环遍历模板中的字母范围

2024-01-01

我正在尝试生成一个 Ansible 模板,该模板按字母顺序而不是数字顺序递增。有没有类似的功能range(x)那可以帮助我吗?

伪代码示例

{% for letter in range(a, d) %}
{{ letter }}
{% endfor %}

预期产出

a
b
c
d

或者,有没有办法将数字转换为 Ansible 中对应的字母顺序?

{% for i in range(6) %}
{{ convert(i) }}
{% endfor %}

UPDATE

对于那些好奇的人,以下是我最终应用@zigam 解决方案的方法。目标是为主机组中的每个主机创建 xml 标签。

在我的角色中默认:

ids: "ABCDEFGHIGJKLMNPQRSTUVWXYZ"

在我的模板中:

{% for host in groups['some_group'] %}
<host-id="{{ ids[loop.index] }}" hostName="{{ host }}" port="8888" />
{% endfor %}

您可以迭代字符串:

 {% for letter in 'abcd' %}
 {{ letter }}
 {% endfor %}

如果您想迭代一定范围的字母表:

 {% set letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' %}
 {% for letter in letters[:6] %} {# first 6 chars #}
 {{ letter }}
 {% endfor %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ansible 循环遍历模板中的字母范围 的相关文章

  • 在 ansible 角色中引用 defaults/main.yml 中的变量

    我的角色设置如下 角色 测试 任务 main yml name Generate people files template src test j2 dest tmp item name cfg loop people 角色 测试 模板 t
  • 如何将文件从 Ansible Tower 上传到 Artifactory?

    我每次都会收到此错误 但仅在尝试从 Ansible Tower 上传到 Artifactory 时出现在特定文件上 这些文件都是在清单主机上创建的Oracle Collection Tool 然后在上传到 Artifactory 之前获取到
  • 我怎样才能得到dag中的execution_date?运算符的外部?

    我怎样才能获得execution date参数在 dag 之外 execution min execution date strftime M if execution min 00 logging info YES It s 00 fin
  • 从上一个任务获取更改/失败的主机列表 |安西布尔

    All 示例 如果我有 20 个主机用于剧本并使用 Serial 10 运行它们 则以下 shell 命令一次在 10 个主机上运行 完成后 将调用处理程序任务 其中创建 dict dict 的任务不会提供字典输出 因此第二个任务 失败的主
  • Ansible 手册:错误! “command”不是 Play 的有效属性[重复]

    这个问题在这里已经有答案了 我只是想写一个基本的剧本 并不断收到下面的错误 尝试了很多东西但仍然无法做到正确 我知道这一定是语法问题 但不知道在哪里 这是我的代码 This playbook runs a basic DF command
  • 带有 cacert 选项的 Ansible URI 模块

    我正在尝试做相当于 curl X POST data
  • Ansible:即使成为 sudo 用户,也无法配置 sudo 命令

    testuser 是 sudo 用户 sudo cat etc sudoers d 90 cloud init testuser testuser ALL ALL NOPASSWD ALL 我可以手动登录 testuser 并在没有密码的情
  • 创建一个能够从容器注册表中提取的 Docker 就绪计算引擎

    我们使用 terraform 设置 GCE 实例 然后使用 ansible playbooks 来配置它们并将我们的服务转移到机器上 我正在我们的组织中运行一个项目 该项目需要从另一个项目中提取 Docker 映像 这些图像托管在另一个项目
  • 附加到 group_vars 中的 Ansible 字典而不使用 hash_behaviour = merge

    我想定义一个字典变量 各个主机组可以将自己的密钥添加到其中在group vars中 不使用set fact 例如 像这样的东西 group vars ftp servers yml important ports ftp 21 group
  • Ansible 循环直到条件匹配。

    我想进行一系列 API 调用 每次调用后检查结果中的特定参数 如果它大于特定值 则将其保存在寄存器中并继续进一步执行剧本 基本上 我正在对 RHEV 进行 API 调用来检查存储域 然后我想检查存储域是否有足够的空间 如果有 则将该存储域i
  • 如何使用 Ansible when 条件在文件中搜索字符串

    我有一个变量中用 n 分隔的搜索字符串列表listofips 我想在文件中搜索该字符串hello csv在我的下面playbook dir 我可能遇到一些语法问题 我不确定 但下面是我尝试过的 set fact listofips 10 0
  • 在 jinja2 模板中转义 jinja2 语法

    我在 Flask 中提供来自 Jinja2 模板的动态页面 现在 我在脚本标记内定义客户端模板 比如 Jinja2 clone Nunjucks 问题是 客户端模板的语法如下 that Flask sJinja2 解释器可以解释而不是渲染v
  • Ansible 测试变量以什么开头

    我需要能够安装 MySQL 库 Python 有 1 个用于 v2 的包和另一个用于 v3 的包 我需要能够告诉 Ansible 要安装哪个包 name Ensure MySQL python is installed pip name M
  • Jinja:空主后备示例如何工作?

    来自 jinja 官方网站的示例代码 if not standalone extends master html endif block body p This is the page body p endblock 据我了解 当独立为真时
  • 如何让 Angular-Flask 应用加载 html 部分?

    我试图让我的 Angular Flask 应用程序在基本 html 文件中渲染部分 HTML 文件 应用程序加载基本 html 窗口标题和页脚加载 但 ng view 没有加载任何内容 也许我到局部的角度路由不正确 文件结构 gt flas
  • if else 在 ansible 打印语句中

    我需要有关具有多个条件的打印语句的语法的帮助 目前 报价为 inventory hostname 导致错误 如果我删除剧本运行的引号 但列出文本 inventory hostname 而不是变量 我想知道如何打印变量以及 if else 语
  • 如何在 Ansible 中运行 MySQL 查询

    我需要编写一个 Ansible 脚本来在 MySQL 数据库中执行 SQL 查询 这是我尝试过的 你能指导一下吗 hosts localhost tasks name retrive data command mysql u root h
  • Ansible 列表未排序

    我有一个正在循环的列表 问题是它给出了一个奇怪的顺序 param yml 文件 my list a val1 b val2 c val3 d val3 这是我的简单调试循环 name debug debug msg item loop my
  • Ansible 输出格式选项

    是否有一个选项可以使用 ansible 而不是任何其他脚本 来格式化 ansible 输出 例如 name Show version sudo true hosts web front end tasks name Create yum c
  • 所有 Ansible playbook 属性

    我刚刚开始使用 Ansible 在阅读了教程 Ansible 团队将其命名为 docs 我想查看可在剧本中使用的所有属性的完整列表 有人能够提供这样的清单吗 我唯一能通过谷歌搜索的是这个老例子 https gist github com m

随机推荐

  • 获取所有下义词的完整列表[重复]

    这个问题在这里已经有答案了 有什么方法可以获得与单个单词相关的下位词的完整列表吗 relative wordnet synsets relative pos n 0 hyponyms lemma name for synset in rel
  • numpy/python 中的 Floodfill 分割图像

    我有一个 numpy 数组 它表示图像中分段的二维矩阵 基本上 它是一个稀疏矩阵 具有一堆闭合形状 这些形状是图像片段的轮廓 我需要做的是用 numpy 中的不同颜色 标签对每个闭合形状内的空像素进行着色 我知道我可以使用 PIL 中的洪水
  • 通过FlexibleInstances“重载”可以返回不同的类型,或者匹配类型类吗?

    我很好奇 Haskell 的类型类可以通过 FlexibleInstances 完成什么样的 重载 作为一个简单的测试 这里是一个调整器类型数据类型的例子 它定义了一个adjust根据是否包含整数或双精度值 将为其值添加不同金额的操作 LA
  • MongoDB 聚合框架 - 如何按日期范围、按天分组以及每天返回平均值进行匹配?

    我刚刚学习 MongoDB 的聚合框架 我想知道是否有人可以帮助我改进这个查询以执行以下操作 查找 匹配日期在提交范围内的记录 按天对结果进行分组 每天的回报平均值 这是我的模型 有一些有用的属性可以使编写此查询变得更容易 例如day财产
  • 对浮点数进行四舍五入,使它们的总和恰好为 1

    我有一段相当粗糙的代码 它必须或多或少随机生成一堆百分比 并存储为十进制浮点数 也就是说 它确定材料一占总数的 13 307 然后将其存储在字典中为 0 13307 问题是 我永远无法让这些数字加起来恰好为一 老实说 我并不完全确定问题是什
  • Javascript:location.hostname 和 document.domain 之间的区别?

    使用 location hostname 和 document domain 有什么区别 我认为用例子来解释会很有帮助 看起来document domain is a 只读属性 但在 Mozilla 中除外 它允许您更改用于 例如 AJAX
  • 从 WINAPI 获取文件的先前版本

    在 Windows 7 中 可以获取以前版本的文件 如下图所示 有没有办法通过代码检索文件的先前版本 因为我找不到任何API 感谢先进 这个问题列出了几个标签 因此 尚不清楚是否需要严格的 c c 方法 或者脚本等是否有效 任何状况之下 以
  • Ansi-C 中的单行注释

    我已经习惯了 标记来自 Java 和 Visual Studio 的单行注释 令人惊讶的是 Ansi C 不存在这种注释 使用 my comment 很烦人 使用 Ansi C 时还有其他方法标记单行注释吗 ANSI C 不可以 但当前的标
  • 我们如何使用 APK 主扩展文件中的图像?

    我最近 2 天面临一个问题 我们如何在 Google Play 上上传大小超过 50Mb 的 apk 文件 然后我找到了一种从链接上传带有 APK 扩展文件的 apk 文件的方法http developer android com guid
  • 轻量级 Java 对象缓存 API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ASP.NET - 获取 DirectoryEntry / SID 的主体 / 相对标识符 (RID)

    我在自定义 MembershipProvider 类中使用 Active Directory 对 ASP NET 2 0 Intranet 应用程序中的用户进行身份验证 并将其 sid 与该应用程序的配置文件相关联 当 的时候ActiveD
  • ColdFusion 和移动应用程序结构和安全性

    Overview 我希望开始使用 HTML5 jQuery 和 ColdFusion 开发 iOS 应用程序 我对此的理解是让 jQuery 为所有后端函数调用 ColdFusion API 伟大的 我的问题主要是关于页面结构和 API 安
  • 如何设置cassandra读写一致性

    我找不到这方面的文档 我知道cqlsh中有一致性命令 但是读一致性和写一致性没有区别 如何为读取和写入设置不同的一致性级别 此外 还提到了 默认 一致性级别 默认设置在哪里 它是用于读还是写 如何为读取和写入设置不同的一致性级别 如果您只想
  • struts2 + hibernate3 + jasper-report 5.0 ----- 得到空白报告

    我创建了一个应用程序 它使用 jasper report 5 0 struts2 和 hibernate 打印报告 jasper报告使用hql 该应用程序工作正常 但问题是我得到空白报告在浏览器中 当我触发 struts 操作时 但是当我在
  • VSCode 语法突出显示不适用于 Vue / Vetur

    在过去一周左右的时间里 我使用的每个 VUE 文件都没有语法突出显示 我通常有扩展名Vetur帮助对 VUE 文件进行语法突出显示和其他调整 到目前为止我尝试过的事情 卸载 重新安装 Vetur 更改 VScode 中的文件关联 确保 vu
  • Moose 结构类型

    我想在 Moose 中创建一个结构化类型 可以用作另一个 Moose 属性的类型 例如 我希望能够创建一个name有自己的属性value and error属性 因此 我想知道实现这一目标的最佳方法 我通过定义一个简单的 Moose 类来表
  • 将给定的十进制数转换为二进制数并计算连续的 1 并显示

    问题 将给定的十进制数转换为二进制数并统计连续的1并显示 示例案例1 5的二进制表示为101 因此连续1的最大数量为1 示例案例2 13 的二进制表示为 1101 因此连续 1 的最大数量为 2 解决方案 bin python3 impor
  • 为什么将 1 添加到 byte.MaxValue 会导致 256 而不是溢出[重复]

    这个问题在这里已经有答案了 我在 C 中有一段简单的代码 用于在向类型的 MaxValue 添加 1 时显示溢出错误 using System using System Collections Generic using System Li
  • dart 控制台应用程序中的 Ctrl+c

    Is there a way to catch CTRL C in dart console application For example press CTRL C to send clean closing packet to web
  • Ansible 循环遍历模板中的字母范围

    我正在尝试生成一个 Ansible 模板 该模板按字母顺序而不是数字顺序递增 有没有类似的功能range x 那可以帮助我吗 伪代码示例 for letter in range a d letter endfor 预期产出 a b c d