Verwenden Sie APIs, um ein vorhandenes Konfigurationspaket zu aktualisieren
Sie können die StyleBook-API verwenden, um die vorhandenen Konfigurationspakete in NetScaler Console zu aktualisieren.
PUT: https://<ADM-endpoint-name>/stylebook/nitro/v2/config/configpacks/<configpack-ID>?mode=async
Payload:
{
"configpack": {
"stylebook": {
"name": "waf-adv",
"namespace": "com.citrix.adc.stylebooks",
"version": "1.3"
},
"parameters": {
"name": "TestApp1",
"lbname": "my-lbv",
"waf-settings": {
"rule": "true",
"type": [
"HTML"
],
"profile-settings": {
"logeverypolicyhit": false,
"enablesignatures": {
"signaturename": "waf-sign1"
},
"sqlinjection-settings": {
"sqlinjectionaction": [
"log",
"stats"
],
"sqlinjection-default-settings": {
"sqlinjectiontransformspecialchars": true,
"sqlinjectionchecksqlwildchars": true,
"sqlinjectiontype": "SQLSplCharANDKeyword",
"sqlinjectionparsecomments": "checkall",
"sqlinjectiongrammar": "OFF"
}
},
"bufferoverflow-settings": {
"bufferoverflowaction": [
"log"
],
"bufferoverflowmaxurllength": "2048",
"bufferoverflowmaxheaderlength": "4096",
"bufferoverflowmaxcookielength": "4096",
"bufferoverflowmaxquerylength": "65535",
"bufferoverflowmaxtotalheaderlength": "65535"
}
}
}
},
"targets": [
{
"instance_id": "1b322685-3b23-4111-a9ce-56dd1c659e4c"
}
]
}
}
<!--NeedCopy-->
Ein HTTP-Status 202 und ein Antworttext mit einer Job-ID werden zurückgegeben. Sie können die Job-ID verwenden, um den Status des Aktualisierungsvorgangs zu verfolgen:
{
"job": {
"job_id": "1092579455"
}
}
<!--NeedCopy-->
Sie können diese Job-ID (in diesem Beispiel 1092579455) mithilfe der API zur Stellenabfrage verfolgen:
GET: https://<ADM-endpoint-name>/stylebook/nitro/v2/config/jobs/1092579455
Der Aktualisierungsvorgang ist erfolgreich abgeschlossen, wenn die Antwort den Status “completed” enthält. Jeder andere Wert in diesem Feld weist auf einen Fehler des Aktualisierungsauftrags hin. Die Ursache des Fehlers ist im Objekt progress_info verfügbar.
{
"job": {
"job_id": "4268148987",
"status": "completed",
"progress_info": [
{
"is_last": "false",
"message": "Validated the parameters",
"status": "success"
},
{
"is_last": "false",
"message": "Configuration audit completed",
"status": "success"
},
{
"is_last": "false",
"message": "Computed configuration objects",
"status": "success"
},
{
"is_last": "false",
"message": "Prepared objects for applying configuration on 192.168.153.165",
"status": "success"
},
{
"is_last": "false",
"message": "Retrieved existing data for updatable objects on instance 192.168.153.165",
"status": "success"
},
{
"is_last": "false",
"message": "Applied configuration on instance 192.168.153.165",
"status": "success"
},
{
"is_last": "false",
"message": "Retrieved data for configuration audit on instance 192.168.153.165",
"status": "success"
},
{
"is_last": "false",
"message": "Logged out from instance 192.168.153.165",
"status": "success"
},
{
"is_last": "true",
"message": "Saved configpack.",
"status": "completed"
}
],
"result": {
"status": "completed",
"id": "4268148987",
"config_key": "4268148987",
"created_by": "nsroot",
"created_datetime": "2023-01-20 18:57:58.985435",
"created_datetimestamp": "2023-01-20 18:57:58",
"last_modified_by": "nsroot",
"last_modified_datetime": "2023-01-20 19:00:32",
"name": "sample-dns-stylebook",
"namespace": "com.citrix.adc.tests",
"version": "1.0"
}
}
}
<!--NeedCopy-->
Verwenden Sie APIs, um Zielinstanzen zu aktualisieren
Ändern Sie in der Nutzlast des Update-Konfigurationspakets den Abschnitt targets
, um eine NetScaler-Instanz hinzuzufügen, zu entfernen oder zu ersetzen.
Beispiel:
Im folgenden Beispiel wird das Objekt targets
in der Nutzlast geändert, um der Konfiguration einen neuen Ziel-NetScaler hinzuzufügen:
{
"targets": [
{
"instance_id": "<Existing-ADC-instance-ID>"
},
{
"instance_id": "<New-ADC-instance-ID>"
}
],
}
<!--NeedCopy-->
Wenn das Update erfolgreich ist, wird die Konfiguration auf der neuen NetScaler-Instanz bereitgestellt. Das Ändern der Ziele einer Konfiguration ist nützlich, wenn Sie Anwendungskonfigurationen zwischen NetScalern verschieben möchten. Ändern Sie das Objekt targets
beispielsweise, wenn ein NetScaler zur Wartung aus einer Konfiguration entfernt werden muss.
Hinweis
Verwenden Sie ein leeres Objekt
targets
, um eine Konfiguration aus allen aktuellen Zielinstanzen zu entfernen. Die NetScaler Console-Konfiguration wird beibehalten, aber sie wird aus allen NetScalern entfernt, auf denen sie zuvor bereitgestellt wurde. Sie können die Konfiguration erneut aktualisieren, um bei Bedarf ein oder mehrere Ziele anzugeben.
Das folgende API-Beispiel entfernt die Konfiguration aus all ihren vorhandenen Zielen:
PUT: https://<ADM-endpoint-name>/stylebook/nitro/v2/config/configpacks/<configpack-ID>?mode=async
Payload:
{
"configpack": {
"stylebook": {
"name": "waf-adv",
"namespace": "com.citrix.adc.stylebooks",
"version": "1.3"
},
"parameters": {
"name": "TestApp1",
"lbname": "my-lbv",
"waf-settings": {
"rule": "true",
"type": [
"HTML"
],
"profile-settings": {
"logeverypolicyhit": false,
"enablesignatures": {
"signaturename": "waf-sign1"
},
"sqlinjection-settings": {
"sqlinjectionaction": [
"log",
"stats"
],
"sqlinjection-default-settings": {
"sqlinjectiontransformspecialchars": true,
"sqlinjectionchecksqlwildchars": true,
"sqlinjectiontype": "SQLSplCharANDKeyword",
"sqlinjectionparsecomments": "checkall",
"sqlinjectiongrammar": "OFF"
}
},
"bufferoverflow-settings": {
"bufferoverflowaction": [
"log"
],
"bufferoverflowmaxurllength": "2048",
"bufferoverflowmaxheaderlength": "4096",
"bufferoverflowmaxcookielength": "4096",
"bufferoverflowmaxquerylength": "65535",
"bufferoverflowmaxtotalheaderlength": "65535"
}
}
}
},
"targets": []
}
}
<!--NeedCopy-->