xlab_si.nuage_miq_automate
Ansible Rola: nuage_miq_automate
Ta rola uzyskuje dostęp do Przestrzeni Automatyzacji ManageIQ, aby dostarczyć Ci
poświadczenia Nuage (zmienna nuage_auth
) oraz dane dotyczące zdarzenia EMS (zmienna event
).
- Poświadczenia Nuage. Format jest zgodny z wymaganiami modułu Nuage Ansible, więc możesz użyć go bezpośrednio:
nuage_auth:
api_username: użytkownik
api_password: hasło
api_enterprise: csp
api_url: https://nuagedemo.net:8443
api_version: v5_0
- Dane zdarzenia EMS. Tutaj uzyskujesz szczegóły zdarzenia i możesz je wykorzystać do wszelkich powrotów, które chcesz uruchomić.
event:
#
# ID EMS, dla którego zdarzenie zostało wyemitowane.
#
ems_id: '2'
#
# Typ zdarzenia (taki sam jak `full_data.type`).
#
type: CREATE
#
# Typ encji, dla której zdarzenie zostało podniesione (taki sam jak `full_data.entityType`).
#
entityType: enterprise
#
# Encja, dla której zdarzenie zostało podniesione (taki sam jak `full_data.entities[0]`).
#
entity:
entity_type: enterprise
ID: 07f2726a-7f83-4826-87bd-7f7664803938
name: DEMO3
# ... i inne atrybuty
#
# Cały hash zdarzenia, jak otrzymano z serwera Nuage.
#
full_data:
assoicatedEvent: false
diffMap:
enterpriseName: csp
entities:
- entityType: enterprise
ID: 07f2726a-7f83-4826-87bd-7f7664803938
name: DEMO3
# ...
entityType: enterprise
entityVersion:
eventReceivedTime: 1535011120658
ignoreDiffInMediationEvents: false
requestID: 62c58aa6-4150-46c7-95fe-ed4051e70864
sourceEnterpriseID: 07f2726a-7f83-4826-87bd-7f7664803938
type: CREATE
updateMechanism: DEFAULT
userName: xlab
Zobacz ten post na blogu, aby lepiej zrozumieć, co ta rola ma robić. Jest też film na YouTube z pełną demonstracją jej użycia.
Wymagania
Musisz mieć następujące atrybuty zdefiniowane w swojej instancji Automate, która uruchamia rolę nuage_miq_automate:
nuage_username
, np. użytkowniknuage_password
(szyfrowane), np. hasłonuage_enterprise
, np. cspnuage_url
, np. https://nuagedemo.net:8443nuage_api_version
, np. v5_0
Głównym celem tej roli jest wyodrębnienie tych atrybutów z Przestrzeni Automatyzacji.
UWAGA: Nie musisz za każdym razem określać pięciu atrybutów w każdej instancji Automate. Zamiast tego możesz po prostu zmodyfikować Schemat i ustawić wartości domyślne tam - w ten sposób wszystkie instancje klasy będą mogły z nich korzystać. Dzięki temu, jeśli Twoje poświadczenia się zmienią, musisz jedynie zaktualizować te wartości domyślne.
Zmienne Roli
Zmienna | Domyślna | Opis |
---|---|---|
manageiq | / | Ustawione przez Automate. |
manageiq_connection | / | Ustawione przez Automate. |
manageiq:
X_MIQ_Group: Dostęp Tenanta Mojej Firmy
api_token: 2d5d9031361a6ac570d810406f267cea
api_url: 'http://localhost:4000'
automate_workspace: automate_workspaces/82632486-7529-45c6-8fa7-fc53ebbb157d
group: groups/1
user: users/1
manageiq_connection:
X_MIQ_Group: Dostęp Tenanta Mojej Firmy
token: 2d5d9031361a6ac570d810406f267cea
url: 'http://localhost:4000'
Nie musisz się martwić o dane wejściowe roli, ponieważ Automate ManageIQ dostarczy je za Ciebie.
Wyjścia
Ta rola ustawia następujące zmienne dla Ciebie:
Nazwa statystyki | Opis |
---|---|
nuage_auth | Hash uwierzytelniający Nuage. Można go bezpośrednio przekazać do modułu nuage_vspk. |
event | Dane dotyczące zdarzenia EMS, patrz poniżej. |
object | Absolutna nazwa bieżącej instancji Automate. |
event:
type: CREATE
ems_id: 4
entity_type: subnet
full_data: { ... } # pełne dane zdarzenia, jak wyemitowane przez dostawcę Nuage
entity: { ... } # event['entities'].first
Zależności
Ta rola wymaga następujących ról, które są również dostępne w Ansible Galaxy:
Przykładowy Playbook
Załóżmy, że chcemy stworzyć SzablonDomeny za każdym razem, gdy zostanie utworzona nowa Przedsiębiorstwo. Po prostu musimy podłączyć taki playbook:
- name: Przykład wywołania zdarzenia Nuage
hosts: localhost
connection: local
gather_facts: False
roles:
- xlab_si.nuage_miq_automate
tasks:
- debug: msg="Jestem playbookiem uruchamianym jako wywołanie zdarzenia i mogę uzyskać dostęp do poświadczeń nuage"
- debug: var=nuage_auth
- debug: msg="A także szczegóły zdarzenia, które mnie wywołało"
- debug: var=event
- debug: msg="Więc jestem teraz gotowy do pracy!"
- name: Utwórz SzablonDomeny na Przedsiębiorstwie
delegate_to: localhost
nuage_vspk:
auth: "{{ nuage_auth }}" # zauważ, że po prostu przekazujemy `nuage_auth`
type: DomainTemplate
parentType: Enterprise
parentId: "{{ event.entity.ID }}" # zauważ, że po prostu uzyskujemy dostęp do zmiennej `event`
state: present
properties:
name: "SzablonDomeny Demo"
do zdarzenia nuage_enterprise_create
. Tadaaa :)
Licencja
BSD
This role accesses ManageIQ Automation Workspace for you to provide you with Nuage credentials and EMS event data.
ansible-galaxy install xlab_si.nuage_miq_automate