xlab_si.nuage_miq_automate
Ansible Rolle: nuage_miq_automate
Diese Rolle greift auf den ManageIQ Automatisierungsarbeitsbereich zu, um Ihnen
Nuage-Anmeldeinformationen (Variable nuage_auth
) und EMS-Ereignisdaten (Variable event
) bereitzustellen.
- Nuage-Anmeldeinformationen. Das Format entspricht genau den Anforderungen des Nuage Ansible Moduls, so dass Sie es direkt verwenden können:
nuage_auth:
api_username: benutzer
api_password: passwort
api_enterprise: csp
api_url: https://nuagedemo.net:8443
api_version: v5_0
- EMS-Ereignisdaten. Hier greifen Sie auf die Ereignisdaten zu und verwenden sie für beliebige Rückrufe, die Sie ausführen möchten.
event:
#
# EMS ID, für die das Ereignis erzeugt wurde.
#
ems_id: '2'
#
# Ereignistyp (gleich wie `full_data.type`).
#
type: CREATE
#
# Typ der Entität, für die das Ereignis ausgelöst wurde (gleich wie `full_data.entityType`).
#
entityType: enterprise
#
# Entität, für die das Ereignis ausgelöst wurde (gleich wie `full_data.entities[0]`).
#
entity:
entity_type: enterprise
ID: 07f2726a-7f83-4826-87bd-7f7664803938
name: DEMO3
# ... und andere Attribute
#
# Vollständige Ereignis-Hash wie vom Nuage-Server empfangen.
#
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
Bitte lesen Sie diesen Blogbeitrag, um besser zu verstehen, was die Rolle tun soll. Es gibt auch ein YouTube-Video mit einer vollständigen Demonstration ihrer Verwendung.
Anforderungen
Sie müssen die folgenden Attribute auf Ihrer Automatisierungsinstanz definieren, die die Rolle nuage_miq_automate ausführt:
nuage_username
z.B. benutzernuage_password
(verschlüsselt) z.B. passwortnuage_enterprise
z.B. cspnuage_url
z.B. https://nuagedemo.net:8443nuage_api_version
z.B. v5_0
Der Hauptzweck dieser Rolle besteht darin, diese Attribute aus dem Automatisierungsarbeitsbereich herauszuziehen.
HINWEIS: Sie müssen die fünf Attribute nicht auf jeder Automatisierungsinstanz angeben. Stattdessen können Sie einfach das Schema ändern und dort Standardwerte festlegen - dann können alle Instanzen einer Klasse darauf zugreifen. So müssen Sie, falls sich Ihre Anmeldeinformationen ändern, nur diese Standardwerte aktualisieren.
Rollenspezifische Variablen
Variable | Standard | Beschreibung |
---|---|---|
manageiq | / | Von Automate gesetzt. |
manageiq_connection | / | Von Automate gesetzt. |
manageiq:
X_MIQ_Group: Tenant Mein Unternehmenszugang
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: Tenant Mein Unternehmenszugang
token: 2d5d9031361a6ac570d810406f267cea
url: 'http://localhost:4000'
Sie sollten sich keine Gedanken über die Eingaben der Rolle machen, da ManageIQ Automate sie für Sie bereitstellt.
Ausgaben
Diese Rolle stellt Ihnen die folgenden Variablen zur Verfügung:
Name Statistiken | Beschreibung |
---|---|
nuage_auth | Nuage-Authentifizierungs-Hash. Kann direkt an das nuage_vspk-Modul übergeben werden. |
event | EMS-Ereignisdaten, siehe unten. |
object | Absoluter Name der aktuellen Automatisierungsinstanz. |
event:
type: CREATE
ems_id: 4
entity_type: subnet
full_data: { ... } # vollständige Ereignisdaten wie vom Nuage-Anbieter ausgesendet
entity: { ... } # event['entities'].first
Abhängigkeiten
Diese Rolle erfordert die folgenden Rollen, die ebenfalls auf Ansible Galaxy verfügbar sind:
Beispiel-Playbook
Angenommen, wir möchten jedes Mal ein DomainTemplate erstellen, wenn ein neues Enterprise erstellt wird. Wir müssen einfach ein solches Playbook anschließen:
- name: Beispiel für Nuage-Ereignis-Rückruf
hosts: localhost
connection: local
gather_facts: False
roles:
- xlab_si.nuage_miq_automate
tasks:
- debug: msg="Ich bin ein Playbook, das als Ereignis-Rückruf ausgeführt wird und ich kann auf die Nuage-Anmeldeinformationen zugreifen"
- debug: var=nuage_auth
- debug: msg="So wie auf die Details des Ereignisses, das mich ausgelöst hat"
- debug: var=event
- debug: msg="Jetzt bin ich bereit, einige Arbeiten zu erledigen!"
- name: Erstelle Domain-Template auf Enterprise
delegate_to: localhost
nuage_vspk:
auth: "{{ nuage_auth }}" # beachten Sie, wie wir einfach die `nuage_auth` weitergeben
type: DomainTemplate
parentType: Enterprise
parentId: "{{ event.entity.ID }}" # beachten Sie, wie wir einfach auf die `event`-Variable zugreifen
state: present
properties:
name: "Demo Domain Template"
für das Ereignis nuage_enterprise_create
. Tadaaa :)
Lizenz
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