2018-07-08 21:22:10 -04:00
|
|
|
{
|
|
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
|
|
"$id": "endpoints/proxy-hosts",
|
2018-07-17 18:35:49 -04:00
|
|
|
"title": "Proxy Hosts",
|
2018-07-08 21:22:10 -04:00
|
|
|
"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"
|
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"domain_names": {
|
|
|
|
"$ref": "../definitions.json#/definitions/domain_names"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-12-11 18:47:12 -05:00
|
|
|
"forward_scheme": {
|
|
|
|
"type": "string",
|
|
|
|
"enum": ["http", "https"]
|
|
|
|
},
|
2018-10-19 01:38:14 -04:00
|
|
|
"forward_host": {
|
2018-07-08 21:22:10 -04:00
|
|
|
"type": "string",
|
2018-10-19 01:38:14 -04:00
|
|
|
"minLength": 1,
|
|
|
|
"maxLength": 50
|
2018-07-17 18:35:49 -04:00
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"type": "integer",
|
|
|
|
"minimum": 1,
|
|
|
|
"maximum": 65535
|
|
|
|
},
|
2018-08-13 08:51:36 -04:00
|
|
|
"certificate_id": {
|
|
|
|
"$ref": "../definitions.json#/definitions/certificate_id"
|
2018-07-17 18:35:49 -04:00
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"$ref": "../definitions.json#/definitions/ssl_forced"
|
|
|
|
},
|
2019-02-18 03:21:45 -05:00
|
|
|
"hsts_enabled": {
|
|
|
|
"$ref": "../definitions.json#/definitions/hsts_enabled"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"$ref": "../definitions.json#/definitions/hsts_subdomains"
|
|
|
|
},
|
2018-11-12 06:45:23 -05:00
|
|
|
"http2_support": {
|
|
|
|
"$ref": "../definitions.json#/definitions/http2_support"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"block_exploits": {
|
|
|
|
"$ref": "../definitions.json#/definitions/block_exploits"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"$ref": "../definitions.json#/definitions/caching_enabled"
|
|
|
|
},
|
2018-09-29 02:02:05 -04:00
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"description": "Allow Websocket Upgrade for all paths",
|
|
|
|
"example": true,
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"access_list_id": {
|
|
|
|
"$ref": "../definitions.json#/definitions/access_list_id"
|
|
|
|
},
|
2018-08-22 00:31:03 -04:00
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
2019-01-03 05:27:43 -05:00
|
|
|
"enabled": {
|
|
|
|
"$ref": "../definitions.json#/definitions/enabled"
|
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"meta": {
|
2018-08-13 08:51:36 -04:00
|
|
|
"type": "object"
|
2019-03-04 17:21:02 -05:00
|
|
|
},
|
|
|
|
"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"
|
|
|
|
},
|
2019-03-10 23:52:09 -04:00
|
|
|
"forward_path": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
2019-03-04 17:21:02 -05:00
|
|
|
"advanced_config": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-07-17 18:35:49 -04:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"$ref": "#/definitions/id"
|
|
|
|
},
|
|
|
|
"created_on": {
|
|
|
|
"$ref": "#/definitions/created_on"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"modified_on": {
|
|
|
|
"$ref": "#/definitions/modified_on"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"domain_names": {
|
|
|
|
"$ref": "#/definitions/domain_names"
|
|
|
|
},
|
2018-12-11 18:47:12 -05:00
|
|
|
"forward_scheme": {
|
|
|
|
"$ref": "#/definitions/forward_scheme"
|
|
|
|
},
|
2018-10-19 01:38:14 -04:00
|
|
|
"forward_host": {
|
|
|
|
"$ref": "#/definitions/forward_host"
|
2018-07-17 18:35:49 -04:00
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"$ref": "#/definitions/forward_port"
|
|
|
|
},
|
2018-08-13 08:51:36 -04:00
|
|
|
"certificate_id": {
|
|
|
|
"$ref": "#/definitions/certificate_id"
|
2018-07-17 18:35:49 -04:00
|
|
|
},
|
|
|
|
"ssl_forced": {
|
|
|
|
"$ref": "#/definitions/ssl_forced"
|
|
|
|
},
|
2019-02-18 03:21:45 -05:00
|
|
|
"hsts_enabled": {
|
|
|
|
"$ref": "#/definitions/hsts_enabled"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"$ref": "#/definitions/hsts_subdomains"
|
|
|
|
},
|
2018-11-12 06:45:23 -05:00
|
|
|
"http2_support": {
|
|
|
|
"$ref": "#/definitions/http2_support"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"block_exploits": {
|
|
|
|
"$ref": "#/definitions/block_exploits"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"$ref": "#/definitions/caching_enabled"
|
|
|
|
},
|
2018-09-29 02:02:05 -04:00
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"$ref": "#/definitions/allow_websocket_upgrade"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"access_list_id": {
|
|
|
|
"$ref": "#/definitions/access_list_id"
|
|
|
|
},
|
2018-08-22 00:31:03 -04:00
|
|
|
"advanced_config": {
|
|
|
|
"$ref": "#/definitions/advanced_config"
|
|
|
|
},
|
2019-01-03 05:27:43 -05:00
|
|
|
"enabled": {
|
|
|
|
"$ref": "#/definitions/enabled"
|
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"meta": {
|
|
|
|
"$ref": "#/definitions/meta"
|
2019-03-04 17:21:02 -05:00
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"$ref": "#/definitions/locations"
|
2018-07-08 21:22:10 -04:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"links": [
|
|
|
|
{
|
|
|
|
"title": "List",
|
2018-07-17 18:35:49 -04:00
|
|
|
"description": "Returns a list of Proxy Hosts",
|
|
|
|
"href": "/nginx/proxy-hosts",
|
2018-07-08 21:22:10 -04:00
|
|
|
"access": "private",
|
|
|
|
"method": "GET",
|
|
|
|
"rel": "self",
|
|
|
|
"http_header": {
|
|
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
|
|
},
|
|
|
|
"targetSchema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/properties"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"title": "Create",
|
2018-07-17 18:35:49 -04:00
|
|
|
"description": "Creates a new Proxy Host",
|
|
|
|
"href": "/nginx/proxy-hosts",
|
2018-07-08 21:22:10 -04:00
|
|
|
"access": "private",
|
|
|
|
"method": "POST",
|
|
|
|
"rel": "create",
|
|
|
|
"http_header": {
|
|
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
|
|
},
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
2018-07-25 18:23:32 -04:00
|
|
|
"additionalProperties": false,
|
2018-07-08 21:22:10 -04:00
|
|
|
"required": [
|
2018-07-17 18:35:49 -04:00
|
|
|
"domain_names",
|
2018-12-11 18:47:12 -05:00
|
|
|
"forward_scheme",
|
2018-10-19 01:38:14 -04:00
|
|
|
"forward_host",
|
2018-07-17 18:35:49 -04:00
|
|
|
"forward_port"
|
2018-07-08 21:22:10 -04:00
|
|
|
],
|
|
|
|
"properties": {
|
2018-07-17 18:35:49 -04:00
|
|
|
"domain_names": {
|
|
|
|
"$ref": "#/definitions/domain_names"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-12-11 18:47:12 -05:00
|
|
|
"forward_scheme": {
|
|
|
|
"$ref": "#/definitions/forward_scheme"
|
|
|
|
},
|
2018-10-19 01:38:14 -04:00
|
|
|
"forward_host": {
|
|
|
|
"$ref": "#/definitions/forward_host"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"forward_port": {
|
|
|
|
"$ref": "#/definitions/forward_port"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-08-13 08:51:36 -04:00
|
|
|
"certificate_id": {
|
|
|
|
"$ref": "#/definitions/certificate_id"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"ssl_forced": {
|
|
|
|
"$ref": "#/definitions/ssl_forced"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2019-02-18 03:21:45 -05:00
|
|
|
"hsts_enabled": {
|
|
|
|
"$ref": "#/definitions/hsts_enabled"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"$ref": "#/definitions/hsts_enabled"
|
|
|
|
},
|
2018-11-12 06:45:23 -05:00
|
|
|
"http2_support": {
|
|
|
|
"$ref": "#/definitions/http2_support"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"block_exploits": {
|
|
|
|
"$ref": "#/definitions/block_exploits"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"$ref": "#/definitions/caching_enabled"
|
|
|
|
},
|
2018-09-29 02:02:05 -04:00
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"$ref": "#/definitions/allow_websocket_upgrade"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"access_list_id": {
|
|
|
|
"$ref": "#/definitions/access_list_id"
|
|
|
|
},
|
2018-08-22 00:31:03 -04:00
|
|
|
"advanced_config": {
|
|
|
|
"$ref": "#/definitions/advanced_config"
|
|
|
|
},
|
2019-01-03 05:27:43 -05:00
|
|
|
"enabled": {
|
|
|
|
"$ref": "#/definitions/enabled"
|
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"meta": {
|
|
|
|
"$ref": "#/definitions/meta"
|
2019-03-04 17:21:02 -05:00
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"$ref": "#/definitions/locations"
|
2018-07-08 21:22:10 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"targetSchema": {
|
|
|
|
"properties": {
|
|
|
|
"$ref": "#/properties"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"title": "Update",
|
2018-07-17 18:35:49 -04:00
|
|
|
"description": "Updates a existing Proxy Host",
|
|
|
|
"href": "/nginx/proxy-hosts/{definitions.identity.example}",
|
2018-07-08 21:22:10 -04:00
|
|
|
"access": "private",
|
|
|
|
"method": "PUT",
|
|
|
|
"rel": "update",
|
|
|
|
"http_header": {
|
|
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
|
|
},
|
|
|
|
"schema": {
|
|
|
|
"type": "object",
|
2018-07-25 18:23:32 -04:00
|
|
|
"additionalProperties": false,
|
2018-07-08 21:22:10 -04:00
|
|
|
"properties": {
|
2018-07-17 18:35:49 -04:00
|
|
|
"domain_names": {
|
|
|
|
"$ref": "#/definitions/domain_names"
|
|
|
|
},
|
2018-12-11 18:47:12 -05:00
|
|
|
"forward_scheme": {
|
|
|
|
"$ref": "#/definitions/forward_scheme"
|
|
|
|
},
|
2018-10-19 01:38:14 -04:00
|
|
|
"forward_host": {
|
|
|
|
"$ref": "#/definitions/forward_host"
|
2018-07-17 18:35:49 -04:00
|
|
|
},
|
|
|
|
"forward_port": {
|
|
|
|
"$ref": "#/definitions/forward_port"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-08-13 08:51:36 -04:00
|
|
|
"certificate_id": {
|
|
|
|
"$ref": "#/definitions/certificate_id"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"ssl_forced": {
|
|
|
|
"$ref": "#/definitions/ssl_forced"
|
2018-07-08 21:22:10 -04:00
|
|
|
},
|
2019-02-18 03:21:45 -05:00
|
|
|
"hsts_enabled": {
|
|
|
|
"$ref": "#/definitions/hsts_enabled"
|
|
|
|
},
|
|
|
|
"hsts_subdomains": {
|
|
|
|
"$ref": "#/definitions/hsts_enabled"
|
|
|
|
},
|
2018-11-12 06:45:23 -05:00
|
|
|
"http2_support": {
|
|
|
|
"$ref": "#/definitions/http2_support"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"block_exploits": {
|
|
|
|
"$ref": "#/definitions/block_exploits"
|
|
|
|
},
|
|
|
|
"caching_enabled": {
|
|
|
|
"$ref": "#/definitions/caching_enabled"
|
|
|
|
},
|
2018-09-29 02:02:05 -04:00
|
|
|
"allow_websocket_upgrade": {
|
|
|
|
"$ref": "#/definitions/allow_websocket_upgrade"
|
|
|
|
},
|
2018-07-24 02:56:39 -04:00
|
|
|
"access_list_id": {
|
|
|
|
"$ref": "#/definitions/access_list_id"
|
|
|
|
},
|
2018-08-22 00:31:03 -04:00
|
|
|
"advanced_config": {
|
|
|
|
"$ref": "#/definitions/advanced_config"
|
|
|
|
},
|
2019-01-03 05:27:43 -05:00
|
|
|
"enabled": {
|
|
|
|
"$ref": "#/definitions/enabled"
|
|
|
|
},
|
2018-07-17 18:35:49 -04:00
|
|
|
"meta": {
|
|
|
|
"$ref": "#/definitions/meta"
|
2019-03-04 17:21:02 -05:00
|
|
|
},
|
|
|
|
"locations": {
|
|
|
|
"$ref": "#/definitions/locations"
|
2018-07-08 21:22:10 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"targetSchema": {
|
|
|
|
"properties": {
|
|
|
|
"$ref": "#/properties"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"title": "Delete",
|
2018-07-17 18:35:49 -04:00
|
|
|
"description": "Deletes a existing Proxy Host",
|
|
|
|
"href": "/nginx/proxy-hosts/{definitions.identity.example}",
|
2018-07-08 21:22:10 -04:00
|
|
|
"access": "private",
|
|
|
|
"method": "DELETE",
|
|
|
|
"rel": "delete",
|
|
|
|
"http_header": {
|
|
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
|
|
},
|
|
|
|
"targetSchema": {
|
|
|
|
"type": "boolean"
|
|
|
|
}
|
2019-01-03 05:27:43 -05:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"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"
|
|
|
|
}
|
2018-07-08 21:22:10 -04:00
|
|
|
}
|
2018-07-17 18:35:49 -04:00
|
|
|
]
|
2018-07-08 21:22:10 -04:00
|
|
|
}
|