rougail-output-ansible/tests/results-doc/test_namespace/60_6family_dynamic_leadership.sh

115 lines
24 KiB
Bash
Raw Normal View History

2026-01-14 14:25:35 +01:00
Ansible role: Rougail
▌ 🛈 Informations
▌ 
▌  basic 
Role variables
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Variable  ┃ Description  ┃ Default value  ┃ Type  ┃ Access control  ┃ Validator  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
var │ A suffix variable. │ • val1 │  string   multiple    │  standard  │  unique  │
│ │ │ • val2 │ mandatory  │ │ │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴───────────────────────────────┘
A dynamic family
▌ 🛈 Informations
▌ 
▌ This family builds families dynamically.
▌ Path:
▌  • dynval1
▌  • dynval2
▌  basic 
▌ Identifiers: the value of the variable "var"
A leadership
▌ 🛈 Informations
▌ 
▌ This family contains lists of variable blocks.
▌ Path:
▌  • dynval1.leadership
▌  • dynval2.leadership
▌  basic 
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 Variable  ┃ Description  ┃ Type  ┃ Access control  ┃ Validator  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
dynval1.leadership.leader │ A leader. │  string   multiple   mandatory  │  basic  │  unique  │
dynval2.leadership.leader │ │ │ │ │
├────────────────────────────────────┼────────────────────────────────────┼─────────────────────────────────────┼────────────────────────────────────┼─────────────────────────────────────┤
dynval1.leadership.follower1 │ A follower1. │  string  │  standard  │ │
dynval1.leadership.follower1 │ │ │ │ │
dynval1.leadership.follower1 │ │ │ │ │
dynval2.leadership.follower1 │ │ │ │ │
dynval2.leadership.follower1 │ │ │ │ │
dynval2.leadership.follower1 │ │ │ │ │
├────────────────────────────────────┼────────────────────────────────────┼─────────────────────────────────────┼────────────────────────────────────┼─────────────────────────────────────┤
dynval1.leadership.follower2 │ A follower2. │  string  │  standard  │ │
dynval1.leadership.follower2 │ │ │ │ │
dynval1.leadership.follower2 │ │ │ │ │
dynval2.leadership.follower2 │ │ │ │ │
dynval2.leadership.follower2 │ │ │ │ │
dynval2.leadership.follower2 │ │ │ │ │
└────────────────────────────────────┴────────────────────────────────────┴─────────────────────────────────────┴────────────────────────────────────┴─────────────────────────────────────┘
2026-01-21 08:55:24 +01:00
Example playbook with Rougail
▌ 🛈 Informations
▌ 
▌ Do not forget to add Rougail structural file as Rougail types
Add to your structural file something like:
--- 
path: 
 to: 
 my_rougail: 
 type: rougail 
 dynval1: 
 leadership: # A leadership 
 - leader: string1 # A leader 
 - leader: string2 # A leader 
 - leader: string3 # A leader 
 dynval2: 
 leadership: # A leadership 
 - leader: string1 # A leader 
 - leader: string2 # A leader 
 - leader: string3 # A leader 
Add to your playbook:
--- 
- name: Rougail 
 hosts: server 
 roles: 
 - role: <author>.rougail 
 vars: path.to.rougail 
2026-01-14 14:25:35 +01:00
Example playbook
2026-01-14 15:37:03 +01:00
--- 
- name: Rougail 
 hosts: server 
 roles: 
 - role: <author>.rougail 
 vars: 
 rougail: # Rougail 
 dynval1: # A dynamic family 
 leadership: # A leadership 
 - leader: string1 # A leader 
 - leader: string2 # A leader 
 - leader: string3 # A leader 
 dynval2: # A dynamic family 
 leadership: # A leadership 
 - leader: string1 # A leader 
 - leader: string2 # A leader 
 - leader: string3 # A leader