jonjozwiak.bluecat-ipam-rest
Rollenname
Diese Rolle arbeitet mit der Bluecat Address Manager (Proteus) REST API, um IP-Adressen und die zugehörigen DNS-Namen zu erwerben und freizugeben. Sie führt eine schnelle Bereitstellung durch, anstelle einer vollständigen Bereitstellung. Es nimmt einen Ziel-Hostnamen als Eingabe und setzt die folgenden Variablen beim Erwerb einer IP, die in nachfolgenden Aufgaben verwendet werden können:
- ipAddress
- ipNetmask
- ipGateway
Diese Rolle wurde mit Bluecat Address Manager 8.1.0 getestet.
Anforderungen
Diese Rolle verwendet den Filter 'ipaddr', um die Subnetzmaske für die gegebene CIDR zurückzugeben. Dafür ist das Python-Modul netaddr erforderlich (aus python-netaddr / python3-netaddr RPM). Alternativ kannst du den Abschnitt ipNetmask aus der Rolle entfernen.
Rollenvariablen
Variablen können insgesamt im oberen Abschnitt eines Playbooks oder im include_role Abschnitt, wie im Beispiel-Playbook gezeigt, festgelegt werden. Variablen im oberen Abschnitt überschreiben die im Aufgabenbereich.
Bluecat Address Manager Anmeldeinformationen eines Benutzers mit API-Zugriff bluecat_username: "apiuser" bluecat_password: "apipassword" bluecat_url: "https://bcn_proteus.example.com"
Konfigurations- und Sichtdetails von Bluecat bluecat_configuration_name: "Beispiel" bluecat_dns_view: "intern"
Eigenschaften, die an den Bluecat API erwarben IP-Aufruf übergeben werden (es kann nur eine definiert werden) address_properties: "offset=192.168.30.15" # Beginne von dieser Adresse address_properties: "skip=192.168.30.1-192.168.30.15" # Diese Adressen überspringen address_properties: "|excludeDHCPRange=true" # DHCP-Bereich überspringen address_properties: "skip=10.10.10.128-10.10.11.200,10.10.11.210|offset=10.10.10.100|excludeDHCPRange=true|" # Alles in einem
Wähle "nein", wenn selbstsignierte Zertifikate verwendet werden. "ja", wenn die Zertifikate gültig sind validate_certs: "nein"
Bestimme, ob eine IP/DNS-Name erworben oder freigegeben werden soll. Standard ist vorhanden. Optionen sind:
- Erstellen oder Erwerben einer IP/DNS: vorhanden, erwerben
- IP per Hostnamen abfragen: get, nachschlagen
- IP/DNS freigeben: abwesend, freigeben state: "vorhanden"
Hostname, um zu erwerben oder freizugeben target_hostname: "host.example.com"
Die CIDR des Netzwerks, um eine IP zu erwerben bluecat_network_cidr: "192.168.30.0/24"
Abhängigkeiten
Beispiel-Playbook
HINWEIS: Variablen oben überschreiben die include_role-Variablen unten. Wenn du eine Variable im include_role in den Aufgaben festlegst, gib sie nicht oben in den Variablen an.
- name: Bereitstellen und Freigeben von IP-Adressen
hosts: localhost
vars:
bluecat_username: "apiuser"
bluecat_password: "apipassword"
bluecat_url: "https://bcn_proteus.example.com"
bluecat_configuration_name: "Beispiel"
bluecat_network_cidr: "192.168.30.0/24" # Die CIDR des Netzwerks, um eine IP zu erwerben
bluecat_dns_view: "intern"
address_properties: "offset=192.168.30.15" # Beginne von dieser Adresse
#address_properties: "skip=192.168.30.1-192.168.30.15" # Diese Adressen überspringen
#address_properties: "|excludeDHCPRange=true" # DHCP-Bereich überspringen
validate_certs: "nein" # Wähle "nein", wenn selbstsignierte Zertifikate verwendet werden.
gather_facts: false
tasks:
name: IP-Adresse abrufen include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest.example.com"
name: Mache etwas mit der zurückgegebenen IP-Adresse debug: var=ipAddress
name: IP-Adresse abrufen include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest2.example.com"
name: Mache etwas mit der zurückgegebenen IP-Adresse debug: msg="IP-Adresse: <{{ipAddress}}>. Netzmaske: <{{ipNetmask}}>. Gateway: <{{ipGateway}}>. "
name: IP-Adresse freigeben include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest.example.com" state: abwesend
name: IP-Adresse freigeben include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest2.example.com" state: abwesend
Lizenz
GPLv3
Autoreninformation
Jon Jozwiak
ansible-galaxy install jonjozwiak.bluecat-ipam-rest