Mercurial > hg > nginx-site
changeset 2424:dd3ac7eefeed
Updated docs for the upcoming NGINX Plus release.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Mon, 02 Sep 2019 14:12:20 +0300 |
parents | 21f1376238b0 |
children | b64dd047de68 |
files | xml/en/docs/http/ngx_http_api_module.xml xml/en/docs/http/ngx_http_api_module_head.xml xml/en/docs/http/ngx_http_auth_jwt_module.xml xml/en/docs/http/ngx_http_core_module.xml xml/en/docs/http/ngx_http_keyval_module.xml xml/en/docs/stream/ngx_stream_keyval_module.xml xml/ru/docs/http/ngx_http_auth_jwt_module.xml xml/ru/docs/http/ngx_http_core_module.xml yaml/nginx_api.yaml yaml/yaml2xml.py |
diffstat | 10 files changed, 1095 insertions(+), 198 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/en/docs/http/ngx_http_api_module.xml +++ b/xml/en/docs/http/ngx_http_api_module.xml @@ -101,21 +101,21 @@ All API requests include a supported API <link id="api_version">version</link> in the URI. Examples of API requests with this configuration: <example> -http://127.0.0.1/api/4/ -http://127.0.0.1/api/4/nginx -http://127.0.0.1/api/4/connections -http://127.0.0.1/api/4/http/requests -http://127.0.0.1/api/4/http/server_zones/server_backend -http://127.0.0.1/api/4/http/caches/cache_backend -http://127.0.0.1/api/4/http/upstreams/backend -http://127.0.0.1/api/4/http/upstreams/backend/servers/ -http://127.0.0.1/api/4/http/upstreams/backend/servers/1 -http://127.0.0.1/api/4/http/keyvals/one?key=arg1 -http://127.0.0.1/api/4/stream/ -http://127.0.0.1/api/4/stream/server_zones/server_backend -http://127.0.0.1/api/4/stream/upstreams/ -http://127.0.0.1/api/4/stream/upstreams/backend -http://127.0.0.1/api/4/stream/upstreams/backend/servers/1 +http://127.0.0.1/api/5/ +http://127.0.0.1/api/5/nginx +http://127.0.0.1/api/5/connections +http://127.0.0.1/api/5/http/requests +http://127.0.0.1/api/5/http/server_zones/server_backend +http://127.0.0.1/api/5/http/caches/cache_backend +http://127.0.0.1/api/5/http/upstreams/backend +http://127.0.0.1/api/5/http/upstreams/backend/servers/ +http://127.0.0.1/api/5/http/upstreams/backend/servers/1 +http://127.0.0.1/api/5/http/keyvals/one?key=arg1 +http://127.0.0.1/api/5/stream/ +http://127.0.0.1/api/5/stream/server_zones/server_backend +http://127.0.0.1/api/5/stream/upstreams/ +http://127.0.0.1/api/5/stream/upstreams/backend +http://127.0.0.1/api/5/stream/upstreams/backend/servers/1 </example> </para> @@ -146,14 +146,14 @@ By default, the API is read-only. All API requests should contain a supported API version in the URI. If the request URI equals the location prefix, the list of supported API versions is returned. -The current API version is “<literal>4</literal>”. +The current API version is “<literal>5</literal>”. </para> <para> The optional “<literal>fields</literal>” argument in the request line specifies which fields of the requested objects will be output: <example> -http://127.0.0.1/api/4/nginx?fields=version,build +http://127.0.0.1/api/5/nginx?fields=version,build </example> </para> @@ -164,6 +164,8 @@ http://127.0.0.1/api/4/nginx?fields=vers <syntax><value>zone</value></syntax> <default/> <context>server</context> +<context>location</context> +<context>if in location</context> <appeared-in>1.13.12</appeared-in> <para> @@ -175,6 +177,18 @@ server status information in the specifi Several servers may share the same zone. </para> +<para id="status_zone_location"> +Starting from 1.17.0, status information can be collected +per <link doc="ngx_http_core_module.xml" id="location"/>. +The special value <literal>off</literal> disables statistics collection +in nested location blocks. +Note that the statistics is collected +in the context of a location where processing ends. +It may be different from the original location, if an +<link doc="ngx_http_core_module.xml" id="internal">internal +redirect</link> happens during request processing. +</para> + </directive> </section> @@ -185,6 +199,24 @@ Several servers may share the same zone. <list type="bullet"> <listitem> +The “<literal>expire</literal>” parameter of a +<link doc="ngx_http_keyval_module.xml">key-value</link> pair can be +<link id="postHttpKeyvalZoneData">set</link> or +<link id="patchHttpKeyvalZoneKeyValue">changed</link> +since <link id="api_version">version</link> 5. +</listitem> + +<listitem> +The <link id="resolvers_">/resolvers/</link> data +were added in <link id="api_version">version</link> 5. +</listitem> + +<listitem> +The <link id="http_location_zones_">/http/location_zones/</link> data +were added in <link id="api_version">version</link> 5. +</listitem> + +<listitem> The <literal>path</literal> and <literal>method</literal> fields of <link id="def_nginx_error">nginx error object</link> were removed in <link id="api_version">version</link> 4. @@ -324,43 +356,6 @@ Possible responses: </listitem> </list> </tag-desc> -<tag-name id="ssl" name="/ssl"> -<literal>/ssl</literal> -</tag-name> -<tag-desc> -<para>Supported methods:</para> -<list type="bullet" compact="yes"> -<listitem id="getSsl"> -<literal>GET</literal> - Return SSL statistics -<para>Returns SSL statistics.</para> -<para> -Request parameters: -<list type="tag"> -<tag-name><literal>fields</literal> -(<literal>string</literal>, optional)</tag-name> -<tag-desc> -Limits which fields of SSL statistics will be output.</tag-desc> -</list> -</para> -<para> -Possible responses: -</para> -<list type="bullet"> -<listitem>200 - Success, returns <link id="def_nginx_ssl_object">SSL</link></listitem> -</list> -</listitem> -<listitem id="deleteSslStat"> -<literal>DELETE</literal> - Reset SSL statistics -<para>Resets counters of SSL handshakes and session reuses.</para> -<para> -Possible responses: -</para> -<list type="bullet"> -<listitem>204 - Success</listitem> -</list> -</listitem> -</list> -</tag-desc> <tag-name id="slabs_" name="/slabs/"> <literal>/slabs/</literal> </tag-name> @@ -376,14 +371,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -Limits which fields of slab zones will be output. If the “<literal>fields</literal>” value is empty, then only zone names are output.</tag-desc> +Limits which fields of slab zones will be output. If the “<literal>fields</literal>” value is empty, then only zone names will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_slab_zone">Shared memory zone with slab allocator</link>" objects for all slabs </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_slab_zone">Shared memory zone with slab allocator</link>" objects for all slabs</listitem> </list> </listitem> </list> @@ -506,14 +501,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -Limits which fields of server zones will be output. If the “<literal>fields</literal>” value is empty, then only server zone names are output.</tag-desc> +Limits which fields of server zones will be output. If the “<literal>fields</literal>” value is empty, then only server zone names will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_server_zone">HTTP Server Zone</link>" objects for all http server zones </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_server_zone">HTTP Server Zone</link>" objects for all HTTP server zones</listitem> </list> </listitem> </list> @@ -565,6 +560,80 @@ Possible responses: </listitem> </list> </tag-desc> +<tag-name id="http_location_zones_" name="/http/location_zones/"> +<literal>/http/location_zones/</literal> +</tag-name> +<tag-desc> +<para>Supported methods:</para> +<list type="bullet" compact="yes"> +<listitem id="getHttpLocationZones"> +<literal>GET</literal> - Return status of all HTTP location zones +<para>Returns status information for each HTTP <link url="https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone_location">location zone</link>.</para> +<para> +Request parameters: +<list type="tag"> +<tag-name><literal>fields</literal> +(<literal>string</literal>, optional)</tag-name> +<tag-desc> +Limits which fields of location zones will be output. If the “<literal>fields</literal>” value is empty, then only zone names will be output.</tag-desc> +</list> +</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_location_zone">HTTP Location Zone</link>" objects for all HTTP location zones</listitem> +</list> +</listitem> +</list> +</tag-desc> +<tag-name id="http_location_zones_http_location_zone_name" name="/http/location_zones/{httpLocationZoneName}"> +<literal>/http/location_zones/{httpLocationZoneName}</literal> +</tag-name> +<tag-desc> +Parameters common for all methods: +<list type="tag"> +<tag-name><literal>httpLocationZoneName</literal> +(<literal>string</literal>, required)</tag-name> +<tag-desc> +The name of an HTTP <link url="https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone_location">location zone</link>.</tag-desc> +</list> +<para>Supported methods:</para> +<list type="bullet" compact="yes"> +<listitem id="getHttpLocationZone"> +<literal>GET</literal> - Return status of an HTTP location zone +<para>Returns status of a particular HTTP <link url="https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone_location">location zone</link>.</para> +<para> +Request parameters: +<list type="tag"> +<tag-name><literal>fields</literal> +(<literal>string</literal>, optional)</tag-name> +<tag-desc> +Limits which fields of the location zone will be output.</tag-desc> +</list> +</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>200 - Success, returns <link id="def_nginx_http_location_zone">HTTP Location Zone</link></listitem> +<listitem>404 - Location zone not found (<literal>LocationZoneNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> +</list> +</listitem> +<listitem id="deleteHttpLocationZoneStat"> +<literal>DELETE</literal> - Reset statistics for a location zone. +<para>Resets statistics of accepted and discarded requests, responses, received and sent bytes in a particular location zone.</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>204 - Success</listitem> +<listitem>404 - Location zone not found (<literal>LocationZoneNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> +<listitem>405 - Method disabled (<literal>MethodDisabled</literal>), returns <link id="def_nginx_error">Error</link></listitem> +</list> +</listitem> +</list> +</tag-desc> <tag-name id="http_caches_" name="/http/caches/"> <literal>/http/caches/</literal> </tag-name> @@ -580,14 +649,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -Limits which fields of cache zones will be output. If the “<literal>fields</literal>” value is empty, then only names of cache zones are output.</tag-desc> +Limits which fields of cache zones will be output. If the “<literal>fields</literal>” value is empty, then only names of cache zones will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_cache">HTTP Cache</link>" objects for all http caches </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_cache">HTTP Cache</link>" objects for all HTTP caches</listitem> </list> </listitem> </list> @@ -654,14 +723,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -Limits which fields of upstream server groups will be output. If the “<literal>fields</literal>” value is empty, only names of upstreams are output.</tag-desc> +Limits which fields of upstream server groups will be output. If the “<literal>fields</literal>” value is empty, only names of upstreams will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_upstream">HTTP Upstream</link>" objects for all http upstreams </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_upstream">HTTP Upstream</link>" objects for all HTTP upstreams</listitem> </list> </listitem> </list> @@ -886,14 +955,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -If the “<literal>fields</literal>” value is empty, then only HTTP keyval zone names are output.</tag-desc> +If the “<literal>fields</literal>” value is empty, then only HTTP keyval zone names will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_keyval_zone">HTTP Keyval Shared Memory Zone</link>" objects for all http keyvals </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_http_keyval_zone">HTTP Keyval Shared Memory Zone</link>" objects for all HTTP keyvals</listitem> </list> </listitem> </list> @@ -939,9 +1008,9 @@ keyval key not found (<literal>KeyvalKey Request parameters: <list type="tag"> <tag-name><literal>Key-value</literal> -(<link id="def_nginx_http_keyval_zone">HTTP Keyval Shared Memory Zone</link>, required)</tag-name> -<tag-desc> -A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the HTTP keyval shared memory zone is empty.</tag-desc> +(<link id="def_nginx_http_keyval_zone_post_patch">HTTP Keyval Shared Memory Zone</link>, required)</tag-name> +<tag-desc> +A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the HTTP keyval shared memory zone is empty. Expiration time in milliseconds can be specified for a key-value pair with the <literal>expire</literal> parameter which overrides the <link url="https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_timeout"><literal>timeout</literal></link> parameter of the <link url="https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone">keyval_zone</link> directive.</tag-desc> </list> </para> <para> @@ -949,9 +1018,11 @@ Possible responses: </para> <list type="bullet"> <listitem>201 - Created</listitem> -<listitem>400 - Key required (<literal>KeyvalFormatError</literal>), -only one key can be added (<literal>KeyvalFormatError</literal>), -nested object or list (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> +<listitem>400 - Invalid JSON (<literal>KeyvalFormatError</literal>), +invalid key format (<literal>KeyvalFormatError</literal>), +key required (<literal>KeyvalFormatError</literal>), +keyval timeout is not enabled (<literal>KeyvalFormatError</literal>), +only one key can be added (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>404 - Keyval not found (<literal>KeyvalNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>405 - Method disabled (<literal>MethodDisabled</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>409 - Key already exists (<literal>KeyvalKeyExists</literal>), returns <link id="def_nginx_error">Error</link></listitem> @@ -960,12 +1031,12 @@ nested object or list (<literal>KeyvalFo </listitem> <listitem id="patchHttpKeyvalZoneKeyValue"> <literal>PATCH</literal> - Modify a key-value or delete a key -<para>Changes the value of the selected key in the key-value pair or deletes a key by setting the key value to <literal>null</literal>. If <link url="https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync">synchronization</link> of keyval zones in a cluster is enabled, deletes a key only on a target cluster node.</para> +<para>Changes the value of the selected key in the key-value pair, deletes a key by setting the key value to <literal>null</literal>, changes expiration time of a key-value pair. If <link url="https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync">synchronization</link> of keyval zones in a cluster is enabled, deletes a key only on a target cluster node. Expiration time in milliseconds can be specified for a key-value pair with the <literal>expire</literal> parameter which overrides the <link url="https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_timeout"><literal>timeout</literal></link> parameter of the <link url="https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone">keyval_zone</link> directive.</para> <para> Request parameters: <list type="tag"> <tag-name><literal>httpKeyvalZoneKeyValue</literal> -(<link id="def_nginx_http_keyval_zone">HTTP Keyval Shared Memory Zone</link>, required)</tag-name> +(<link id="def_nginx_http_keyval_zone_post_patch">HTTP Keyval Shared Memory Zone</link>, required)</tag-name> <tag-desc> A new value for the key is specified in the JSON format.</tag-desc> </list> @@ -975,9 +1046,10 @@ Possible responses: </para> <list type="bullet"> <listitem>204 - Success</listitem> -<listitem>400 - Key required (<literal>KeyvalFormatError</literal>), -only one key can be updated (<literal>KeyvalFormatError</literal>), -nested object or list (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> +<listitem>400 - Invalid JSON (<literal>KeyvalFormatError</literal>), +key required (<literal>KeyvalFormatError</literal>), +keyval timeout is not enabled (<literal>KeyvalFormatError</literal>), +only one key can be updated (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>404 - Keyval not found (<literal>KeyvalNotFound</literal>), keyval key not found (<literal>KeyvalKeyNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>405 - Method disabled (<literal>MethodDisabled</literal>), returns <link id="def_nginx_error">Error</link></listitem> @@ -1031,14 +1103,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -Limits which fields of server zones will be output. If the “<literal>fields</literal>” value is empty, then only server zone names are output.</tag-desc> +Limits which fields of server zones will be output. If the “<literal>fields</literal>” value is empty, then only server zone names will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_stream_server_zone">Stream Server Zone</link>" objects for all stream server zones </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_stream_server_zone">Stream Server Zone</link>" objects for all stream server zones</listitem> </list> </listitem> </list> @@ -1105,14 +1177,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -Limits which fields of upstream server groups will be output. If the “<literal>fields</literal>” value is empty, only names of upstreams are output.</tag-desc> +Limits which fields of upstream server groups will be output. If the “<literal>fields</literal>” value is empty, only names of upstreams will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_stream_upstream">Stream Upstream</link>" objects for all stream upstreams </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_stream_upstream">Stream Upstream</link>" objects for all stream upstreams</listitem> </list> </listitem> </list> @@ -1337,14 +1409,14 @@ Request parameters: <tag-name><literal>fields</literal> (<literal>string</literal>, optional)</tag-name> <tag-desc> -If the “<literal>fields</literal>” value is empty, then only stream keyval zone names are output.</tag-desc> +If the “<literal>fields</literal>” value is empty, then only stream keyval zone names will be output.</tag-desc> </list> </para> <para> Possible responses: </para> <list type="bullet"> -<listitem>200 - Success, returns a collection of "<link id="def_nginx_stream_keyval_zone">Stream Keyval Shared Memory Zone</link>" objects for all stream keyvals </listitem> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_stream_keyval_zone">Stream Keyval Shared Memory Zone</link>" objects for all stream keyvals</listitem> </list> </listitem> </list> @@ -1390,9 +1462,9 @@ keyval key not found (<literal>KeyvalKey Request parameters: <list type="tag"> <tag-name><literal>Key-value</literal> -(<link id="def_nginx_stream_keyval_zone">Stream Keyval Shared Memory Zone</link>, required)</tag-name> -<tag-desc> -A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the stream keyval shared memory zone is empty.</tag-desc> +(<link id="def_nginx_stream_keyval_zone_post_patch">Stream Keyval Shared Memory Zone</link>, required)</tag-name> +<tag-desc> +A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the stream keyval shared memory zone is empty. Expiration time in milliseconds can be specified for a key-value pair with the <literal>expire</literal> parameter which overrides the <link url="https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_timeout"><literal>timeout</literal></link> parameter of the <link url="https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_zone">keyval_zone</link> directive.</tag-desc> </list> </para> <para> @@ -1400,9 +1472,11 @@ Possible responses: </para> <list type="bullet"> <listitem>201 - Created</listitem> -<listitem>400 - Key required (<literal>KeyvalFormatError</literal>), -only one key can be added (<literal>KeyvalFormatError</literal>), -nested object or list (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> +<listitem>400 - Invalid JSON (<literal>KeyvalFormatError</literal>), +invalid key format (<literal>KeyvalFormatError</literal>), +key required (<literal>KeyvalFormatError</literal>), +keyval timeout is not enabled (<literal>KeyvalFormatError</literal>), +only one key can be added (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>404 - Keyval not found (<literal>KeyvalNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>405 - Method disabled (<literal>MethodDisabled</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>409 - Key already exists (<literal>KeyvalKeyExists</literal>), returns <link id="def_nginx_error">Error</link></listitem> @@ -1411,12 +1485,12 @@ nested object or list (<literal>KeyvalFo </listitem> <listitem id="patchStreamKeyvalZoneKeyValue"> <literal>PATCH</literal> - Modify a key-value or delete a key -<para>Changes the value of the selected key in the key-value pair or deletes a key by setting the key value to <literal>null</literal>. If <link url="https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync">synchronization</link> of keyval zones in a cluster is enabled, deletes a key only on a target cluster node.</para> +<para>Changes the value of the selected key in the key-value pair, deletes a key by setting the key value to <literal>null</literal>, changes expiration time of a key-value pair. If <link url="https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync">synchronization</link> of keyval zones in a cluster is enabled, deletes a key only on a target cluster node. Expiration time is specified in milliseconds with the <literal>expire</literal> parameter which overrides the <link url="https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_timeout"><literal>timeout</literal></link> parameter of the <link url="https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_zone">keyval_zone</link> directive.</para> <para> Request parameters: <list type="tag"> <tag-name><literal>streamKeyvalZoneKeyValue</literal> -(<link id="def_nginx_stream_keyval_zone">Stream Keyval Shared Memory Zone</link>, required)</tag-name> +(<link id="def_nginx_stream_keyval_zone_post_patch">Stream Keyval Shared Memory Zone</link>, required)</tag-name> <tag-desc> A new value for the key is specified in the JSON format.</tag-desc> </list> @@ -1426,9 +1500,10 @@ Possible responses: </para> <list type="bullet"> <listitem>204 - Success</listitem> -<listitem>400 - Key required (<literal>KeyvalFormatError</literal>), -only one key can be updated (<literal>KeyvalFormatError</literal>), -nested object or list (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> +<listitem>400 - Invalid JSON (<literal>KeyvalFormatError</literal>), +key required (<literal>KeyvalFormatError</literal>), +keyval timeout is not enabled (<literal>KeyvalFormatError</literal>), +only one key can be updated (<literal>KeyvalFormatError</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>404 - Keyval not found (<literal>KeyvalNotFound</literal>), keyval key not found (<literal>KeyvalKeyNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> <listitem>405 - Method disabled (<literal>MethodDisabled</literal>), returns <link id="def_nginx_error">Error</link></listitem> @@ -1467,6 +1542,117 @@ Possible responses: </listitem> </list> </tag-desc> +<tag-name id="resolvers_" name="/resolvers/"> +<literal>/resolvers/</literal> +</tag-name> +<tag-desc> +<para>Supported methods:</para> +<list type="bullet" compact="yes"> +<listitem id="getResolverZones"> +<literal>GET</literal> - Return status for all resolver zones +<para>Returns status information for each <link url="https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone">resolver zone</link>.</para> +<para> +Request parameters: +<list type="tag"> +<tag-name><literal>fields</literal> +(<literal>string</literal>, optional)</tag-name> +<tag-desc> +Limits which fields of resolvers statistics will be output.</tag-desc> +</list> +</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>200 - Success, returns a collection of "<link id="def_nginx_resolver_zone">Resolver Zone</link>" objects for all resolvers</listitem> +</list> +</listitem> +</list> +</tag-desc> +<tag-name id="resolvers_resolver_zone_name" name="/resolvers/{resolverZoneName}"> +<literal>/resolvers/{resolverZoneName}</literal> +</tag-name> +<tag-desc> +Parameters common for all methods: +<list type="tag"> +<tag-name><literal>resolverZoneName</literal> +(<literal>string</literal>, required)</tag-name> +<tag-desc> +The name of a resolver zone.</tag-desc> +</list> +<para>Supported methods:</para> +<list type="bullet" compact="yes"> +<listitem id="getResolverZone"> +<literal>GET</literal> - Return statistics of a resolver zone +<para>Returns statistics stored in a particular resolver <link url="https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone">zone</link>.</para> +<para> +Request parameters: +<list type="tag"> +<tag-name><literal>fields</literal> +(<literal>string</literal>, optional)</tag-name> +<tag-desc> +Limits which fields of the resolver zone will be output (requests, responses, or both).</tag-desc> +</list> +</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>200 - Success, returns <link id="def_nginx_resolver_zone">Resolver Zone</link></listitem> +<listitem>404 - Resolver zone not found (<literal>ResolverZoneNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> +</list> +</listitem> +<listitem id="deleteResolverZoneStat"> +<literal>DELETE</literal> - Reset statistics for a resolver zone. +<para>Resets statistics in a particular resolver zone.</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>204 - Success</listitem> +<listitem>404 - Resolver zone not found (<literal>ResolverZoneNotFound</literal>), returns <link id="def_nginx_error">Error</link></listitem> +<listitem>405 - Method disabled (<literal>MethodDisabled</literal>), returns <link id="def_nginx_error">Error</link></listitem> +</list> +</listitem> +</list> +</tag-desc> +<tag-name id="ssl" name="/ssl"> +<literal>/ssl</literal> +</tag-name> +<tag-desc> +<para>Supported methods:</para> +<list type="bullet" compact="yes"> +<listitem id="getSsl"> +<literal>GET</literal> - Return SSL statistics +<para>Returns SSL statistics.</para> +<para> +Request parameters: +<list type="tag"> +<tag-name><literal>fields</literal> +(<literal>string</literal>, optional)</tag-name> +<tag-desc> +Limits which fields of SSL statistics will be output.</tag-desc> +</list> +</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>200 - Success, returns <link id="def_nginx_ssl_object">SSL</link></listitem> +</list> +</listitem> +<listitem id="deleteSslStat"> +<literal>DELETE</literal> - Reset SSL statistics +<para>Resets counters of SSL handshakes and session reuses.</para> +<para> +Possible responses: +</para> +<list type="bullet"> +<listitem>204 - Success</listitem> +</list> +</listitem> +</list> +</tag-desc> </list> </para> </section> @@ -1843,6 +2029,93 @@ The total number of bytes sent to client "sent" : 19415530115 }</example> </listitem> +<listitem id="def_nginx_http_location_zone"> +<para>HTTP Location Zone:</para> +<list type="tag"> +<tag-name> +<literal>requests</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of client requests received from clients. +</tag-desc> +<tag-name> +<literal>responses</literal></tag-name> +<tag-desc> +The total number of responses sent to clients and the number of responses with status codes “<literal>1xx</literal>”, “<literal>2xx</literal>”, “<literal>3xx</literal>”, “<literal>4xx</literal>”, and “<literal>5xx</literal>”.<list type="tag"> +<tag-name> +<literal>1xx</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The number of responses with “<literal>1xx</literal>” status codes. +</tag-desc> +<tag-name> +<literal>2xx</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The number of responses with “<literal>2xx</literal>” status codes. +</tag-desc> +<tag-name> +<literal>3xx</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The number of responses with “<literal>3xx</literal>” status codes. +</tag-desc> +<tag-name> +<literal>4xx</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The number of responses with “<literal>4xx</literal>” status codes. +</tag-desc> +<tag-name> +<literal>5xx</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The number of responses with “<literal>5xx</literal>” status codes. +</tag-desc> +<tag-name> +<literal>total</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of responses sent to clients. +</tag-desc> +</list> +</tag-desc> +<tag-name> +<literal>discarded</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of requests completed without sending a response. +</tag-desc> +<tag-name> +<literal>received</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of bytes received from clients. +</tag-desc> +<tag-name> +<literal>sent</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of bytes sent to clients. +</tag-desc> +</list> +<para>Example:</para> +<example> +{ + "requests" : 706690, + "responses" : { + "1xx" : 0, + "2xx" : 699482, + "3xx" : 4522, + "4xx" : 907, + "5xx" : 266, + "total" : 705177 + }, + "discarded" : 1513, + "received" : 172711587, + "sent" : 19415530115 +}</example> +</listitem> <listitem id="def_nginx_http_cache"> <para>HTTP Cache:</para> <list type="tag"> @@ -2489,7 +2762,8 @@ Hostname of the resolved server. The hos </listitem> <listitem id="def_nginx_http_keyval_zone"> <para>HTTP Keyval Shared Memory Zone:</para> -Contents of an HTTP keyval shared memory zone.<para>Example:</para> +Contents of an HTTP keyval shared memory zone +when using the GET method.<para>Example:</para> <example> { "key1" : "value1", @@ -2497,6 +2771,20 @@ Contents of an HTTP keyval shared memory "key3" : "value3" }</example> </listitem> +<listitem id="def_nginx_http_keyval_zone_post_patch"> +<para>HTTP Keyval Shared Memory Zone:</para> +Contents of an HTTP keyval shared memory zone +when using the POST or PATCH methods.<para>Example:</para> +<example> +{ + "key1" : "value1", + "key2" : "value2", + "key3" : { + "value" : "value3", + "expire" : 30000 + } +}</example> +</listitem> <listitem id="def_nginx_stream_server_zone"> <para>Stream Server Zone:</para> <list type="tag"> @@ -2903,7 +3191,7 @@ Hostname of the resolved server. The hos </listitem> <listitem id="def_nginx_stream_keyval_zone"> <para>Stream Keyval Shared Memory Zone:</para> -Contents of a stream keyval shared memory zone.<para>Example:</para> +Contents of a stream keyval shared memory zone when using the GET method.<para>Example:</para> <example> { "key1" : "value1", @@ -2911,6 +3199,20 @@ Contents of a stream keyval shared memor "key3" : "value3" }</example> </listitem> +<listitem id="def_nginx_stream_keyval_zone_post_patch"> +<para>Stream Keyval Shared Memory Zone:</para> +Contents of a stream keyval shared memory zone +when using the POST or PATCH methods.<para>Example:</para> +<example> +{ + "key1" : "value1", + "key2" : "value2", + "key3" : { + "value" : "value3", + "expire" : 30000 + } +}</example> +</listitem> <listitem id="def_nginx_stream_zone_sync"> <para>Stream Zone Sync Node:</para> <list type="tag"> @@ -2995,6 +3297,111 @@ The total number of records stored in th </tag-desc> </list> </listitem> +<listitem id="def_nginx_resolver_zone"> +<para>Resolver Zone:</para> +Statistics of DNS requests and responses per particular +<link url="https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone">resolver zone</link>.<list type="tag"> +<tag-name> +<literal>requests</literal></tag-name> +<tag-desc> +<list type="tag"> +<tag-name> +<literal>name</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of requests to resolve names to addresses. +</tag-desc> +<tag-name> +<literal>srv</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of requests to resolve SRV records. +</tag-desc> +<tag-name> +<literal>addr</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of requests to resolve addresses to names. +</tag-desc> +</list> +</tag-desc> +<tag-name> +<literal>responses</literal></tag-name> +<tag-desc> +<list type="tag"> +<tag-name> +<literal>noerror</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of successful responses. +</tag-desc> +<tag-name> +<literal>formerr</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of FORMERR (<literal>Format error</literal>) responses. +</tag-desc> +<tag-name> +<literal>servfail</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of SERVFAIL (<literal>Server failure</literal>) responses. +</tag-desc> +<tag-name> +<literal>nxdomain</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of NXDOMAIN (<literal>Host not found</literal>) responses. +</tag-desc> +<tag-name> +<literal>notimp</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of NOTIMP (<literal>Unimplemented</literal>) responses. +</tag-desc> +<tag-name> +<literal>refused</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of REFUSED (<literal>Operation refused</literal>) responses. +</tag-desc> +<tag-name> +<literal>timedout</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of timed out requests. +</tag-desc> +<tag-name> +<literal>unknown</literal> (<literal>integer</literal>) +</tag-name> +<tag-desc> +The total number of requests completed with an unknown error. +</tag-desc> +</list> +</tag-desc> +</list> +<para>Example:</para> +<example> +{ + "resolver_zone1" : { + "requests" : { + "name" : 25460, + "srv" : 130, + "addr" : 2580 + }, + "responses" : { + "noerror" : 26499, + "formerr" : 0, + "servfail" : 3, + "nxdomain" : 0, + "notimp" : 0, + "refused" : 0, + "timedout" : 243, + "unknown" : 478 + } + } +}</example> +</listitem> <listitem id="def_nginx_error"> <para>Error:</para> nginx error object.<list type="tag">
--- a/xml/en/docs/http/ngx_http_api_module_head.xml +++ b/xml/en/docs/http/ngx_http_api_module_head.xml @@ -101,21 +101,21 @@ All API requests include a supported API <link id="api_version">version</link> in the URI. Examples of API requests with this configuration: <example> -http://127.0.0.1/api/4/ -http://127.0.0.1/api/4/nginx -http://127.0.0.1/api/4/connections -http://127.0.0.1/api/4/http/requests -http://127.0.0.1/api/4/http/server_zones/server_backend -http://127.0.0.1/api/4/http/caches/cache_backend -http://127.0.0.1/api/4/http/upstreams/backend -http://127.0.0.1/api/4/http/upstreams/backend/servers/ -http://127.0.0.1/api/4/http/upstreams/backend/servers/1 -http://127.0.0.1/api/4/http/keyvals/one?key=arg1 -http://127.0.0.1/api/4/stream/ -http://127.0.0.1/api/4/stream/server_zones/server_backend -http://127.0.0.1/api/4/stream/upstreams/ -http://127.0.0.1/api/4/stream/upstreams/backend -http://127.0.0.1/api/4/stream/upstreams/backend/servers/1 +http://127.0.0.1/api/5/ +http://127.0.0.1/api/5/nginx +http://127.0.0.1/api/5/connections +http://127.0.0.1/api/5/http/requests +http://127.0.0.1/api/5/http/server_zones/server_backend +http://127.0.0.1/api/5/http/caches/cache_backend +http://127.0.0.1/api/5/http/upstreams/backend +http://127.0.0.1/api/5/http/upstreams/backend/servers/ +http://127.0.0.1/api/5/http/upstreams/backend/servers/1 +http://127.0.0.1/api/5/http/keyvals/one?key=arg1 +http://127.0.0.1/api/5/stream/ +http://127.0.0.1/api/5/stream/server_zones/server_backend +http://127.0.0.1/api/5/stream/upstreams/ +http://127.0.0.1/api/5/stream/upstreams/backend +http://127.0.0.1/api/5/stream/upstreams/backend/servers/1 </example> </para> @@ -146,14 +146,14 @@ By default, the API is read-only. All API requests should contain a supported API version in the URI. If the request URI equals the location prefix, the list of supported API versions is returned. -The current API version is “<literal>4</literal>”. +The current API version is “<literal>5</literal>”. </para> <para> The optional “<literal>fields</literal>” argument in the request line specifies which fields of the requested objects will be output: <example> -http://127.0.0.1/api/4/nginx?fields=version,build +http://127.0.0.1/api/5/nginx?fields=version,build </example> </para> @@ -164,6 +164,8 @@ http://127.0.0.1/api/4/nginx?fields=vers <syntax><value>zone</value></syntax> <default/> <context>server</context> +<context>location</context> +<context>if in location</context> <appeared-in>1.13.12</appeared-in> <para> @@ -175,6 +177,18 @@ server status information in the specifi Several servers may share the same zone. </para> +<para id="status_zone_location"> +Starting from 1.17.0, status information can be collected +per <link doc="ngx_http_core_module.xml" id="location"/>. +The special value <literal>off</literal> disables statistics collection +in nested location blocks. +Note that the statistics is collected +in the context of a location where processing ends. +It may be different from the original location, if an +<link doc="ngx_http_core_module.xml" id="internal">internal +redirect</link> happens during request processing. +</para> + </directive> </section> @@ -185,6 +199,24 @@ Several servers may share the same zone. <list type="bullet"> <listitem> +The “<literal>expire</literal>” parameter of a +<link doc="ngx_http_keyval_module.xml">key-value</link> pair can be +<link id="postHttpKeyvalZoneData">set</link> or +<link id="patchHttpKeyvalZoneKeyValue">changed</link> +since <link id="api_version">version</link> 5. +</listitem> + +<listitem> +The <link id="resolvers_">/resolvers/</link> data +were added in <link id="api_version">version</link> 5. +</listitem> + +<listitem> +The <link id="http_location_zones_">/http/location_zones/</link> data +were added in <link id="api_version">version</link> 5. +</listitem> + +<listitem> The <literal>path</literal> and <literal>method</literal> fields of <link id="def_nginx_error">nginx error object</link> were removed in <link id="api_version">version</link> 4.
--- a/xml/en/docs/http/ngx_http_auth_jwt_module.xml +++ b/xml/en/docs/http/ngx_http_auth_jwt_module.xml @@ -9,7 +9,7 @@ <module name="Module ngx_http_auth_jwt_module" link="/en/docs/http/ngx_http_auth_jwt_module.html" lang="en" - rev="9"> + rev="10"> <section id="summary"> @@ -140,12 +140,8 @@ identified by key names. Name matching starts from the top level of the JSON tree. For arrays, the variable keeps a list of array elements separated by commas. <example> -location / { - auth_jwt "closed site"; - auth_jwt_key_file conf/keys.json; - auth_jwt_claim_set $email info e-mail; - auth_jwt_claim_set $job info "job title"; -} +auth_jwt_claim_set $email info e-mail; +auth_jwt_claim_set $job info "job title"; </example> <note> Prior to version 1.13.7, only one key name could be specified,
--- a/xml/en/docs/http/ngx_http_core_module.xml +++ b/xml/en/docs/http/ngx_http_core_module.xml @@ -10,7 +10,7 @@ <module name="Module ngx_http_core_module" link="/en/docs/http/ngx_http_core_module.html" lang="en" - rev="84"> + rev="85"> <section id="directives" name="Directives"> @@ -2108,7 +2108,8 @@ closed normally. <syntax> <value>address</value> ... [<literal>valid</literal>=<value>time</value>] - [<literal>ipv6</literal>=<literal>on</literal>|<literal>off</literal>]</syntax> + [<literal>ipv6</literal>=<literal>on</literal>|<literal>off</literal>] + [<literal>status_zone</literal>=<value>zone</value>]</syntax> <default/> <context>http</context> <context>server</context> @@ -2151,6 +2152,16 @@ configuring DNS servers in a properly se </note> </para> +<para id="resolver_status_zone"> +The optional <literal>status_zone</literal> parameter (1.17.1) +enables +<link doc="ngx_http_api_module.xml" id="resolvers_">collection</link> +of DNS server statistics of requests and responses +in the specified <value>zone</value>. +The parameter is available as part of our +<commercial_version>commercial subscription</commercial_version>. +</para> + </directive>
--- a/xml/en/docs/http/ngx_http_keyval_module.xml +++ b/xml/en/docs/http/ngx_http_keyval_module.xml @@ -9,7 +9,7 @@ <module name="Module ngx_http_keyval_module" link="/en/docs/http/ngx_http_keyval_module.html" lang="en" - rev="4"> + rev="5"> <section id="summary"> @@ -81,6 +81,7 @@ specified by the <literal>zone</literal> <literal>zone</literal>=<value>name</value>:<value>size</value> [<literal>state</literal>=<value>file</value>] [<literal>timeout</literal>=<value>time</value>] + [<literal>type</literal>=<literal>string</literal>|<literal>ip</literal>] [<literal>sync</literal>]</syntax> <default/> <context>http</context> @@ -103,6 +104,18 @@ The optional <literal>timeout</literal> the time after which key-value pairs are removed from the zone. </para> +<para id="keyval_type"> +The optional <literal>type</literal> parameter (1.17.1) specifies +the type of the key: +a <literal>string</literal> (default) or <literal>ip</literal>. +For the <literal>ip</literal> type, +the key must be the textual representation of an IP address +specified in CIDR notation. +In this case, +an additional index optimized for matching IP addresses and networks is used +in evaluating a variable. +</para> + <para id="keyval_sync"> The optional <literal>sync</literal> parameter (1.15.0) enables <link doc="../stream/ngx_stream_zone_sync_module.xml" id="zone_sync">synchronization</link>
--- a/xml/en/docs/stream/ngx_stream_keyval_module.xml +++ b/xml/en/docs/stream/ngx_stream_keyval_module.xml @@ -9,7 +9,7 @@ <module name="Module ngx_stream_keyval_module" link="/en/docs/stream/ngx_stream_keyval_module.html" lang="en" - rev="4"> + rev="5"> <section id="summary"> @@ -87,6 +87,7 @@ specified by the <literal>zone</literal> <literal>zone</literal>=<value>name</value>:<value>size</value> [<literal>state</literal>=<value>file</value>] [<literal>timeout</literal>=<value>time</value>] + [<literal>type</literal>=<literal>string</literal>|<literal>ip</literal>] [<literal>sync</literal>]</syntax> <default/> <context>stream</context> @@ -109,6 +110,18 @@ The optional <literal>timeout</literal> the time after which key-value pairs are removed from the zone. </para> +<para id="keyval_type"> +The optional <literal>type</literal> parameter (1.17.1) specifies +the type of the key: +a <literal>string</literal> (default) or <literal>ip</literal>. +For the <literal>ip</literal> type, +the key must be the textual representation of an IP address +specified in CIDR notation. +In this case, +an additional index optimized for matching IP addresses and networks is used +in evaluating a variable. +</para> + <para id="keyval_sync"> The optional <literal>sync</literal> parameter (1.15.0) enables <link doc="ngx_stream_zone_sync_module.xml" id="zone_sync">synchronization</link>
--- a/xml/ru/docs/http/ngx_http_auth_jwt_module.xml +++ b/xml/ru/docs/http/ngx_http_auth_jwt_module.xml @@ -9,7 +9,7 @@ <module name="Модуль ngx_http_auth_jwt_module" link="/ru/docs/http/ngx_http_auth_jwt_module.html" lang="ru" - rev="9"> + rev="10"> <section id="summary"> @@ -138,12 +138,8 @@ auth_jwt "closed site" token=$cookie_aut Сопоставление имён начинается с верхнего уровня дерева JSON. Для массива переменная хранит список его элементов, разделяемых запятыми. <example> -location / { - auth_jwt "closed site"; - auth_jwt_key_file conf/keys.json; - auth_jwt_claim_set $email info e-mail; - auth_jwt_claim_set $job info "job title"; -} +auth_jwt_claim_set $email info e-mail; +auth_jwt_claim_set $job info "job title"; </example> <note> До версии 1.13.7 можно было указать лишь одно имя,
--- a/xml/ru/docs/http/ngx_http_core_module.xml +++ b/xml/ru/docs/http/ngx_http_core_module.xml @@ -10,7 +10,7 @@ <module name="Модуль ngx_http_core_module" link="/ru/docs/http/ngx_http_core_module.html" lang="ru" - rev="84"> + rev="85"> <section id="directives" name="Директивы"> @@ -2106,7 +2106,8 @@ open_file_cache_events on; <syntax> <value>адрес</value> ... [<literal>valid</literal>=<value>время</value>] - [<literal>ipv6</literal>=<literal>on</literal>|<literal>off</literal>]</syntax> + [<literal>ipv6</literal>=<literal>on</literal>|<literal>off</literal>] + [<literal>status_zone</literal>=<value>зона</value>]</syntax> <default/> <context>http</context> <context>server</context> @@ -2151,6 +2152,16 @@ resolver 127.0.0.1 [::1]:5353 valid=30s; </note> </para> +<para id="resolver_status_zone"> +Необязательный параметр <literal>status_zone</literal> (1.17.1) +включает +<link doc="ngx_http_api_module.xml" id="resolvers_">сбор информации</link> +о запросах и ответах сервера DNS +в указанной <value>зоне</value>. +Параметр доступен как часть +<commercial_version>коммерческой подписки</commercial_version>. +</para> + </directive>
--- a/yaml/nginx_api.yaml +++ b/yaml/nginx_api.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '4.0' + version: '5.0' title: NGINX Plus REST API description: NGINX Plus REST [API](https://nginx.org/en/docs/http/ngx_http_api_module.html) @@ -9,23 +9,25 @@ info: key-value pairs management for [http](https://nginx.org/en/docs/http/ngx_http_keyval_module.html) and [stream](https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html). -basePath: /api/4 +basePath: /api/5 tags: - name: General Info - name: Processes - name: Connections + - name: Slabs + - name: Resolvers - name: SSL - - name: Slabs - name: HTTP - name: HTTP Requests + - name: HTTP Server Zones + - name: HTTP Location Zones - name: HTTP Caches - - name: HTTP Server Zones + - name: HTTP Keyvals - name: HTTP Upstreams - - name: HTTP Keyvals - name: Stream - name: Stream Server Zones + - name: Stream Keyvals - name: Stream Upstreams - - name: Stream Keyvals - name: Stream Zone Sync - name: Method GET - name: Method POST @@ -128,36 +130,6 @@ paths: responses: '204': description: Success - /ssl: - get: - tags: - - SSL - - Method GET - summary: Return SSL statistics - description: Returns SSL statistics. - operationId: getSsl - produces: - - application/json - responses: - '200': - description: Success - schema: - $ref: '#/definitions/NginxSSLObject' - parameters: - - in: query - name: fields - type: string - description: Limits which fields of SSL statistics will be output. - delete: - tags: - - SSL - - Method DELETE - summary: Reset SSL statistics - description: Resets counters of SSL handshakes and session reuses. - operationId: deleteSslStat - responses: - '204': - description: Success /slabs/: get: tags: @@ -175,7 +147,7 @@ paths: type: string description: Limits which fields of slab zones will be output. If the “<literal>fields</literal>” value is empty, - then only zone names are output. + then only zone names will be output. responses: '200': description: Success @@ -298,7 +270,7 @@ paths: type: string description: Limits which fields of server zones will be output. If the “<literal>fields</literal>” value is empty, - then only server zone names are output. + then only server zone names will be output. responses: '200': description: Success @@ -353,6 +325,79 @@ paths: description: Method disabled (*MethodDisabled*) schema: $ref: '#/definitions/NginxError' + /http/location_zones/: + get: + tags: + - HTTP Location Zones + - Method GET + summary: Return status of all HTTP location zones + description: Returns status information for each HTTP + [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone_location). + operationId: getHttpLocationZones + produces: + - application/json + parameters: + - in: query + name: fields + type: string + description: Limits which fields of location zones will be output. + If the “<literal>fields</literal>” value is empty, + then only zone names will be output. + responses: + '200': + description: Success + schema: + $ref: '#/definitions/NginxHTTPLocationZonesMap' + '/http/location_zones/{httpLocationZoneName}': + parameters: + - name: httpLocationZoneName + in: path + description: The name of an HTTP [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone_location). + type: string + required: true + get: + tags: + - HTTP Location Zones + - Method GET + summary: Return status of an HTTP location zone + description: Returns status of a particular + HTTP [location zone](https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone_location). + operationId: getHttpLocationZone + produces: + - application/json + parameters: + - name: fields + in: query + type: string + description: Limits which fields of the location zone will be output. + responses: + '200': + description: Success + schema: + $ref: '#/definitions/NginxHTTPLocationZone' + '404': + description: Location zone not found (*LocationZoneNotFound*) + schema: + $ref: '#/definitions/NginxError' + delete: + tags: + - HTTP Location Zones + - Method DELETE + summary: Reset statistics for a location zone. + description: Resets statistics of accepted and discarded requests, responses, + received and sent bytes in a particular location zone. + operationId: deleteHttpLocationZoneStat + responses: + '204': + description: Success + '404': + description: Location zone not found (*LocationZoneNotFound*) + schema: + $ref: '#/definitions/NginxError' + '405': + description: Method disabled (*MethodDisabled*) + schema: + $ref: '#/definitions/NginxError' /http/caches/: get: tags: @@ -371,7 +416,7 @@ paths: type: string description: Limits which fields of cache zones will be output. If the “<literal>fields</literal>” value is empty, - then only names of cache zones are output. + then only names of cache zones will be output. responses: '200': description: Success @@ -442,7 +487,7 @@ paths: type: string description: Limits which fields of upstream server groups will be output. If the “<literal>fields</literal>” value is empty, - only names of upstreams are output. + only names of upstreams will be output. responses: '200': description: Success @@ -743,7 +788,7 @@ paths: in: query type: string description: If the “<literal>fields</literal>” value is empty, - then only HTTP keyval zone names are output. + then only HTTP keyval zone names will be output. responses: '200': description: Success @@ -800,17 +845,25 @@ paths: description: A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the HTTP keyval shared memory zone is empty. + Expiration time in milliseconds can be specified for a key-value pair + with the *expire* parameter + which overrides the [*timeout*](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_timeout) + parameter of the + <a href="https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone">keyval_zone</a> + directive. required: true schema: - $ref: '#/definitions/NginxHTTPKeyvalZone' + $ref: '#/definitions/NginxHTTPKeyvalZonePostPatch' responses: '201': description: Created '400': description: | - Key required (*KeyvalFormatError*), - only one key can be added (*KeyvalFormatError*), - nested object or list (*KeyvalFormatError*) + Invalid JSON (*KeyvalFormatError*), + invalid key format (*KeyvalFormatError*), + key required (*KeyvalFormatError*), + keyval timeout is not enabled (*KeyvalFormatError*), + only one key can be added (*KeyvalFormatError*) schema: $ref: '#/definitions/NginxError' '404': @@ -834,12 +887,19 @@ paths: - HTTP Keyvals - Method PATCH summary: Modify a key-value or delete a key - description: Changes the value of the selected key in the key-value pair - or deletes a key by setting the key value to <literal>null</literal>. + description: Changes the value of the selected key in the key-value pair, + deletes a key by setting the key value to <literal>null</literal>, + changes expiration time of a key-value pair. If <a href="https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync">synchronization</a> of keyval zones in a cluster is enabled, deletes a key only on a target cluster node. + Expiration time in milliseconds can be specified for a key-value pair + with the *expire* parameter + which overrides the [*timeout*](https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_timeout) + parameter of the + <a href="https://nginx.org/en/docs/http/ngx_http_keyval_module.html#keyval_zone">keyval_zone</a> + directive. operationId: patchHttpKeyvalZoneKeyValue produces: - application/json @@ -849,15 +909,16 @@ paths: description: A new value for the key is specified in the JSON format. required: true schema: - $ref: '#/definitions/NginxHTTPKeyvalZone' + $ref: '#/definitions/NginxHTTPKeyvalZonePostPatch' responses: '204': description: Success '400': description: | - Key required (*KeyvalFormatError*), - only one key can be updated (*KeyvalFormatError*), - nested object or list (*KeyvalFormatError*) + Invalid JSON (*KeyvalFormatError*), + key required (*KeyvalFormatError*), + keyval timeout is not enabled (*KeyvalFormatError*), + only one key can be updated (*KeyvalFormatError*) schema: $ref: '#/definitions/NginxError' '404': @@ -928,7 +989,7 @@ paths: type: string description: Limits which fields of server zones will be output. If the “<literal>fields</literal>” value is empty, - then only server zone names are output. + then only server zone names will be output. responses: '200': description: Success @@ -1002,7 +1063,7 @@ paths: type: string description: Limits which fields of upstream server groups will be output. If the “<literal>fields</literal>” value is empty, - only names of upstreams are output. + only names of upstreams will be output. responses: '200': description: Success @@ -1307,7 +1368,7 @@ paths: in: query type: string description: If the “<literal>fields</literal>” value is empty, - then only stream keyval zone names are output. + then only stream keyval zone names will be output. responses: '200': description: Success @@ -1364,17 +1425,25 @@ paths: description: A key-value pair is specified in the JSON format. Several key-value pairs can be entered if the stream keyval shared memory zone is empty. + Expiration time in milliseconds can be specified for a key-value pair + with the *expire* parameter + which overrides the [*timeout*](https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_timeout) + parameter of the + <a href="https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_zone">keyval_zone</a> + directive. required: true schema: - $ref: '#/definitions/NginxStreamKeyvalZone' + $ref: '#/definitions/NginxStreamKeyvalZonePostPatch' responses: '201': description: Created '400': description: | - Key required (*KeyvalFormatError*), - only one key can be added (*KeyvalFormatError*), - nested object or list (*KeyvalFormatError*) + Invalid JSON (*KeyvalFormatError*), + invalid key format (*KeyvalFormatError*), + key required (*KeyvalFormatError*), + keyval timeout is not enabled (*KeyvalFormatError*), + only one key can be added (*KeyvalFormatError*) schema: $ref: '#/definitions/NginxError' '404': @@ -1399,12 +1468,19 @@ paths: - Stream Keyvals - Method PATCH summary: Modify a key-value or delete a key - description: Changes the value of the selected key in the key-value pair - or deletes a key by setting the key value to <literal>null</literal>. + description: Changes the value of the selected key in the key-value pair, + deletes a key by setting the key value to <literal>null</literal>, + changes expiration time of a key-value pair. If <a href="https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html#zone_sync">synchronization</a> of keyval zones in a cluster is enabled, deletes a key only on a target cluster node. + Expiration time is specified in milliseconds + with the *expire* parameter + which overrides the [*timeout*](https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_timeout) + parameter of the + <a href="https://nginx.org/en/docs/stream/ngx_stream_keyval_module.html#keyval_zone">keyval_zone</a> + directive. operationId: patchStreamKeyvalZoneKeyValue produces: - application/json @@ -1414,15 +1490,16 @@ paths: description: A new value for the key is specified in the JSON format. required: true schema: - $ref: '#/definitions/NginxStreamKeyvalZone' + $ref: '#/definitions/NginxStreamKeyvalZonePostPatch' responses: '204': description: Success '400': description: | - Key required (*KeyvalFormatError*), - only one key can be updated (*KeyvalFormatError*), - nested object or list (*KeyvalFormatError*) + Invalid JSON (*KeyvalFormatError*), + key required (*KeyvalFormatError*), + keyval timeout is not enabled (*KeyvalFormatError*), + only one key can be updated (*KeyvalFormatError*) schema: $ref: '#/definitions/NginxError' '404': @@ -1478,6 +1555,108 @@ paths: description: Success schema: $ref: '#/definitions/NginxStreamZoneSync' + /resolvers/: + get: + tags: + - Resolvers + - Method GET + summary: Return status for all resolver zones + description: Returns status information for each + [resolver zone](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone). + operationId: getResolverZones + produces: + - application/json + responses: + '200': + description: Success + schema: + $ref: '#/definitions/NginxResolverZonesMap' + parameters: + - in: query + name: fields + type: string + description: Limits which fields of resolvers statistics will be output. + '/resolvers/{resolverZoneName}': + parameters: + - name: resolverZoneName + in: path + description: The name of a resolver zone. + required: true + type: string + get: + tags: + - Resolvers + - Method GET + summary: Return statistics of a resolver zone + description: Returns statistics stored in a particular resolver + [zone](https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone). + operationId: getResolverZone + produces: + - application/json + parameters: + - name: fields + in: query + type: string + description: Limits which fields of the resolver zone will be output + (requests, responses, or both). + responses: + '200': + description: Success + schema: + $ref: '#/definitions/NginxResolverZone' + '404': + description: | + Resolver zone not found (*ResolverZoneNotFound*) + schema: + $ref: '#/definitions/NginxError' + delete: + tags: + - Resolvers + - Method DELETE + summary: Reset statistics for a resolver zone. + description: Resets statistics in a particular resolver zone. + operationId: deleteResolverZoneStat + responses: + '204': + description: Success + '404': + description: Resolver zone not found (*ResolverZoneNotFound*) + schema: + $ref: '#/definitions/NginxError' + '405': + description: Method disabled (*MethodDisabled*) + schema: + $ref: '#/definitions/NginxError' + /ssl: + get: + tags: + - SSL + - Method GET + summary: Return SSL statistics + description: Returns SSL statistics. + operationId: getSsl + produces: + - application/json + responses: + '200': + description: Success + schema: + $ref: '#/definitions/NginxSSLObject' + parameters: + - in: query + name: fields + type: string + description: Limits which fields of SSL statistics will be output. + delete: + tags: + - SSL + - Method DELETE + summary: Reset SSL statistics + description: Resets counters of SSL handshakes and session reuses. + operationId: deleteSslStat + responses: + '204': + description: Success ### ###DEFINITIONS ### @@ -1836,6 +2015,100 @@ definitions: example: processing: 1 requests: 706690 + responses: + 1xx: 0 + 2xx: 699482 + 3xx: 4522 + 4xx: 907 + 5xx: 266 + total: 705177 + discarded: 1513 + received: 172711587 + sent: 19415530115 + NginxHTTPLocationZonesMap: + title: HTTP Location Zones + description: | + Status data for all HTTP + <a href="https://nginx.org/en/docs/http/ngx_http_api_module.html#status_zone">location zones</a>. + type: object + additionalProperties: + $ref: '#/definitions/NginxHTTPLocationZone' + example: + site1: + requests: 736395 + responses: + 1xx: 0 + 2xx: 727290 + 3xx: 4614 + 4xx: 934 + 5xx: 1535 + total: 734373 + discarded: 2020 + received: 180157219 + sent: 20183175459 + site2: + requests: 185307 + responses: + 1xx: 0 + 2xx: 112674 + 3xx: 45383 + 4xx: 2504 + 5xx: 4419 + total: 164980 + discarded: 20326 + received: 51575327 + sent: 2983241510 + NginxHTTPLocationZone: + title: HTTP Location Zone + type: object + properties: + requests: + type: integer + description: The total number of client requests received from clients. + responses: + description: The total number of responses sent to clients and the + number of responses with status codes + “<code>1xx</code>”, “<code>2xx</code>”, “<code>3xx</code>”, + “<code>4xx</code>”, and “<code>5xx</code>”. + type: object + readOnly: true + properties: + 1xx: + type: integer + description: The number of responses with “<code>1xx</code>” status codes. + readOnly: true + 2xx: + type: integer + description: The number of responses with “<code>2xx</code>” status codes. + readOnly: true + 3xx: + type: integer + description: The number of responses with “<code>3xx</code>” status codes. + readOnly: true + 4xx: + type: integer + description: The number of responses with “<code>4xx</code>” status codes. + readOnly: true + 5xx: + type: integer + description: The number of responses with “<code>5xx</code>” status codes. + readOnly: true + total: + type: integer + description: The total number of responses sent to clients. + readOnly: true + discarded: + type: integer + description: The total number of + requests completed without sending a response. + received: + type: integer + description: The total number of bytes received from clients. + sent: + type: integer + description: The total number of bytes sent to clients. + example: + requests: 706690 responses: 1xx: 0 2xx: 699482 @@ -2602,12 +2875,25 @@ definitions: NginxHTTPKeyvalZone: title: HTTP Keyval Shared Memory Zone description: | - Contents of an HTTP keyval shared memory zone. + Contents of an HTTP keyval shared memory zone + when using the GET method. type: object example: key1: value1 key2: value2 key3: value3 + NginxHTTPKeyvalZonePostPatch: + title: HTTP Keyval Shared Memory Zone + description: | + Contents of an HTTP keyval shared memory zone + when using the POST or PATCH methods. + type: object + example: + key1: value1 + key2: value2 + key3: + value: value3 + expire: 30000 NginxStreamServerZonesMap: title: Stream Server Zones description: | @@ -3140,12 +3426,24 @@ definitions: NginxStreamKeyvalZone: title: Stream Keyval Shared Memory Zone description: | - Contents of a stream keyval shared memory zone. + Contents of a stream keyval shared memory zone when using the GET method. type: object example: key1: value1 key2: value2 key3: value3 + NginxStreamKeyvalZonePostPatch: + title: Stream Keyval Shared Memory Zone + description: | + Contents of a stream keyval shared memory zone + when using the POST or PATCH methods. + type: object + example: + key1: value1 + key2: value2 + key3: + value: value3 + expire: 30000 NginxStreamZoneSync: title: Stream Zone Sync Node type: object @@ -3200,6 +3498,126 @@ definitions: records_total: type: integer description: The total number of records stored in the shared memory zone. + NginxResolverZonesMap: + title: Resolver Zones + description: | + Status data for all + <a href="https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone">resolver zones</a>. + type: object + additionalProperties: + $ref: '#/definitions/NginxResolverZone' + example: + resolver_zone1: + requests: + name: 25460 + srv: 130 + addr: 2580 + responses: + noerror: 26499 + formerr: 0 + servfail: 3 + nxdomain: 0 + notimp: 0 + refused: 0 + timedout: 243 + unknown: 478 + resolver_zone2: + requests: + name: 325460 + srv: 1130 + addr: 12580 + responses: + noerror: 226499 + formerr: 0 + servfail: 283 + nxdomain: 0 + notimp: 0 + refused: 0 + timedout: 743 + unknown: 1478 + NginxResolverZone: + title: Resolver Zone + description: | + Statistics of DNS requests and responses per particular + <a href="https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver_status_zone">resolver zone</a>. + type: object + properties: + requests: + type: object + readOnly: true + properties: + name: + type: integer + description: The total number of requests + to resolve names to addresses. + readOnly: true + srv: + type: integer + description: The total number of requests + to resolve SRV records. + readOnly: true + addr: + type: integer + description: The total number of requests + to resolve addresses to names. + readOnly: true + responses: + type: object + readOnly: true + properties: + noerror: + type: integer + description: The total number of successful responses. + readOnly: true + formerr: + type: integer + description: The total number of + FORMERR (<literal>Format error</literal>) responses. + readOnly: true + servfail: + type: integer + description: The total number of + SERVFAIL (<literal>Server failure</literal>) responses. + readOnly: true + nxdomain: + type: integer + description: The total number of + NXDOMAIN (<literal>Host not found</literal>) responses. + readOnly: true + notimp: + type: integer + description: The total number of + NOTIMP (<literal>Unimplemented</literal>) responses. + readOnly: true + refused: + type: integer + description: The total number of + REFUSED (<literal>Operation refused</literal>) responses. + readOnly: true + timedout: + type: integer + description: The total number of timed out requests. + readOnly: true + unknown: + type: integer + description: The total number of requests + completed with an unknown error. + readOnly: true + example: + resolver_zone1: + requests: + name: 25460 + srv: 130 + addr: 2580 + responses: + noerror: 26499 + formerr: 0 + servfail: 3 + nxdomain: 0 + notimp: 0 + refused: 0 + timedout: 243 + unknown: 478 NginxError: title: Error description: |
--- a/yaml/yaml2xml.py +++ b/yaml/yaml2xml.py @@ -44,7 +44,7 @@ def node_description(node): def pretty_endpoint(ep): - return ep.replace('/',' ').replace('_',' ') + return ep.replace('/slabs/','slabs').replace('/resolvers/','resolvers').replace('/http/','HTTP ').replace('/stream/','stream ').replace('s/','s').replace('_',' ') # human-readable html element id based on path