Come può un playbook register
in una variabile il risultato di un altro playbook ?In che modo Ansible "registra" in una variabile il risultato di includere un playbook?
Ad esempio, sarebbe il seguente registro il risultato dell'esecuzione di tasks/foo.yml
in result_of_foo
?
tasks:
- include: tasks/foo.yml
- register: result_of_foo
In quale altro modo Ansible registra il risultato di una sequenza di attività?
È necessario se si trattano un playbook come una scatola opaca (cioè una funzione) con un semplice, ben definita interfaccia. Perché un libro di esercizi non dovrebbe avere variabili con scope e valori di ritorno? –
La cartella di ascolto di Ansible soffre di alcuni dei problemi che ho osservato in altri linguaggi di dominio specifici (DSL) come Ant, un linguaggio di compilazione per Java. Tali linguaggi sono per lo più dichiarativi, ma hanno anche un comportamento funzionale o imperativo incompleto. Il libro degli amici ha riempito in modo incrementale le lacune imperative, ma come dimostra questo caso, ha ancora buchi da riempire. Un approccio alternativo consiste nel basare la progettazione di una DSL su un linguaggio di programmazione esistente, ma seguire una sintassi più stretta o fornire solo funzioni specifiche. (YAML e XML non sono * linguaggi di programmazione.) –
Non è ancora possibile, anche se esiste una sola attività in un playbook? Potresti registrare il risultato di quell'attività e poi fare riferimento al gioco originale? – user3270760