blob: 50ff7676788f18558ab26e9f7f1c93e90e076447 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
DOCUMENTATION:
name: ternary
author: Brian Coca (@bcoca)
version_added: '1.9'
short_description: Ternary operation filter
description:
- Return the first value if the input is C(True), the second if C(False).
positional: true_val, false_val
options:
_input:
description: A boolean expression, must evaluate to C(True) or C(False).
type: bool
required: true
true_val:
description: Value to return if the input is C(True).
type: any
required: true
false_val:
description: Value to return if the input is C(False).
type: any
none_val:
description: Value to return if the input is C(None). If not set, C(None) will be treated as C(False).
type: any
version_added: '2.8'
notes:
- Vars as values are evaluated even when not returned. This is due to them being evaluated before being passed into the filter.
EXAMPLES: |
# set first 10 volumes rw, rest as dp
volume_mode: "{{ (item|int < 11)|ternary('rw', 'dp') }}"
# choose correct vpc subnet id, note that vars as values are evaluated even if not returned
vpc_subnet_id: "{{ (ec2_subnet_type == 'public') | ternary(ec2_vpc_public_subnet_id, ec2_vpc_private_subnet_id) }}"
- name: service-foo, use systemd module unless upstart is present, then use old service module
service:
state: restarted
enabled: yes
use: "{{ (ansible_service_mgr == 'upstart') | ternary('service', 'systemd') }}"
RETURN:
_value:
description: The value indicated by the input.
type: any
|