manageiq.manageiq_automate
manageiq.manageiq_automate
https://galaxy.ansible.com/manageiq/manageiq_automate
Die Rolle manageiq_automate
ermöglicht es Benutzern von ManageIQ Automate, den Automate Workspace über ein Ansible Playbook zu ändern und zu erweitern. Die Rolle enthält ein Modul, manageiq_automate
, das alle notwendigen Änderungen am Automate Workspace durchführt.
Anforderungen
ManageIQ muss Version Gaprindashvili oder höher sein.
Das Beispiel-Playbook verwendet das Modul manageiq_automate
, das ebenfalls Teil dieser Rolle ist.
Wenn Sie diese Rolle in Ansible Tower oder Embedded Ansible verwenden möchten, fügen Sie einfach ein leeres Verzeichnis roles
im Stammverzeichnis Ihres Playbooks hinzu und erstellen Sie eine Datei requirements.yml
mit folgendem Inhalt in diesem Verzeichnis:
---
- source: manageiq.manageiq_automate
version: v0.1.3
Rollenvariablen
Auto Commit:
Die Variable auto_commit
hat standardmäßig den Wert True
in defaults/main.yml
. Wenn sie auf False
gesetzt wird, wird bei jedem Aufruf einer set_
-Methode im Modul manageiq_automate
kein automatisches Commit zurück zu ManageIQ durchgeführt.
Zertifikate validieren:
Die Variable manageiq_validate_certs
hat standardmäßig den Wert True
. Wenn sie auf False
gesetzt wird, entweder im manageiq_connection
-Wörterbuch oder über extra_vars
, wird akzeptiert, dass selbstsignierte Zertifikate bei SSL-REST-API-Verbindungs-URLs verwendet werden.
ManageIQ:
Das manageiq_connection
ist ein Wörterbuch mit Standardverbindungsparametern. Diese Informationen sind NUR erforderlich, wenn die Rolle außerhalb eines ManageIQ Appliances verwendet wird. Ein ManageIQ Appliance übergibt manageiq_connection
über extra_vars
, sodass die Verbindungsinformationen automatisch enthalten sind. Bitte denken Sie daran, Ansible Vault für Passwörter zu verwenden. automate_workspace
ist der href-Slug und Guid, die benötigt werden, um mit dem Automate Workspace zu kommunizieren.
manageiq_connection:
url: 'http://localhost:3000'
username: 'admin'
password: 'password'
automate_workspace: 'automate_workspaces/1234'
manageiq_validate_certs: false
Workspace:
Der workspace
wird über tasks/main.yml
instanziiert. Dies ist die aktuelle Version des Workspaces, wie sie durch Methoden im Modul manageiq_automate
geändert wird.
Abhängigkeiten
Keine
Beispiel-Playbook
Ein ausführliches Beispiel mit manuell übergebenen Strings zu jeder Methode des manageiq_automate
Moduls.
- name: Automate Workspace ändern
hosts: localhost
connection: local
gather_facts: False
vars:
- auto_commit: True
# Nur nötig, wenn dieses Playbook NICHT auf einem ManageIQ Appliance ausgeführt wird
- manageiq_connection:
url: 'https://localhost:3000'
username: 'admin'
password: 'password'
automate_workspace: 'automate_workspaces/1234'
manageiq_validate_certs: false
roles:
- manageiq.manageiq_automate
tasks:
- name: "Ein Attribut überprüfen"
manageiq_automate:
workspace: "{{ workspace }}"
attribute_exists:
object: "/ManageIQ/System/Request/call_instance"
attribute: "::miq::parent"
- name: "Ein Attribut abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_attribute:
object: "/ManageIQ/System/Request/call_instance"
attribute: "::miq::parent"
- name: "Eine state_var überprüfen"
manageiq_automate:
workspace: "{{ workspace }}"
state_var_exists:
attribute: "task_id"
- name: "Eine state_var abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_state_var:
attribute: "task_id"
- name: "Setze eine State Var"
manageiq_automate:
workspace: "{{ workspace }}"
set_state_var:
attribute: "job_id"
value: "xyz"
register: workspace
- name: "Überprüfe einen Method Parameter"
manageiq_automate:
workspace: "{{ workspace }}"
method_parameter_exists:
parameter: "task_id"
- name: "Einen Method Parameter abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_method_parameter:
parameter: "invoice"
- name: "Die vollständige Liste von Objekten abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_object_names: yes
- name: "Die Liste der Method Parameter abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_method_parameters: yes
register: method_params
- name: "Die Liste der State Vars abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_state_var_names: yes
- name: "Die vollständige Liste der Objektattributnamen abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_object_attribute_names:
object: "root"
- name: "Ein Attribut setzen"
manageiq_automate:
workspace: "{{ workspace }}"
set_attribute:
object: "root"
attribute: "my_name"
value: "jim"
register: workspace
- name: "Attribute setzen"
manageiq_automate:
workspace: "{{ workspace }}"
set_attributes:
object: "root"
attributes:
family_name: "timmer"
eldest_son: "reed"
youngest_son: "olaf"
register: workspace
- name: Attribut von einem Objekt entschlüsseln
manageiq_automate:
workspace: "{{ workspace }}"
get_decrypted_attribute:
object: root
attribute: fred
register: decrypted_attribute
- debug: msg=decrypted_attribute
- name: Einen Method Parameter von einem Objekt entschlüsseln
manageiq_automate:
workspace: "{{ workspace }}"
get_decrypted_method_parameter:
attribute: fred
- name: Ein Attribut eines Objekts verschlüsseln
manageiq_automate:
workspace: "{{ workspace }}"
set_encrypted_attribute:
object: root
attribute: freddy
value: 'smartvm'
- name: Ein vmdb Objekt abrufen
manageiq_automate:
workspace: "{{ workspace }}"
get_vmdb_object:
object: root
attribute: miq_group
Ein Beispiel, das die Verwendung von Variablen ersetzt, um einige Objektattribute mit übergebenen method_parameters
zu ändern und den Retry zu ändern.
- name: Method Parameters in ein Objekt siphon
hosts: localhost
connection: local
vars:
- auto_commit: True
- object: root
- interval: 600
# Nur nötig, wenn dieses Playbook NICHT auf einem ManageIQ Appliance ausgeführt wird
- manageiq_connection:
url: 'http://localhost:3000'
username: 'admin'
password: 'password'
automate_workspace: 'automate_workspaces/1234'
manageiq_validate_certs: false
gather_facts: False
roles:
- manageiq.manageiq_automate
tasks:
- name: "Die Liste der Method Parameter abrufen"
manageiq_automate:
workspace: "{{ workspace }}"
get_method_parameters: yes
register: method_params
- name: "Attribute setzen"
manageiq_automate:
workspace: "{{ workspace }}"
set_attributes:
object: "{{ object }}"
attributes: "{{ method_params.value }}"
- name: Retry setzen
manageiq_automate:
workspace: "{{ workspace }}"
set_retry:
interval: "{{ interval }}"
Lizenz
Apache
Ansible role to modify the ManageIQ automate workspace
ansible-galaxy install manageiq.manageiq_automate