sequence – generate a list based on a number sequence¶
Synopsis¶
generates a sequence of items. You can specify a start value, an end value, an optional “stride” value that specifies the number of steps to increment the sequence, and an optional printf-style format string.
Arguments can be specified as key=value pair strings or as a shortcut form of the arguments string is also accepted: [start-]end[/stride][:format].
Numerical values can be specified in decimal, hexadecimal (0x3f8) or octal (0600).
Starting at version 1.9.2, negative strides are allowed.
Generated items are strings. Use Jinja2 filters to convert items to preferred type, e.g.
{{ 1 + item|int }}
.See also Jinja2
range
filter as an alternative.
Parameters¶
Parameter | Choices/Defaults | Configuration | Comments |
---|---|---|---|
count
number
|
Default: 0
|
number of elements in the sequence, this is not to be used with end
|
|
end
number
|
Default: 0
|
number at which to end the sequence, dont use this with count
|
|
format
-
|
return a string with the generated number formatted in
|
||
start
number
|
Default: 0
|
number at which to start the sequence
|
|
stride
number
|
increments between sequence numbers, the default is 1 unless the end is less than the start, then it is -1.
|
Examples¶
- name: create some test users
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
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
group:
name: "group{{ item }}"
state: present
with_sequence: count=4
- name: the final countdown
debug: msg={{item}} seconds to detonation
with_sequence: end=0 start=10
Return Values¶
Common return values are documented here, the following are the fields unique to this lookup:
Key | Returned | Description |
---|---|---|
_list
list
|
A list containing generated sequence of items
|
Status¶
This lookup is not guaranteed to have a backwards compatible interface. [preview]
This lookup is maintained by the Ansible Community. [community]