manageiq.manageiq_vmdb
manageiq.manageiq_vmdb
https://galaxy.ansible.com/manageiq/manageiq_vmdb
Die manageiq_vmdb
Rolle ermöglicht es Benutzern von ManageIQ, VMDB-Objekte über ein Ansible Playbook zu ändern oder zu bearbeiten. Die Rolle enthält ein Modul manageiq_vmdb
, das alle erforderlichen Aufgaben zur Bearbeitung oder Änderung von Objekten in der Datenbank übernimmt.
Anforderungen
ManageIQ muss die Gaprindashvili-Version (G Release) oder höher haben.
Das Beispiel-Playbook verwendet das manageiq_vmdb
Modul, das ebenfalls Teil dieser Rolle ist.
Wenn Sie diese Rolle in Ansible Tower oder Embedded Ansible einfügen möchten, fügen Sie einfach ein leeres roles
-Verzeichnis im Stammverzeichnis Ihres Playbooks hinzu und erstellen Sie eine requirements.yml
-Datei mit dem folgenden Inhalt in diesem Verzeichnis:
---
- source: manageiq.manageiq_vmdb
Rollenvariablen
Zertifikate validieren:
manageiq_validate_certs
hat standardmäßig den Wert True
.
Wenn es in dem manageiq_connection
-Datenfeld auf False
gesetzt wird,
dürfen selbstsignierte Zertifikate bei der Verwendung von SSL-REST-API-URLs verwendet werden.
ManageIQ:
manageiq_connection
ist ein Wörterbuch mit den Standardverbindungsinformationen.
Diese Verbindungsdaten sind NUR erforderlich, wenn die Rolle außerhalb eines ManageIQ-Appliances verwendet wird.
Eine ManageIQ-Appliance übergibt manageiq_connection
über extra_vars
, sodass die Verbindungsinformationen automatisch enthalten sind.
Denken Sie daran, Ansible Vault für Passwörter zu verwenden.
manageiq_connection:
url: 'http://localhost:3000'
username: 'admin'
password: 'password'
manageiq_validate_certs: false
Abhängigkeiten
Keine
Beispiel-Playbook
Ein Beispiel, das eine VM zu EC2 bereitstellt. Das Playbook
verlinkt diese VM mit einem Dienst in der ManageIQ VMDB mithilfe des
manageiq_vmdb
Moduls.
Das Beispiel zeigt zwei Möglichkeiten,
das VMDB-Objekt an das Modul zu übergeben, entweder über einen href-Slug oder
über eine Variable.
- name: Dienstverlinkung von VMs zu einem bestehenden Dienst
hosts: localhost
connection: local
gather_facts: False
vars:
- key: db
- name: db-test-provision-1
- instance_type: t2.nano
- security_group: sg-sdf234
- image: ami-234234lkj
- region: us-east-1
- subnet: subnet-adsf098
# Nur nötig, wenn dieses Playbook NICHT auf einer ManageIQ-Appliance ausgeführt wird
- manageiq_connection:
url: 'https://localhost.ssl:3000'
username: 'admin'
password: 'smartvm'
manageiq_validate_certs: false
roles:
- manageiq.manageiq_vmdb
tasks:
- name: Hole ein vmdb-Objekt
manageiq_vmdb:
href: "services/80"
register: vmdb_object
- name: Erstelle EC2-Instanz
ec2:
key_name: "{{ key }}"
instance_tags: {Name: "{{ name }}"}
group_id: "{{ security_group }}"
instance_type: "{{ instance_type }}"
region: "{{ region }}"
image: "{{ image }}"
wait: yes
count: 1
vpc_subnet_id: "{{ subnet }}"
assign_public_ip: yes
register: ec2
- name: Dienstverlinkung über einen href-Slug
manageiq_vmdb:
href: "href_slug::services/80"
action: add_provider_vms
data:
uid_ems:
- "{{ ec2.instances[0].id }}"
provider:
id: 24
- name: Dienstverlinkung über ein Objekt
manageiq_vmdb:
vmdb: "{{ vmdb_object }}"
action: add_provider_vms
data:
uid_ems:
- "asdf234"
provider:
id: 24
Lizenz
Apache
Ansible role to query and modify ManageIQ vmdb objects
ansible-galaxy install manageiq.manageiq_vmdb