ansible.builtin.sequence 查询 - 生成基于数字序列的列表
注意
此查询插件是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 sequence
。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.sequence
以便轻松链接到插件文档并避免与可能具有相同查询插件名称的其他集合发生冲突。
摘要
生成一系列项目。您可以指定起始值、结束值、一个可选的“步长”值(指定序列递增的步数)以及一个可选的 printf 样式格式字符串。
参数可以指定为键=值对字符串,也可以使用参数字符串的简写形式:[start-]end[/stride][:format]。
数值可以用十进制、十六进制 (0x3f8) 或八进制 (0600) 指定。
从 1.9.2 版本开始,允许使用负步长。
生成的项目是字符串。使用 Jinja2 过滤器将项目转换为首选类型,例如
{{ 1 + item|int }}
。另请参阅 Jinja2
range
过滤器作为替代方法。
关键字参数
这描述了查询的关键字参数。这些是在以下示例中的 key1=value1
、key2=value2
等值:lookup('ansible.builtin.sequence', key1=value1, key2=value2, ...)
和 query('ansible.builtin.sequence', key1=value1, key2=value2, ...)
参数 |
注释 |
---|---|
序列中的元素数量,不要与 end 一起使用 |
|
序列结束处的数字,不要与 count 一起使用 |
|
返回一个字符串,其中生成的数字以以下格式显示 默认值: |
|
序列开始处的数字 默认值: |
|
序列号之间的增量,默认为 1,除非 end 小于 start,则为 -1。 默认值: |
示例
- name: create some test users
ansible.builtin.user:
name: "{{ item }}"
state: present
groups: "evens"
with_sequence: start=0 end=32 format=testuser%02x
- name: create a series of directories with even numbers for some reason
ansible.builtin.file:
dest: "/var/stuff/{{ item }}"
state: directory
with_sequence: start=4 end=16 stride=2
- name: a simpler way to use the sequence plugin create 4 groups
ansible.builtin.group:
name: "group{{ item }}"
state: present
with_sequence: count=4
- name: the final countdown
ansible.builtin.debug:
msg: "{{item}} seconds to detonation"
with_sequence: start=10 end=0 stride=-1
- name: Use of variable
ansible.builtin.debug:
msg: "{{ item }}"
with_sequence: start=1 end="{{ end_at }}"
vars:
- end_at: 10
返回值
键 |
描述 |
---|---|
包含生成的项目序列的列表 返回:成功 |