
Quero poder obter os primeiros 8 caracteres do primeiro host de um grupo a partir de um arquivo hosts. Portanto, no exemplo abaixo, quero que uma variável seja atribuída xx33sx01
. Eu sei que posso usar inventário_hostname para obter os hosts, mas ele retorna todos os 4 e só preciso do primeiro host e apenas dos primeiros 8 caracteres.
exemplo de inventário do Ansible (estilo INI):
[TEST1]
xx33sx0101.domain.com
xx33sx0102.domain.com
xx33sx0103.domain.com
xx33sx0104.domain.com
ansible-playbook /local_home/scripts/test.yml -i ~/hosts -e "target=TEST1" -K
Responder1
Para obter os primeiros 8 caracteres do primeiro nome de host do grupo, tente
- debug:
msg: "{{ groups[target_group][0][:8] }}"
vars:
target_group: TEST1
(não testado)
- Para que a tarefa de depuração funcione, o grupo deve estar disponível para o manual, é claro. Por exemplo
- hosts: all
tasks:
- debug:
msg: "{{ groups[target_group][0][:8] }}"
- Execução de pedidos com base no estoquepode influenciar a seleção.