manageiq.manageiq_vmdb
manageiq.manageiq_vmdb
https://galaxy.ansible.com/manageiq/manageiq_vmdb
Le rôle manageiq_vmdb
permet aux utilisateurs de ManageIQ de modifier et/ou de changer des objets VMDB via un Playbook Ansible. Ce rôle inclut un module manageiq_vmdb
qui effectue tout le travail nécessaire pour modifier ou changer des objets dans la base de données.
Exigences
ManageIQ doit être Gaprindashvili (version G) ou supérieure.
L'exemple de playbook utilise le module manageiq_vmdb
, qui est également inclus dans ce rôle.
Si vous souhaitez inclure ce rôle dans Ansible Tower ou Embedded Ansible, ajoutez simplement un répertoire roles
vide à la racine de votre playbook et incluez un fichier requirements.yml
avec le contenu suivant dans ce répertoire :
---
- source: manageiq.manageiq_vmdb
Variables de rôle
Validation des certificats :
manageiq_validate_certs
est défini par défaut sur True
.
S'il est réglé sur False
dans le dictionnaire manageiq_connection
,
la recherche permettra l'utilisation de certificats auto-signés
lors de l'utilisation d'URL de connexion API REST SSL.
ManageIQ :
manageiq_connection
est un dictionnaire avec des clés par défaut de connexion.
L'utilisation de ces informations de connexion n'est NÉCESSAIRE que si le rôle est utilisé en dehors d'un
appareil ManageIQ. Un appareil ManageIQ transmet manageiq_connection
via extra_vars
, donc les informations
de connexion sont incluses automatiquement.
N'oubliez pas d'utiliser Ansible Vault pour les mots de passe.
manageiq_connection:
url: 'http://localhost:3000'
username: 'admin'
password: 'password'
manageiq_validate_certs: false
Dépendances
Aucune
Exemple de Playbook
Un exemple qui provisionne une VM sur EC2. Le playbook
lien cette VM à un service dans le VMDB de ManageIQ en utilisant le
module manageiq_vmdb
.
L'exemple montre deux façons de passer
l'objet VMDB au module, soit via un slug href ou
via une variable.
- name: Lier des VM à un service existant
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
# Nécessaire seulement si ce playbook N'EST PAS exécuté sur un appareil ManageIQ
- manageiq_connection:
url: 'https://localhost.ssl:3000'
username: 'admin'
password: 'smartvm'
manageiq_validate_certs: false
roles:
- manageiq.manageiq_vmdb
tasks:
- name: Obtenir un objet vmdb
manageiq_vmdb:
href: "services/80"
register: vmdb_object
- name: Créer une instance Ec2
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: Liaison de service via un slug href
manageiq_vmdb:
href: "href_slug::services/80"
action: add_provider_vms
data:
uid_ems:
- "{{ ec2.instances[0].id }}"
provider:
id: 24
- name: Liaison de service via un objet
manageiq_vmdb:
vmdb: "{{ vmdb_object }}"
action: add_provider_vms
data:
uid_ems:
- "asdf234"
provider:
id: 24
Licence
Apache
Ansible role to query and modify ManageIQ vmdb objects
ansible-galaxy install manageiq.manageiq_vmdb