Ansible Academy · Les

Door dictionaries itereren

Maak gebruikers aan op basis van key-valuegegevens.

Les 2 van 413 stappen

Door dictionaries itereren is een gratis Ansible Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Ansible Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Ansible Academy bevat in totaal 4 lessen.

Lijsten zijn niet genoeg

Gebruikers aanmaken vereist meer dan een naam: een groep, een shell en een status. Een platte lijst kan dat niet bevatten. Je hebt een lijst met woordenboeken nodig. 🗂️

Een lijst met woordenboeken

Elke invoer in de lijst wordt een klein woordenboek met sleutel-waardeparen. Elke iteratie van de lus beschikt zo over meerdere benoemde velden.

loop:
  - { name: alice, group: admin }
  - { name: bob, group: dev }

Sleutels openen met item.key

Als item een woordenboek is, lees je elk veld met item.fieldname. item.name en item.group halen zo waarden op uit de huidige invoer.

- name: Add users
  ansible.builtin.user:
    name: "{{ item.name }}"
    group: "{{ item.group }}"
  loop:
    - { name: alice, group: admin }
    - { name: bob, group: dev }

Nettere vorm over meerdere regels

Inline accolades worden al snel krap. Schrijf elk woordenboek over meerdere regels voor een betere leesbaarheid wanneer invoeren veel sleutels hebben.

loop:
  - name: alice
    group: admin
    shell: /bin/bash
  - name: bob
    group: dev
    shell: /bin/zsh

Haal de lijst uit variabelen

Definieer je lijst met woordenboeken als een variabele en doorloop die vervolgens. De gegevens staan op één plek; de taak blijft kort en herbruikbaar.

vars:
  users:
    - { name: alice, group: admin }
tasks:
  - ansible.builtin.user:
      name: "{{ item.name }}"
    loop: "{{ users }}"

Een echt woordenboek doorlopen

Als je een echt woordenboek met sleutel-waardeparen wilt doorlopen, geef je het door aan het filter dict2items, zodat elk paar een item wordt dat je kunt doorlopen.

loop: "{{ ports | dict2items }}"

item.key en item.value

Na dict2items bevat elk item item.key en item.value: de oorspronkelijke naam van de toewijzing en de bijbehorende gegevens.

- ansible.builtin.debug:
    msg: "{{ item.key }} = {{ item.value }}"
  loop: "{{ settings | dict2items }}"

Gemengde, optionele sleutels

Niet elke invoer heeft elke sleutel nodig. Combineer een lus met het filter default, zodat ontbrekende velden terugvallen op een zinvolle waarde.

shell: "{{ item.shell | default('/bin/sh') }}"

Woordenboeken houden gegevens overzichtelijk

Door verwante velden per item te bundelen, houd je gegevens en logica gescheiden. Een gebruiker bewerken betekent gegevens aanpassen, niet de taak zelf.

Nog steeds volledig idempotent

Elke iteratie van een woordenboek is een afzonderlijke moduleaanroep, dus Ansible meldt per gebruiker changed of ok, precies zoals bij eenvoudige lijsten.

Ideaal voor bulkconfiguratie

Gebruikers, virtuele hosts en firewallregels: alles met meerdere kenmerken per invoer past perfect in een lijst met woordenboeken.

Korte controle

Je doorloopt een lijst met woordenboeken. Hoe lees je een veld?

Samenvatting: lussen met woordenboeken

Je hebt lijsten met woordenboeken doorlopen, item.name-velden gelezen en dict2items voor echte toewijzingen gebruikt. Hierna: geneste lussen. 🎉

Gratis beginnen

Leer YAML met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Door dictionaries itereren” gratis?

Ja — de volledige tekst van “Door dictionaries itereren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Ansible Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Ansible Academy bevat in totaal 4 lessen.

Wat leer ik in “Door dictionaries itereren”?

Maak gebruikers aan op basis van key-valuegegevens. Je oefent met Ansible Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Ansible Academy te beginnen?

Ervaring vooraf is niet nodig. Ansible Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Door dictionaries itereren”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Ansible Academy?

Ja. Elke les over Ansible Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Het loop-trefwoord voor een lijst
  2. Door dictionaries itereren
  3. Geneste lussen met subelements
  4. loop_control: label, index en pauze
← Terug naar Ansible Academy