manageiq.manageiq_automate
manageiq.manageiq_automate
https://galaxy.ansible.com/manageiq/manageiq_automate
Rola manageiq_automate
pozwala użytkownikom ManageIQ Automate na modyfikowanie i dodawanie do Automate Workspace za pomocą playbooka Ansible. Rola ta zawiera moduł manageiq_automate
, który wykonuje wszystkie niezbędne operacje potrzebne do modyfikacji lub zmiany Automate Workspace.
Wymagania
ManageIQ musi być w wersji Gaprindashvili lub wyższej.
Przykładowy playbook korzysta z modułu manageiq_automate
, który jest również częścią tej roli.
Jeśli chcesz użyć tej roli w Ansible Tower lub Embedded Ansible, wystarczy dodać pusty katalog roles
w głównym folderze swojego playbooka oraz dołączyć plik requirements.yml
z następującą zawartością:
---
- source: manageiq.manageiq_automate
version: v0.1.3
Zmienne Roli
Auto Commit:
auto_commit
domyślnie ma wartośćTrue
wdefaults/main.yml
.- Jeśli ustawisz ją na
False
, nie będzie automatycznie zatwierdzać zmian do ManageIQ przy każdym wywołaniu metodyset_
w modulemanageiq_automate
.
Weryfikacja Certyfikatów:
manageiq_validate_certs
domyślnie ma wartośćTrue
.- Jeśli ustawisz ją na
False
w słownikumanageiq_connection
lub przekażesz przezextra_vars
, wtedy operacje API przy użyciu SSL będą mogły korzystać z certyfikatów samopodpisanych.
ManageIQ:
manageiq_connection
to słownik z domyślnymi kluczami połączenia.- Informacje o połączeniu są potrzebne tylko wtedy, gdy rola jest używana poza urządzeniem ManageIQ.
- W urządzeniu ManageIQ,
manageiq_connection
jest przekazywane przezextra_vars
, więc informacje o połączeniu są dodawane automatycznie. - Pamiętaj, aby używać Ansible Vault do haseł.
automate_workspace
to adres URL slug i GUID potrzebny do komunikacji z Automate Workspace.
manageiq_connection:
url: 'http://localhost:3000'
username: 'admin'
password: 'password'
automate_workspace: 'automate_workspaces/1234'
manageiq_validate_certs: false
Workspace:
workspace
jest tworzony wtasks/main.yml
.- Obecna wersja workspace jest zmieniana przy użyciu metod w module
manageiq_automate
.
Zależności
Brak
Przykładowy Playbook
Rozbudowany przykład z ręcznie wprowadzonymi danymi do każdej metody modułu manageiq_automate
.
- name: Modyfikuj Automate Workspace
hosts: localhost
connection: local
gather_facts: False
vars:
- auto_commit: True
# Tylko gdy ten playbook NIE jest uruchamiany na urządzeniu ManageIQ
- 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: "Sprawdź atrybut"
manageiq_automate:
workspace: "{{ workspace }}"
attribute_exists:
object: "/ManageIQ/System/Request/call_instance"
attribute: "::miq::parent"
- name: "Pobierz atrybut"
manageiq_automate:
workspace: "{{ workspace }}"
get_attribute: object: "/ManageIQ/System/Request/call_instance"
attribute: "::miq::parent"
- name: "Sprawdź state_var"
manageiq_automate:
workspace: "{{ workspace }}"
state_var_exists:
attribute: "task_id"
- name: "Pobierz state_var"
manageiq_automate:
workspace: "{{ workspace }}"
get_state_var:
attribute: "task_id"
- name: "Ustaw state_var"
manageiq_automate:
workspace: "{{ workspace }}"
set_state_var:
attribute: "job_id"
value: "xyz"
register: workspace
- name: "Sprawdź parametr metody"
manageiq_automate:
workspace: "{{ workspace }}"
method_parameter_exists:
parameter: "task_id"
- name: "Pobierz parametr metody"
manageiq_automate:
workspace: "{{ workspace }}"
get_method_parameter:
parameter: "invoice"
- name: "Pobierz pełną listę obiektów"
manageiq_automate:
workspace: "{{ workspace }}"
get_object_names: yes
- name: "Pobierz listę parametrów metody"
manageiq_automate:
workspace: "{{ workspace }}"
get_method_parameters: yes
register: method_params
- name: "Pobierz listę state_vars"
manageiq_automate:
workspace: "{{ workspace }}"
get_state_var_names: yes
- name: "Pobierz pełną listę nazw atrybutów obiektu"
manageiq_automate:
workspace: "{{ workspace }}"
get_object_attribute_names:
object: "root"
- name: "Ustaw atrybut"
manageiq_automate:
workspace: "{{ workspace }}"
set_attribute:
object: "root"
attribute: "my_name"
value: "jim"
register: workspace
- name: "Ustaw atrybuty"
manageiq_automate:
workspace: "{{ workspace }}"
set_attributes:
object: "root"
attributes:
family_name: "timmer"
eldest_son: "reed"
youngest_son: "olaf"
register: workspace
- name: "Odszyfruj atrybut z obiektu"
manageiq_automate:
workspace: "{{ workspace }}"
get_decrypted_attribute:
object: root
attribute: fred
register: decrypted_attribute
- debug: msg=decrypted_attribute
- name: "Odszyfruj parametr metody z obiektu"
manageiq_automate:
workspace: "{{ workspace }}"
get_decrypted_method_parameter:
attribute: fred
- name: "Szyfruj atrybut obiektu"
manageiq_automate:
workspace: "{{ workspace }}"
set_encrypted_attribute:
object: root
attribute: freddy
value: 'smartvm'
- name: "Pobierz obiekt vmdb"
manageiq_automate:
workspace: "{{ workspace }}"
get_vmdb_object:
object: root
attribute: miq_group
Przykład używający substytucji zmiennych do modyfikacji niektórych atrybutów obiektu oraz zmiany interwału.
- name: Przenieś parametry metody do obiektu
hosts: localhost
connection: local
vars:
- auto_commit: True
- object: root
- interval: 600
# Tylko gdy ten playbook NIE jest uruchamiany na urządzeniu ManageIQ
- 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: "Pobierz listę parametrów metody"
manageiq_automate:
workspace: "{{ workspace }}"
get_method_parameters: yes
register: method_params
- name: "Ustaw atrybuty"
manageiq_automate:
workspace: "{{ workspace }}"
set_attributes:
object: "{{ object }}"
attributes: "{{ method_params.value }}"
- name: Ustaw Retry
manageiq_automate:
workspace: "{{ workspace }}"
set_retry:
interval: "{{ interval }}"
Licencja
Apache
Ansible role to modify the ManageIQ automate workspace
ansible-galaxy install manageiq.manageiq_automate