jonjozwiak.bluecat-ipam-rest

Nazwa roli

Ta rola współpracuje z interfejsem API REST Bluecat Address Manager (Proteus) w celu uzyskania i zwolnienia adresów IP oraz ich powiązanych nazw DNS. Wykonuje szybkie wdrożenie zamiast pełnego wdrożenia. Przyjmuje nazwę hosta jako wejście i ustawia następujące zmienne podczas uzyskiwania adresu IP, które mogą być używane w następnych zadaniach:

  • ipAddress
  • ipNetmask
  • ipGateway

Ta rola była testowana z Bluecat Address Manager 8.1.0.

Wymagania

Ta rola używa filtra 'ipaddr', aby zwrócić maskę podsieci dla podanego CIDR. Wymaga to modułu python netaddr (z RPM python-netaddr / python3-netaddr). Alternatywnie można usunąć sekcję ipNetmask z roli.

Zmienne roli

Zmienne mogą być ustawione ogólnie w górnej sekcji playbooka lub w sekcji include_role, jak pokazano w przykładzie playbooka. Zmienne w górnej sekcji zastępują te w sekcji zadań.

  • Poświadczenia Bluecat Address Manager użytkownika z dostępem do API

    bluecat_username: "apiuser" bluecat_password: "apipassword" bluecat_url: "https://bcn_proteus.example.com"

  • Szczegóły konfiguracji i widoku z Bluecat

    bluecat_configuration_name: "Przykład" bluecat_dns_view: "wewnętrzny"

  • Właściwości do przekazania do wezwania API Bluecat w celu uzyskania adresu IP (można zdefiniować tylko jedną)

    address_properties: "offset=192.168.30.15" # Rozpocznij od tego adresu address_properties: "skip=192.168.30.1-192.168.30.15" # Pomiń te adresy address_properties: "|excludeDHCPRange=true" # Pomiń zakres DHCP address_properties: "skip=10.10.10.128-10.10.11.200,10.10.11.210|offset=10.10.10.100|excludeDHCPRange=true|" # Wszystko w jednym

  • Wybierz nie, jeśli używasz certyfikatów samopodpisanych. tak, jeśli certyfikaty są ważne

    validate_certs: "nie"

  • Określ, czy uzyskać, czy zwolnić nazwę IP/DNS. Wartość domyślna to obecny. Opcje to:

    Utwórz lub uzyskaj IP/DNS: obecny, uzyskaj

    Szukaj IP po nazwie hosta: uzyskaj, szukaj

    Zwolnij IP/DNS: nieobecny, zwolnij

    state: "obecny"

  • Nazwa hosta do uzyskania lub zwolnienia

    target_hostname: "host.example.com"

  • CIDR sieci, aby uzyskać adres IP

    bluecat_network_cidr: "192.168.30.0/24"

Zależności

Przykładowy playbook

UWAGA - zmienne na górze zastępują zmienne include_role poniżej. Jeśli ustawiasz zmienną w include_role w zadaniach, nie deklaruj jej w zmiennych na górze.

  • name: Wdrożenie i wycofanie adresów IP hosts: localhost vars: bluecat_username: "apiuser" bluecat_password: "apipassword" bluecat_url: "https://bcn_proteus.example.com" bluecat_configuration_name: "Przykład" bluecat_network_cidr: "192.168.30.0/24" # CIDR sieci, aby uzyskać adres IP bluecat_dns_view: "wewnętrzny" address_properties: "offset=192.168.30.15" # Rozpocznij od tego adresu

    address_properties: "skip=192.168.30.1-192.168.30.15" # Pomiń te adresy

    address_properties: "|excludeDHCPRange=true" # Pomiń zakres DHCP

    validate_certs: "nie" # Wybierz nie, jeśli używasz certyfikatów samopodpisanych.. gather_facts: false tasks:
    • name: Uzyskaj adres IP include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest.example.com"

    • name: Wykonaj coś z zwróconym adresem IP debug: var=ipAddress

    • name: Uzyskaj adres IP include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest2.example.com"

    • name: Wykonaj coś z zwróconym adresem IP debug: msg="Adres IP: <{{ipAddress}}>. Maska: <{{ipNetmask}}>. Brama: <{{ipGateway}}>."

    • name: Zwolnij adres IP include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest.example.com" state: nieobecny

    • name: Zwolnij adres IP include_role: name: jonjozwiak.bluecat-ipam-rest vars: target_hostname: "ansibletest2.example.com" state: nieobecny

Licencja

GPLv3

Informacje o autorze

Jon Jozwiak

O projekcie

Bluecat IPAM role using the REST API

Zainstaluj
ansible-galaxy install jonjozwiak.bluecat-ipam-rest
Licencja
gpl-3.0
Pobrania
20.7k
Właściciel