| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "$id": "endpoints/proxy-hosts",
- "title": "Proxy Hosts",
- "description": "Endpoints relating to Proxy Hosts",
- "stability": "stable",
- "type": "object",
- "definitions": {
- "id": {
- "$ref": "../definitions.json#/definitions/id"
- },
- "created_on": {
- "$ref": "../definitions.json#/definitions/created_on"
- },
- "modified_on": {
- "$ref": "../definitions.json#/definitions/modified_on"
- },
- "domain_names": {
- "$ref": "../definitions.json#/definitions/domain_names"
- },
- "forward_scheme": {
- "type": "string",
- "enum": ["http", "https"]
- },
- "forward_host": {
- "type": "string",
- "minLength": 1,
- "maxLength": 255
- },
- "forward_port": {
- "type": "integer",
- "minimum": 1,
- "maximum": 65535
- },
- "certificate_id": {
- "$ref": "../definitions.json#/definitions/certificate_id"
- },
- "ssl_forced": {
- "$ref": "../definitions.json#/definitions/ssl_forced"
- },
- "hsts_enabled": {
- "$ref": "../definitions.json#/definitions/hsts_enabled"
- },
- "hsts_subdomains": {
- "$ref": "../definitions.json#/definitions/hsts_subdomains"
- },
- "http2_support": {
- "$ref": "../definitions.json#/definitions/http2_support"
- },
- "block_exploits": {
- "$ref": "../definitions.json#/definitions/block_exploits"
- },
- "caching_enabled": {
- "$ref": "../definitions.json#/definitions/caching_enabled"
- },
- "allow_websocket_upgrade": {
- "description": "Allow Websocket Upgrade for all paths",
- "example": true,
- "type": "boolean"
- },
- "access_list_id": {
- "$ref": "../definitions.json#/definitions/access_list_id"
- },
- "advanced_config": {
- "type": "string"
- },
- "enabled": {
- "$ref": "../definitions.json#/definitions/enabled"
- },
- "meta": {
- "type": "object"
- },
- "locations": {
- "type": "array",
- "minItems": 0,
- "items": {
- "type": "object",
- "required": [
- "forward_scheme",
- "forward_host",
- "forward_port",
- "path"
- ],
- "additionalProperties": false,
- "properties": {
- "id": {
- "type": ["integer", "null"]
- },
- "path": {
- "type": "string",
- "minLength": 1
- },
- "forward_scheme": {
- "$ref": "#/definitions/forward_scheme"
- },
- "forward_host": {
- "$ref": "#/definitions/forward_host"
- },
- "forward_port": {
- "$ref": "#/definitions/forward_port"
- },
- "forward_path": {
- "type": "string"
- },
- "advanced_config": {
- "type": "string"
- }
- }
- }
- }
- },
- "properties": {
- "id": {
- "$ref": "#/definitions/id"
- },
- "created_on": {
- "$ref": "#/definitions/created_on"
- },
- "modified_on": {
- "$ref": "#/definitions/modified_on"
- },
- "domain_names": {
- "$ref": "#/definitions/domain_names"
- },
- "forward_scheme": {
- "$ref": "#/definitions/forward_scheme"
- },
- "forward_host": {
- "$ref": "#/definitions/forward_host"
- },
- "forward_port": {
- "$ref": "#/definitions/forward_port"
- },
- "certificate_id": {
- "$ref": "#/definitions/certificate_id"
- },
- "ssl_forced": {
- "$ref": "#/definitions/ssl_forced"
- },
- "hsts_enabled": {
- "$ref": "#/definitions/hsts_enabled"
- },
- "hsts_subdomains": {
- "$ref": "#/definitions/hsts_subdomains"
- },
- "http2_support": {
- "$ref": "#/definitions/http2_support"
- },
- "block_exploits": {
- "$ref": "#/definitions/block_exploits"
- },
- "caching_enabled": {
- "$ref": "#/definitions/caching_enabled"
- },
- "allow_websocket_upgrade": {
- "$ref": "#/definitions/allow_websocket_upgrade"
- },
- "access_list_id": {
- "$ref": "#/definitions/access_list_id"
- },
- "advanced_config": {
- "$ref": "#/definitions/advanced_config"
- },
- "enabled": {
- "$ref": "#/definitions/enabled"
- },
- "meta": {
- "$ref": "#/definitions/meta"
- },
- "locations": {
- "$ref": "#/definitions/locations"
- }
- },
- "links": [
- {
- "title": "List",
- "description": "Returns a list of Proxy Hosts",
- "href": "/nginx/proxy-hosts",
- "access": "private",
- "method": "GET",
- "rel": "self",
- "http_header": {
- "$ref": "../examples.json#/definitions/auth_header"
- },
- "targetSchema": {
- "type": "array",
- "items": {
- "$ref": "#/properties"
- }
- }
- },
- {
- "title": "Create",
- "description": "Creates a new Proxy Host",
- "href": "/nginx/proxy-hosts",
- "access": "private",
- "method": "POST",
- "rel": "create",
- "http_header": {
- "$ref": "../examples.json#/definitions/auth_header"
- },
- "schema": {
- "type": "object",
- "additionalProperties": false,
- "required": [
- "domain_names",
- "forward_scheme",
- "forward_host",
- "forward_port"
- ],
- "properties": {
- "domain_names": {
- "$ref": "#/definitions/domain_names"
- },
- "forward_scheme": {
- "$ref": "#/definitions/forward_scheme"
- },
- "forward_host": {
- "$ref": "#/definitions/forward_host"
- },
- "forward_port": {
- "$ref": "#/definitions/forward_port"
- },
- "certificate_id": {
- "$ref": "#/definitions/certificate_id"
- },
- "ssl_forced": {
- "$ref": "#/definitions/ssl_forced"
- },
- "hsts_enabled": {
- "$ref": "#/definitions/hsts_enabled"
- },
- "hsts_subdomains": {
- "$ref": "#/definitions/hsts_enabled"
- },
- "http2_support": {
- "$ref": "#/definitions/http2_support"
- },
- "block_exploits": {
- "$ref": "#/definitions/block_exploits"
- },
- "caching_enabled": {
- "$ref": "#/definitions/caching_enabled"
- },
- "allow_websocket_upgrade": {
- "$ref": "#/definitions/allow_websocket_upgrade"
- },
- "access_list_id": {
- "$ref": "#/definitions/access_list_id"
- },
- "advanced_config": {
- "$ref": "#/definitions/advanced_config"
- },
- "enabled": {
- "$ref": "#/definitions/enabled"
- },
- "meta": {
- "$ref": "#/definitions/meta"
- },
- "locations": {
- "$ref": "#/definitions/locations"
- }
- }
- },
- "targetSchema": {
- "properties": {
- "$ref": "#/properties"
- }
- }
- },
- {
- "title": "Update",
- "description": "Updates a existing Proxy Host",
- "href": "/nginx/proxy-hosts/{definitions.identity.example}",
- "access": "private",
- "method": "PUT",
- "rel": "update",
- "http_header": {
- "$ref": "../examples.json#/definitions/auth_header"
- },
- "schema": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "domain_names": {
- "$ref": "#/definitions/domain_names"
- },
- "forward_scheme": {
- "$ref": "#/definitions/forward_scheme"
- },
- "forward_host": {
- "$ref": "#/definitions/forward_host"
- },
- "forward_port": {
- "$ref": "#/definitions/forward_port"
- },
- "certificate_id": {
- "$ref": "#/definitions/certificate_id"
- },
- "ssl_forced": {
- "$ref": "#/definitions/ssl_forced"
- },
- "hsts_enabled": {
- "$ref": "#/definitions/hsts_enabled"
- },
- "hsts_subdomains": {
- "$ref": "#/definitions/hsts_enabled"
- },
- "http2_support": {
- "$ref": "#/definitions/http2_support"
- },
- "block_exploits": {
- "$ref": "#/definitions/block_exploits"
- },
- "caching_enabled": {
- "$ref": "#/definitions/caching_enabled"
- },
- "allow_websocket_upgrade": {
- "$ref": "#/definitions/allow_websocket_upgrade"
- },
- "access_list_id": {
- "$ref": "#/definitions/access_list_id"
- },
- "advanced_config": {
- "$ref": "#/definitions/advanced_config"
- },
- "enabled": {
- "$ref": "#/definitions/enabled"
- },
- "meta": {
- "$ref": "#/definitions/meta"
- },
- "locations": {
- "$ref": "#/definitions/locations"
- }
- }
- },
- "targetSchema": {
- "properties": {
- "$ref": "#/properties"
- }
- }
- },
- {
- "title": "Delete",
- "description": "Deletes a existing Proxy Host",
- "href": "/nginx/proxy-hosts/{definitions.identity.example}",
- "access": "private",
- "method": "DELETE",
- "rel": "delete",
- "http_header": {
- "$ref": "../examples.json#/definitions/auth_header"
- },
- "targetSchema": {
- "type": "boolean"
- }
- },
- {
- "title": "Enable",
- "description": "Enables a existing Proxy Host",
- "href": "/nginx/proxy-hosts/{definitions.identity.example}/enable",
- "access": "private",
- "method": "POST",
- "rel": "update",
- "http_header": {
- "$ref": "../examples.json#/definitions/auth_header"
- },
- "targetSchema": {
- "type": "boolean"
- }
- },
- {
- "title": "Disable",
- "description": "Disables a existing Proxy Host",
- "href": "/nginx/proxy-hosts/{definitions.identity.example}/disable",
- "access": "private",
- "method": "POST",
- "rel": "update",
- "http_header": {
- "$ref": "../examples.json#/definitions/auth_header"
- },
- "targetSchema": {
- "type": "boolean"
- }
- }
- ]
- }
|