ansible-libro de jugadas en la palabra clave bucle

1. Introducción

Cuando escribimos el libro de jugadas, inevitable para realizar algunas acciones repetitivas, como el dedo instalar paquetes, Crear usuarios por lotes, que opera todos los archivos en un directorio y así sucesivamente. Como hemos dicho, ansible un simple lenguaje automático, control de procesos, el reciclaje de los elementos básicos del lenguaje de programación que estas declaraciones son igualmente disponibles.

2. El bucle de edad (antes de la versión 2.5 solamente)

En Ansible anterior 2.5, PlayBook para lograr diferentes ciclo de circulación a través de diferentes estados, que with_ usa como prefijo. La sintaxis sigue siendo compatible, pero en algún momento en el futuro, será abandonado gradualmente.

循环语句关键字 	描述
with_items 	简单的列表循环
with_nested 	嵌套循环
with_dict 	循环字典
with_fileglob 	循环指定目录中的所有文件
with_lines 	循环一个文件中的所有行
with_sequence 	生成一个自增的整数序列,可以指定起始值和结束值以及步长。参数以key=value的形式指定,format指定输出的格式。数字可以是十进制、十六进制、八进制
with_subelement 	遍历子元素
with_together 	遍历数据并行集合

3. with_items

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

lista circular 4. Personal with_list

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

5. Pequeño Ejercicio: crear cuatro archivos en el host administrado

(1) antes de que el ciclo no se aprende, escribiremos

---
- hosts: test70
  remote_user: root
  gather_facts: no
  tasks:
  - file:
      path: "/opt/a"
      state: touch
  - file:
      path: "/opt/b"
      state: touch
  - file:
      path: "/opt/c"
      state: touch
  - file:
      path: "/opt/d"
      state: touch

(2) Después de usar un bucle, escribimos
Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

6. Con la función de registro, ciclo de ejecución múltiple de diferentes comandos

Aquí Insertar imagen DescripciónAquí Insertar imagen Descripción
Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

7. para traversal bucle

---
- hosts: test70
  gather_facts: no
  tasks:
  - shell: "{{item}}"
    with_items:
    - "ls /opt"
    - "ls /home"
    register: returnvalue
  - debug:
      msg:
       "{% for i in returnvalue.results %}
          {{ i.stdout }}
        {% endfor %}"

Aquí Insertar imagen Descripción

8. Definición de lista anidada

(El uso de dos sintaxis with_items combinado)

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

9. with_list palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

10. with_flattened palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

11. La diferencia entre las tres palabras clave

Aquí Insertar imagen Descripción

12. with_together palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

13. with_cartesian palabra clave

Aquí Insertar imagen Descripción

1. Podemos mkdir -p {a, b, c} / {test1, test2}

2
Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

14. with_indexed_items palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen Descripción

Cuando la lista de un solo 14-1

---
- hosts: test70
  remote_user: root
  gather_facts: no
  tasks:
  - debug:
      msg: "index is : {{ item.0 }} , value is {{ item.1 }}"
    with_indexed_items:
    - test1
    - test2
    - test3

resultados de la ejecución son las siguientes:

TASK [debug] **********************************
ok: [test70] => (item=(0, u'test1')) => {
    "changed": false,
    "item": [
        0,
        "test1"
    ],
    "msg": [
        0,
        "test1"
    ]
}
ok: [test70] => (item=(1, u'test2')) => {
    "changed": false,
    "item": [
        1,
        "test2"
    ],
    "msg": [
        1,
        "test2"
    ]
}
ok: [test70] => (item=(2, u'test3')) => {
    "changed": false,
    "item": [
        2,
        "test3"
    ],
    "msg": [
        2,
        "test3"
    ]
}

Cuando dos listas anidadas 14-2

---
- hosts: testA
  remote_user: root
  gather_facts: no
  tasks:
  - debug:
      msg: "index is : {{ item.0 }} , value is {{ item.1 }}"
    with_indexed_items:
    - [ test1, test2 ]
    - [ test3, test4, test5 ]
    - [ test6, test7 ]

Aquí Insertar imagen Descripción
Los resultados:
Aquí Insertar imagen Descripción

Cuando las multi-capa de listas anidadas 14-3

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

15. with_sequence palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

contar
Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

---
- hosts: test70
  remote_user: root
  gather_facts: no
  tasks:
  - debug:
      msg: "{{item}}"
    with_sequence: start=2 end=6 stride=2 format="number is %0.2f"

Aquí Insertar imagen DescripciónAquí Insertar imagen Descripción

16. with_random_choice palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

17. with_dict palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

18. diccionario de anidación

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

19. with_subelements palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción
Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

20. with_file palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

21. with_fileglob palabra clave

Aquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen DescripciónAquí Insertar imagen Descripción

Publicados 250 artículos originales · ganado elogios 2 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/yrx420909/article/details/105220200
Recomendado
Clasificación