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

Über das Projekt

Ansible role to modify the ManageIQ automate workspace

Installieren
ansible-galaxy install manageiq.manageiq_automate
Lizenz
apache-2.0
Downloads
3k
Besitzer
ManageIQ Open-Source Management Platform