f5devcentral.atc_deploy
Ansible Rolle: F5 Automatisierungstool-Kette (ATC) Bereitstellungserklärung
Diese Rolle stellt Deklarationen für installierte Automatisierungstool-Ketten-Dienste (AS3, DO, TS) auf Ihrem BIG-IP oder (AS3, DO) auf Ihrem BIG-IQ bereit. Sie würden diese Rolle nutzen, um Deklarationen an die folgenden BIG-IP oder BIG-IQ Automatisierungstool-Ketten-Dienste zu senden: Application Services 3 Erweiterung, deklaratives Onboarding oder Telemetrie-Streaming (nur BIG-IP). Informationen zu diesen Diensten sowie Beispiel-Deklarationen sind auf f5-cloud-docs verfügbar.
- Hinweis: Diese Rolle bestimmt, welchen Dienst sie verwenden soll, basierend auf der referenzierten Deklaration, die die Dienstklasse enthalten sollte. Zum Beispiel enthalten AS3-Deklarationen einen Dienstzeiger mit dem Schlüssel "class": mit dem Wert "AS3" in der als JSON deklarierten Datei Beispiel. Stellen Sie sicher, dass Sie die Dienstzeiger zu Beginn Ihrer Deklaration definieren.
Anforderungen
Der entsprechende ATC-Dienst muss auf BIG-IP oder BIG-IQ installiert sein, bevor Sie die Deklaration bereitstellen.
Rollenvariablen
Die verfügbaren Variablen sind unten aufgelistet. Für ihre Standardwerte siehe defaults/main.yml
:
Variable | Erforderlich | Standard | Beispiel | Info |
---|---|---|---|---|
provider | ja | - | provider: "{{ provider }}" | Das provider-Dictionary wird in der Rolle verwendet, um Verbindungsdetails zu BIG-IP auf die gleiche Weise wie bei F5-Modulen zu definieren. |
atc_method | nein | GET | atc_method: GET | |
atc_declaration | ja | - | atc_declaration: "{{ lookup('template', 'decl.json') }}" | Ausschließlich mit atc_declaration_file und atc_declaration_url vereinbar. |
atc_declaration_file | ja | - | atc_declaration_file: "files/decl.json" | Ausschließlich mit atc_declaration und atc_declaration_url vereinbar. |
atc_declaration_url | ja | - | atc_declaration_url: "https://testurl/as3.json" | Ausschließlich mit atc_declaration und atc_declaration_file vereinbar. |
atc_service | nein | - | atc_service: AS3 | |
atc_delay | ja | 30 | atc_delay: 30 | Sekunden zwischen Wiederholungen, wenn überprüft wird, ob ein Async-Aufruf abgeschlossen ist. |
atc_retries | ja | 10 | atc_retries: 10 | Anzahl der Male, die die Rolle nach einer abgeschlossenen Aufgabe sucht, bevor sie fehlschlägt. |
as3_tenant | nein | - | as3_tenant: Tenant1 | Ab AS3 3.14.0 haben Sie die Möglichkeit, POST an den /declare-Endpunkt mit einem bestimmten Mandanten in der URI zu verwenden (zum Beispiel …/declare/tenant1). Dies aktualisiert nur den angegebenen Mandanten, auch wenn in der Deklaration noch andere Mandanten vorhanden sind. Dies kann in bestimmten Automatisierungsszenarien mit AS3 nützlich sein. |
as3_show | ja | base | as3_show: base | Sie können die folgenden URL-Abfrageparameter für POST, GET oder DELETE verwenden. Erforderlich base bedeutet dass das System die Deklaration wie ursprünglich bereitgestellt zurückgibt (aber mit geheimen Passwörtern wie Passphrasen verschlüsselt); "full" gibt die Deklaration mit allen Standard-Schema-Eigenschaften zurück; "expanded" umfasst alle URLs, Base64-Codierungen und andere Referenzen, die auf ihre endgültigen statischen Werte erweitert werden. |
as3_showhash | nein | - | as3_showhash: true | Sie können die folgenden URL-Abfrageparameter für POST verwenden (Hinweis: showHash für POST wurde in AS3 3.14.0 eingeführt und funktioniert nur auf 3.14.0 und später): Dies wurde als Schutzmechanismus für Mandanten in einer Deklaration eingeführt (früher mussten Sie eine separate GET-Anfrage verwenden, um den optimistischen Lock abzurufen). Wenn Sie „showHash=true“ setzen, sind die Ergebnisse ein optimistischer Lock-Schlüssel für jeden Mandanten. Versuche, einen der Mandanten ohne den richtigen optimistischen Lock-Schlüssel zu ändern oder zu aktualisieren, werden fehlschlagen. |
check_teem | ja | true | check_teem: true | Aktualisiert die AS3-Deklaration, um die Ansible-Version für Telemetrie einzuschließen. |
Abhängigkeiten
Keine.
Beispiele
GET AT Erklärung
- name: GET AT Erklärung
hosts: bigip
tasks:
- name: ATC GET
include_role:
name: atc_deploy
vars:
atc_method: GET
# Wählen Sie den Dienst als AS3, Gerät oder Telemetrie aus
atc_service: AS3
provider:
server: 192.168.1.245
server_port: "443"
user: admin
password: admin
validate_certs: "false"
auth_provider: tmos
- debug: var=atc_GET_status
POST AT Erklärung
- name: POST AT Erklärung
hosts: bigip
tasks:
- name: ATC POST
include_role:
name: atc_deploy
vars:
atc_method: POST
atc_declaration: "{{ lookup('template', 'decl.json') }}"
# atc_declaration_file: files/as3.json
# atc_declaration_url: "https://testurl/as3.json"
atc_declaration_file: "files/as3.json"
atc_delay: 10
atc_retries: 5
provider:
server: 192.168.1.245
server_port: "443"
user: admin
password: admin
validate_certs: "false"
auth_provider: tmos
# atc_AS3_status, atc_DO_status , atc_TS_status
- debug: var=atc_AS3_status
Lizenz
Apache
Autorinformationen
Diese Rolle wurde 2019 von Greg Crosby erstellt.
Dank
Ein besonderer Dank geht an Vinnie Mazza (@vinnie357) für die Beispiele des Ansible Playbooks.
Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)
ansible-galaxy install f5devcentral.atc_deploy