|
1 | | -# Usage for NGINX Declarative API v5.3 |
| 1 | +# Usage for NGINX Declarative API v5.5 |
2 | 2 |
|
3 | | -Version 5.3 supports: |
| 3 | +Version 5.5 supports: |
4 | 4 |
|
5 | | -- [NGINX Instance Manager](https://docs.nginx.com/nginx-management-suite/nim/) 2.14+. Version 2.18+ is required for NGINX R33 and above |
6 | | -- [NGINX One Console](https://docs.nginx.com/nginx-one/) |
7 | | -- [NGINX Plus](https://docs.nginx.com/nginx/) R31+ |
8 | | -- [NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf/) v4 or v5 with precompiled [policy bundles](https://docs.nginx.com/nginx-app-protect-waf/v5/admin-guide/compiler/) |
| 5 | +- [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager/ 2.20+ |
| 6 | +- [NGINX One Console](https://docs.nginx.com/nginx-one-console/) |
| 7 | +- [NGINX Plus](https://docs.nginx.com/nginx/) R33+ |
| 8 | +- [F5 WAF for NGINX](https://docs.nginx.com/waf/) with precompiled [policy bundles](https://docs.nginx.com/nginx-app-protect-waf/v5/admin-guide/compiler/) |
9 | 9 |
|
10 | 10 | The JSON schema is self explanatory. See also the [sample Postman collection](/contrib/postman) for usage examples |
11 | 11 |
|
12 | 12 | - `.output.license` defines the JWT license to use for NGINX Plus R33+ |
13 | | - - `.output.license.endpoint` the usage reporting endpoint (defaults to `product.connect.nginx.com`). NGINX Instance Manager address can be used here |
| 13 | + - `.output.license.endpoint` the usage reporting endpoint (defaults to `product.connect.nginx.com`). NGINX Instance Manager address or FQDN can be used here |
14 | 14 | - `.output.license.token` the JWT license token. If this field is omitted, it is assumed that a `/etc/nginx/license.jwt` token already exists on the instance and it won't be replaced |
15 | 15 | - `.output.license.ssl_verify` set to `false` to trust all SSL certificates (not recommended). Useful for reporting to NGINX Instance Manager without a local PKI. |
16 | 16 | - `.output.license.grace_period` Set to 'true' to begin the 180-day reporting enforcement grace period. Reporting must begin or resume before the end of the grace period to ensure continued operation |
| 17 | + - `.output.license.proxy` The optional explicit forward proxy `IP_address:port` or `FQDN:port` for usage reporting |
| 18 | + - `.output.license.proxy_username` The optional explicit forward proxy authentication username for usage reporting |
| 19 | + - `.output.license.proxy_password` The optional explicit forward proxy authentication password for usage reporting |
17 | 20 | - `.output.type` defines how NGINX configuration will be returned: |
18 | 21 | - *nms* - NGINX configuration is published as a Staged Config to NGINX Instance Manager |
19 | 22 | - `.output.nms.url` the NGINX Instance Manager URL |
@@ -48,29 +51,20 @@ The JSON schema is self explanatory. See also the [sample Postman collection](/c |
48 | 51 | - `.output.nginxone.certificates[].type` the item type ('certificate', 'key', 'chain') |
49 | 52 | - `.output.nginxone.certificates[].name` the certificate/key/chain name with no path/extension (ie. 'test-application') |
50 | 53 | - `.output.nginxone.certificates[].contents` the content: this can be either base64-encoded or be a HTTP(S) URL that will be fetched dynamically from a source of truth |
51 | | - - `.output.nginxone.policies[]` an optional array of NGINX App Protect security policies |
52 | | - - `.output.nginxone.policies[].type` the policy type ('app_protect') |
53 | | - - `.output.nginxone.policies[].name` the policy name (ie. 'prod-policy') |
54 | | - - `.output.nginxone.policies[].active_tag` the policy tag to enable among all available versions (ie. 'v1') |
55 | | - - `.output.nginxone.policies[].versions[]` array with all available policy versions |
56 | | - - `.output.nginxone.policies[].versions[].tag` the policy version's tag name |
57 | | - - `.output.nginxone.policies[].versions[].displayName` the policy version's display name |
58 | | - - `.output.nginxone.policies[].versions[].description` the policy version's description |
59 | | - - `.output.nginxone.policies[].versions[].contents` this can be either base64-encoded or be a HTTP(S) URL that will be fetched dynamically from a source of truth |
60 | 54 | - `.declaration` describes the NGINX configuration to be created |
61 | 55 | - `.declaration.http[]` NGINX HTTP definitions |
62 | 56 | - `.declaration.layer4[]` NGINX TCP/UDP definitions |
63 | 57 | - `.declaration.resolvers[]` DNS resolvers definitions |
64 | 58 |
|
65 | 59 | ### API endpoints |
66 | 60 |
|
67 | | -- `POST /v5.3/config/` - Publish a new declaration |
68 | | -- `PATCH /v5.3/config/{config_uid}` - Update an existing declaration |
| 61 | +- `POST /v5.5/config/` - Publish a new declaration |
| 62 | +- `PATCH /v5.5/config/{config_uid}` - Update an existing declaration |
69 | 63 | - Per-HTTP server CRUD |
70 | 64 | - Per-HTTP upstream CRUD |
71 | 65 | - Per-Stream server CRUD |
72 | 66 | - Per-Stream upstream CRUD |
73 | 67 | - Per-NGINX App Protect WAF policy CRUD |
74 | | -- `GET /v5.3/config/{configUid}/submission/{submissionUid}` - Retrieve a submission (asynchronous `PATCH` request) status |
75 | | -- `GET /v5.3/config/{config_uid}` - Retrieve an existing declaration |
76 | | -- `DELETE /v5.3/config/{config_uid}` - Delete an existing declaration |
| 68 | +- `GET /v5.5/config/{configUid}/submission/{submissionUid}` - Retrieve a submission (asynchronous `PATCH` request) status |
| 69 | +- `GET /v5.5/config/{config_uid}` - Retrieve an existing declaration |
| 70 | +- `DELETE /v5.5/config/{config_uid}` - Delete an existing declaration |
0 commit comments