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

Über das Projekt

Bluecat IPAM role using the REST API

Installieren
ansible-galaxy install jonjozwiak.bluecat-ipam-rest
Lizenz
gpl-3.0
Downloads
20.7k
Besitzer