Publish updates to instances
Use the F5 NGINX Instance Manager Publish API to deploy updated security configurations to your NGINX instances or instance groups. You can publish security policies, log profiles, attack signatures, bot signatures, and threat campaigns.
Call this endpoint after you’ve created or updated the resources you want to deploy.
Use tools such ascurlor Postman to send requests to the NGINX Instance Manager REST API. The API base URL ishttps://<NIM_FQDN>/api/[nim|platform]/<API_VERSION>.
All requests require authentication. For details on authentication methods, see the API overview.
| Method | Endpoint |
|---|---|
| POST | /api/platform/v1/security/publish |
Include the following details in your request body, depending on what you’re publishing:
- Instance and instance group UIDs
- Policy UID and name
- Log profile UID and name
- Attack signature library UID and version
- Bot signature library UID and version
- Threat campaign UID and version
curl -X POST https://<NIM_FQDN>/api/platform/v1/security/publish \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d @publish-request.jsonReplace <NIM_FQDN> with the fully qualified domain name (FQDN) of your NGINX Instance Manager host and <ACCESS_TOKEN> with your access token.
JSON request
{
"publications": [
{
"attackSignatureLibrary": {
"uid": "<ATTACK_SIGNATURE_LIBRARY_UID>",
"versionDateTime": "2022.10.02"
},
"botSignatureLibrary": {
"uid": "<BOT_SIGNATURE_LIBRARY_UID>",
"versionDateTime": "2022.10.03"
},
"instanceGroups": [
"<INSTANCE_GROUP_UID>"
],
"instances": [
"<INSTANCE_UID>"
],
"logProfileContent": {
"name": "default-log-profile",
"uid": "<LOG_PROFILE_UID>"
},
"policyContent": {
"name": "default-enforcement",
"uid": "<POLICY_UID>"
},
"threatCampaign": {
"uid": "<THREAT_CAMPAIGN_UID>",
"versionDateTime": "2022.10.01"
}
}
]
}Replace the placeholders as follows:
<ATTACK_SIGNATURE_LIBRARY_UID>: the unique identifier (UID) of the attack signature library<BOT_SIGNATURE_LIBRARY_UID>: the unique identifier (UID) of the bot signature library<INSTANCE_GROUP_UID>: the unique identifier (UID) of the instance group<INSTANCE_UID>: the unique identifier (UID) of the instance<LOG_PROFILE_UID>: the unique identifier (UID) of the log profile<POLICY_UID>: the unique identifier (UID) of the security policy<THREAT_CAMPAIGN_UID>: the unique identifier (UID) of the threat campaign library
JSON response
{
"deployments": [
{
"deploymentUID": "ddc781ca-15d6-46c9-86ea-e7bdb91e8dec",
"links": {
"rel": "/api/platform/v1/security/deployments/ddc781ca-15d6-46c9-86ea-e7bdb91e8dec"
},
"result": "Publish security content request Accepted"
}
]
}