
Add 'user_default_domain' config option to replace the hardcoded "Default" domain when users login without specifying a domain. Also add '/config' API endpoint to expose public configurations before authentication. Currently returns user_default_domain and can be extended for other public configs. Changes: - Add user_default_domain in openstack config section - Add GET /config endpoint (no auth required) - Use generic Config schema for extensibility - Update docs and sample files This improves flexibility for multi-domain deployments. Change-Id: I6fc40337c9835cf8172bcfa86cac621b7effeb0d Signed-off-by: Reet Srivastava <reet.srivastava@rackspace.com> Signed-off-by: Wu Wenxiang <wu.wenxiang@algoblu.com>
5088 lines
195 KiB
JSON
5088 lines
195 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "Skyline API",
|
|
"version": "0.1.0"
|
|
},
|
|
"paths": {
|
|
"/api/v1/login": {
|
|
"post": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Login",
|
|
"description": "Login & get user profile.",
|
|
"operationId": "login_api_v1_login_post",
|
|
"parameters": [
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Credential"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Profile"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/config": {
|
|
"get": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Get Config",
|
|
"description": "Get public configuration",
|
|
"operationId": "get_config_api_v1_config_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Config"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/sso": {
|
|
"get": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Get Sso",
|
|
"description": "SSO configuration.",
|
|
"operationId": "get_sso_api_v1_sso_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SSO"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/websso": {
|
|
"post": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Websso",
|
|
"description": "Websso",
|
|
"operationId": "websso_api_v1_websso_post",
|
|
"parameters": [
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/x-www-form-urlencoded": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_websso_api_v1_websso_post"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"302": {
|
|
"description": "Redirect to SSO provider"
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/profile": {
|
|
"get": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Get Profile",
|
|
"description": "Get user profile.",
|
|
"operationId": "get_profile_api_v1_profile_get",
|
|
"parameters": [
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Profile"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/logout": {
|
|
"post": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Logout",
|
|
"description": "Log out.",
|
|
"operationId": "logout_api_v1_logout_post",
|
|
"parameters": [
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Message"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/switch_project/{project_id}": {
|
|
"post": {
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"summary": "Switch Project",
|
|
"description": "Switch project.",
|
|
"operationId": "switch_project_api_v1_switch_project__project_id__post",
|
|
"parameters": [
|
|
{
|
|
"name": "project_id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Profile"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/extension/servers": {
|
|
"get": {
|
|
"tags": [
|
|
"Extension"
|
|
],
|
|
"summary": "List Servers",
|
|
"description": "List Servers",
|
|
"operationId": "list_servers_api_v1_extension_servers_get",
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value.",
|
|
"title": "Limit"
|
|
},
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value."
|
|
},
|
|
{
|
|
"name": "marker",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the last-seen item.",
|
|
"title": "Marker"
|
|
},
|
|
"description": "The ID of the last-seen item."
|
|
},
|
|
{
|
|
"name": "sort_dirs",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDir"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which directions to sort.",
|
|
"title": "Sort Dirs"
|
|
},
|
|
"description": "Indicates in which directions to sort."
|
|
},
|
|
{
|
|
"name": "sort_keys",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ServerSortKey"
|
|
},
|
|
"description": "Indicates in which attributes to sort. Host is only used for admin role users",
|
|
"title": "Sort Keys"
|
|
},
|
|
"description": "Indicates in which attributes to sort. Host is only used for admin role users"
|
|
},
|
|
{
|
|
"name": "all_projects",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "List servers for all projects.",
|
|
"title": "All Projects"
|
|
},
|
|
"description": "List servers for all projects."
|
|
},
|
|
{
|
|
"name": "project_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of servers by the given project ID. Only works when the all_projects filter is also specified.",
|
|
"title": "Project Id"
|
|
},
|
|
"description": "Filter the list of servers by the given project ID. Only works when the all_projects filter is also specified."
|
|
},
|
|
{
|
|
"name": "project_name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of servers by the given project name. Only works when the all_projects filter is also specified.",
|
|
"title": "Project Name"
|
|
},
|
|
"description": "Filter the list of servers by the given project name. Only works when the all_projects filter is also specified."
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of servers by the given server name. Support fuzzy query.",
|
|
"title": "Name"
|
|
},
|
|
"description": "Filter the list of servers by the given server name. Support fuzzy query."
|
|
},
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ServerStatus"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of servers by the given server status.",
|
|
"title": "Status"
|
|
},
|
|
"description": "Filter the list of servers by the given server status."
|
|
},
|
|
{
|
|
"name": "host",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of servers by the given host. It will be ignored for non-admin user.",
|
|
"title": "Host"
|
|
},
|
|
"description": "Filter the list of servers by the given host. It will be ignored for non-admin user."
|
|
},
|
|
{
|
|
"name": "flavor_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "Filter the list of servers by the given flavor ID.",
|
|
"title": "Flavor Id"
|
|
},
|
|
"description": "Filter the list of servers by the given flavor ID."
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "Filter the list of servers by the given server UUID.",
|
|
"title": "Uuid"
|
|
},
|
|
"description": "Filter the list of servers by the given server UUID."
|
|
},
|
|
{
|
|
"name": "ip",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of servers by the given IP address (only fixed, not floating). Also passed to Nova API if supported.",
|
|
"title": "Ip"
|
|
},
|
|
"description": "Filter the list of servers by the given IP address (only fixed, not floating). Also passed to Nova API if supported."
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServersResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Bad Request"
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Forbidden"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/extension/recycle_servers": {
|
|
"get": {
|
|
"tags": [
|
|
"Extension"
|
|
],
|
|
"summary": "List Recycle Servers",
|
|
"description": "List Recycle Servers",
|
|
"operationId": "list_recycle_servers_api_v1_extension_recycle_servers_get",
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value.",
|
|
"title": "Limit"
|
|
},
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value."
|
|
},
|
|
{
|
|
"name": "marker",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the last-seen item.",
|
|
"title": "Marker"
|
|
},
|
|
"description": "The ID of the last-seen item."
|
|
},
|
|
{
|
|
"name": "sort_dirs",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDir"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which directions to sort.",
|
|
"title": "Sort Dirs"
|
|
},
|
|
"description": "Indicates in which directions to sort."
|
|
},
|
|
{
|
|
"name": "sort_keys",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RecycleServerSortKey"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which attributes to sort. Updated_at is used as deleted_at",
|
|
"title": "Sort Keys"
|
|
},
|
|
"description": "Indicates in which attributes to sort. Updated_at is used as deleted_at"
|
|
},
|
|
{
|
|
"name": "all_projects",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "List recycle servers for all projects.",
|
|
"title": "All Projects"
|
|
},
|
|
"description": "List recycle servers for all projects."
|
|
},
|
|
{
|
|
"name": "project_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of recycle servers by the given project ID. Only works when the all_projects filter is also specified.",
|
|
"title": "Project Id"
|
|
},
|
|
"description": "Filter the list of recycle servers by the given project ID. Only works when the all_projects filter is also specified."
|
|
},
|
|
{
|
|
"name": "project_name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of recycle servers by the given project name. Only works when the all_projects filter is also specified.",
|
|
"title": "Project Name"
|
|
},
|
|
"description": "Filter the list of recycle servers by the given project name. Only works when the all_projects filter is also specified."
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of recycle servers by the given server name. Support fuzzy query.",
|
|
"title": "Name"
|
|
},
|
|
"description": "Filter the list of recycle servers by the given server name. Support fuzzy query."
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of recycle servers by the given recycle server UUID.",
|
|
"title": "Uuid"
|
|
},
|
|
"description": "Filter the list of recycle servers by the given recycle server UUID."
|
|
},
|
|
{
|
|
"name": "ip",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of recycle servers by the given IP address (only fixed, not floating). Also passed to Nova API if supported.",
|
|
"title": "Ip"
|
|
},
|
|
"description": "Filter the list of recycle servers by the given IP address (only fixed, not floating). Also passed to Nova API if supported."
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RecycleServersResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Bad Request"
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Forbidden"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/extension/volumes": {
|
|
"get": {
|
|
"tags": [
|
|
"Extension"
|
|
],
|
|
"summary": "List Volumes",
|
|
"description": "List Volumes",
|
|
"operationId": "list_volumes_api_v1_extension_volumes_get",
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value.",
|
|
"title": "Limit"
|
|
},
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value."
|
|
},
|
|
{
|
|
"name": "marker",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the last-seen item.",
|
|
"title": "Marker"
|
|
},
|
|
"description": "The ID of the last-seen item."
|
|
},
|
|
{
|
|
"name": "sort_dirs",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDir"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which directions to sort.",
|
|
"title": "Sort Dirs"
|
|
},
|
|
"description": "Indicates in which directions to sort."
|
|
},
|
|
{
|
|
"name": "sort_keys",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/VolumeSortKey"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which attributes to sort. Updated_at is used as deleted_at",
|
|
"title": "Sort Keys"
|
|
},
|
|
"description": "Indicates in which attributes to sort. Updated_at is used as deleted_at"
|
|
},
|
|
{
|
|
"name": "all_projects",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "List volumes for all projects.",
|
|
"title": "All Projects"
|
|
},
|
|
"description": "List volumes for all projects."
|
|
},
|
|
{
|
|
"name": "project_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of volumes by the given project ID.",
|
|
"title": "Project Id"
|
|
},
|
|
"description": "Filter the list of volumes by the given project ID."
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of volumes by the given server name.",
|
|
"title": "Name"
|
|
},
|
|
"description": "Filter the list of volumes by the given server name."
|
|
},
|
|
{
|
|
"name": "multiattach",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of volumes by the given multiattach.",
|
|
"title": "Multiattach"
|
|
},
|
|
"description": "Filter the list of volumes by the given multiattach."
|
|
},
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/VolumeStatus"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of volumes by the given status.",
|
|
"title": "Status"
|
|
},
|
|
"description": "Filter the list of volumes by the given status."
|
|
},
|
|
{
|
|
"name": "bootable",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of volumes by the given bootable.",
|
|
"title": "Bootable"
|
|
},
|
|
"description": "Filter the list of volumes by the given bootable."
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of volumes by the given volumes UUID.",
|
|
"title": "Uuid"
|
|
},
|
|
"description": "Filter the list of volumes by the given volumes UUID."
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VolumesResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Forbidden"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/extension/volume_snapshots": {
|
|
"get": {
|
|
"tags": [
|
|
"Extension"
|
|
],
|
|
"summary": "List Volume Snapshots",
|
|
"description": "List Volume Snapshots.",
|
|
"operationId": "list_volume_snapshots_api_v1_extension_volume_snapshots_get",
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Requests a page size of items. Return items up to the limit value.",
|
|
"title": "Limit"
|
|
},
|
|
"description": "Requests a page size of items. Return items up to the limit value."
|
|
},
|
|
{
|
|
"name": "marker",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the last-seen item.",
|
|
"title": "Marker"
|
|
},
|
|
"description": "The ID of the last-seen item."
|
|
},
|
|
{
|
|
"name": "sort_dirs",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDir"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which directions to sort.",
|
|
"title": "Sort Dirs"
|
|
},
|
|
"description": "Indicates in which directions to sort."
|
|
},
|
|
{
|
|
"name": "sort_keys",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/VolumeSnapshotSortKey"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which attributes to sort.",
|
|
"title": "Sort Keys"
|
|
},
|
|
"description": "Indicates in which attributes to sort."
|
|
},
|
|
{
|
|
"name": "all_projects",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "List snapshots for all projects.",
|
|
"title": "All Projects"
|
|
},
|
|
"description": "List snapshots for all projects."
|
|
},
|
|
{
|
|
"name": "project_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of snapshots by the given project ID.",
|
|
"title": "Project Id"
|
|
},
|
|
"description": "Filter the list of snapshots by the given project ID."
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of snapshots by the given snapshot name.",
|
|
"title": "Name"
|
|
},
|
|
"description": "Filter the list of snapshots by the given snapshot name."
|
|
},
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/VolumeSnapshotStatus"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of snapshots by the given snapshot status.",
|
|
"title": "Status"
|
|
},
|
|
"description": "Filter the list of snapshots by the given snapshot status."
|
|
},
|
|
{
|
|
"name": "volume_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of snapshots by the given volume ID.",
|
|
"title": "Volume Id"
|
|
},
|
|
"description": "Filter the list of snapshots by the given volume ID."
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of snapshots by the given snapshot UUID.",
|
|
"title": "Uuid"
|
|
},
|
|
"description": "Filter the list of snapshots by the given snapshot UUID."
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VolumeSnapshotsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Forbidden"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/extension/ports": {
|
|
"get": {
|
|
"tags": [
|
|
"Extension"
|
|
],
|
|
"summary": "List Ports",
|
|
"description": "List Ports.",
|
|
"operationId": "list_ports_api_v1_extension_ports_get",
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value.",
|
|
"title": "Limit"
|
|
},
|
|
"description": "Requests a page size of items. Returns a number of items up to a limit value."
|
|
},
|
|
{
|
|
"name": "marker",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the last-seen item.",
|
|
"title": "Marker"
|
|
},
|
|
"description": "The ID of the last-seen item."
|
|
},
|
|
{
|
|
"name": "sort_dirs",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SortDir"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which directions to sort.",
|
|
"title": "Sort Dirs"
|
|
},
|
|
"description": "Indicates in which directions to sort."
|
|
},
|
|
{
|
|
"name": "sort_keys",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PortSortKey"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Indicates in which attributes to sort.",
|
|
"title": "Sort Keys"
|
|
},
|
|
"description": "Indicates in which attributes to sort."
|
|
},
|
|
{
|
|
"name": "all_projects",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "List ports for all projects.",
|
|
"title": "All Projects"
|
|
},
|
|
"description": "List ports for all projects."
|
|
},
|
|
{
|
|
"name": "project_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of ports by the given project ID.",
|
|
"title": "Project Id"
|
|
},
|
|
"description": "Filter the list of ports by the given project ID."
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of ports by the given port name.",
|
|
"title": "Name"
|
|
},
|
|
"description": "Filter the list of ports by the given port name."
|
|
},
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PortStatus"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of ports by the given port status.",
|
|
"title": "Status"
|
|
},
|
|
"description": "Filter the list of ports by the given port status."
|
|
},
|
|
{
|
|
"name": "network_name",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of ports by the given network name.",
|
|
"title": "Network Name"
|
|
},
|
|
"description": "Filter the list of ports by the given network name."
|
|
},
|
|
{
|
|
"name": "network_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of ports by the given network ID.",
|
|
"title": "Network Id"
|
|
},
|
|
"description": "Filter the list of ports by the given network ID."
|
|
},
|
|
{
|
|
"name": "device_id",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The ID of the device that uses this port. For example, a server instance or a logical router.",
|
|
"title": "Device Id"
|
|
},
|
|
"description": "The ID of the device that uses this port. For example, a server instance or a logical router."
|
|
},
|
|
{
|
|
"name": "device_owner",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PortDeviceOwner"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The entity type that uses this port.",
|
|
"title": "Device Owner"
|
|
},
|
|
"description": "The entity type that uses this port."
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter the list of ports by the given port UUID.",
|
|
"title": "Uuid"
|
|
},
|
|
"description": "Filter the list of ports by the given port UUID."
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PortsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Forbidden"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/extension/compute-services": {
|
|
"get": {
|
|
"tags": [
|
|
"Extension"
|
|
],
|
|
"summary": "Compute Services",
|
|
"description": "List compute services",
|
|
"operationId": "compute_services_api_v1_extension_compute_services_get",
|
|
"parameters": [
|
|
{
|
|
"name": "binary",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "Filter the list of compute services by the given binary.",
|
|
"title": "Binary"
|
|
},
|
|
"description": "Filter the list of compute services by the given binary."
|
|
},
|
|
{
|
|
"name": "host",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "Filter the list of compute services by the given host.",
|
|
"title": "Host"
|
|
},
|
|
"description": "Filter the list of compute services by the given host."
|
|
},
|
|
{
|
|
"name": "X-Openstack-Request-Id",
|
|
"in": "header",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^req-\\w{8}(-\\w{4}){3}-\\w{12}",
|
|
"default": "",
|
|
"title": "X-Openstack-Request-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ComputeServicesResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/query": {
|
|
"get": {
|
|
"tags": [
|
|
"Prometheus"
|
|
],
|
|
"summary": "Prometheus Query",
|
|
"description": "Prometheus query API.",
|
|
"operationId": "prometheus_query_api_v1_query_get",
|
|
"parameters": [
|
|
{
|
|
"name": "query",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The query expression of prometheus to filter.",
|
|
"title": "Query"
|
|
},
|
|
"description": "The query expression of prometheus to filter."
|
|
},
|
|
{
|
|
"name": "time",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The time to filter.",
|
|
"title": "Time"
|
|
},
|
|
"description": "The time to filter."
|
|
},
|
|
{
|
|
"name": "timeout",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The timeout to filter.",
|
|
"title": "Timeout"
|
|
},
|
|
"description": "The timeout to filter."
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PrometheusQueryResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/query_range": {
|
|
"get": {
|
|
"tags": [
|
|
"Prometheus"
|
|
],
|
|
"summary": "Prometheus Query Range",
|
|
"description": "Prometheus query_range API.",
|
|
"operationId": "prometheus_query_range_api_v1_query_range_get",
|
|
"parameters": [
|
|
{
|
|
"name": "query",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The query expression of prometheus to filter.",
|
|
"title": "Query"
|
|
},
|
|
"description": "The query expression of prometheus to filter."
|
|
},
|
|
{
|
|
"name": "start",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The start time to filter.",
|
|
"title": "Start"
|
|
},
|
|
"description": "The start time to filter."
|
|
},
|
|
{
|
|
"name": "end",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The end time to filter.",
|
|
"title": "End"
|
|
},
|
|
"description": "The end time to filter."
|
|
},
|
|
{
|
|
"name": "step",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The step to filter.",
|
|
"title": "Step"
|
|
},
|
|
"description": "The step to filter."
|
|
},
|
|
{
|
|
"name": "timeout",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The timeout to filter.",
|
|
"title": "Timeout"
|
|
},
|
|
"description": "The timeout to filter."
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PrometheusQueryRangeResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"500": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Internal Server Error"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/contrib/keystone_endpoints": {
|
|
"get": {
|
|
"tags": [
|
|
"Contrib"
|
|
],
|
|
"summary": "List Keystone Endpoints",
|
|
"description": "List Keystone Endpoints",
|
|
"operationId": "list_keystone_endpoints_api_v1_contrib_keystone_endpoints_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/KeystoneEndpoints"
|
|
},
|
|
"type": "array",
|
|
"title": "Response 200 List Keystone Endpoints Api V1 Contrib Keystone Endpoints Get"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/contrib/domains": {
|
|
"get": {
|
|
"tags": [
|
|
"Contrib"
|
|
],
|
|
"summary": "List Domains",
|
|
"description": "List Domains",
|
|
"operationId": "list_domains_api_v1_contrib_domains_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"title": "Response 200 List Domains Api V1 Contrib Domains Get"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/contrib/regions": {
|
|
"get": {
|
|
"tags": [
|
|
"Contrib"
|
|
],
|
|
"summary": "List Regions",
|
|
"description": "List Regions",
|
|
"operationId": "list_regions_api_v1_contrib_regions_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"title": "Response 200 List Regions Api V1 Contrib Regions Get"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/policies": {
|
|
"get": {
|
|
"tags": [
|
|
"Policy"
|
|
],
|
|
"summary": "List Policies",
|
|
"description": "List policies and permissions",
|
|
"operationId": "list_policies_api_v1_policies_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Policies"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/policies/check": {
|
|
"post": {
|
|
"tags": [
|
|
"Policy"
|
|
],
|
|
"summary": "Check Policies",
|
|
"description": "Check policies permissions",
|
|
"operationId": "check_policies_api_v1_policies_check_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PoliciesRules"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Policies"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InternalServerErrorMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/setting/{key}": {
|
|
"get": {
|
|
"tags": [
|
|
"Setting"
|
|
],
|
|
"summary": "Show Setting",
|
|
"description": "Get a setting item.",
|
|
"operationId": "show_setting_api_v1_setting__key__get",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"title": "Key"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Setting"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Not Found"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": [
|
|
"Setting"
|
|
],
|
|
"summary": "Reset Setting",
|
|
"description": "Reset a setting item to default",
|
|
"operationId": "reset_setting_api_v1_setting__key__delete",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"title": "Key"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Setting"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Forbidden"
|
|
},
|
|
"404": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundMessage"
|
|
}
|
|
}
|
|
},
|
|
"description": "Not Found"
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/setting": {
|
|
"put": {
|
|
"tags": [
|
|
"Setting"
|
|
],
|
|
"summary": "Update Setting",
|
|
"description": "Update a setting item.",
|
|
"operationId": "update_setting_api_v1_setting_put",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateSetting"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "ok",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Setting"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundMessage"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "Validation Error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/settings": {
|
|
"get": {
|
|
"tags": [
|
|
"Setting"
|
|
],
|
|
"summary": "List Settings",
|
|
"description": "Get all settings.",
|
|
"operationId": "list_settings_api_v1_settings_get",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Settings"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"BadRequestMessage": {
|
|
"properties": {
|
|
"detail": {
|
|
"type": "string",
|
|
"title": "Detail",
|
|
"description": "Detail message"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"detail"
|
|
],
|
|
"title": "BadRequestMessage"
|
|
},
|
|
"Body_websso_api_v1_websso_post": {
|
|
"properties": {
|
|
"token": {
|
|
"type": "string",
|
|
"title": "Token"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"token"
|
|
],
|
|
"title": "Body_websso_api_v1_websso_post"
|
|
},
|
|
"ComputeServicesResponse": {
|
|
"properties": {
|
|
"services": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ComputeServicesResponseBase"
|
|
},
|
|
"type": "array",
|
|
"title": "Services",
|
|
"description": "Services list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"services"
|
|
],
|
|
"title": "ComputeServicesResponse"
|
|
},
|
|
"ComputeServicesResponseBase": {
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Id",
|
|
"description": "Service id"
|
|
},
|
|
"binary": {
|
|
"type": "string",
|
|
"title": "Binary",
|
|
"description": "Service binary"
|
|
},
|
|
"disabled_reason": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Disabled Reason",
|
|
"description": "Disabled reason"
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"title": "Host",
|
|
"description": "Host name"
|
|
},
|
|
"state": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "State",
|
|
"description": "Service state"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"title": "Status",
|
|
"description": "Service status"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At",
|
|
"description": "Updated at"
|
|
},
|
|
"forced_down": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Forced Down",
|
|
"description": "Forced down"
|
|
},
|
|
"zone": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Zone",
|
|
"description": "Zone"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"binary",
|
|
"host",
|
|
"status"
|
|
],
|
|
"title": "ComputeServicesResponseBase"
|
|
},
|
|
"Config": {
|
|
"properties": {
|
|
"default_domain": {
|
|
"type": "string",
|
|
"title": "Default Domain"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"default_domain"
|
|
],
|
|
"title": "Config"
|
|
},
|
|
"Credential": {
|
|
"properties": {
|
|
"region": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Region",
|
|
"description": "Credential identity service region"
|
|
},
|
|
"domain": {
|
|
"type": "string",
|
|
"title": "Domain",
|
|
"description": "Credential user domain"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"title": "Username",
|
|
"description": "Credential username"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"title": "Password",
|
|
"description": "Credential password for user"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"domain",
|
|
"username",
|
|
"password"
|
|
],
|
|
"title": "Credential",
|
|
"examples": [
|
|
{
|
|
"domain": "default",
|
|
"password": "admin",
|
|
"region": "RegionOne",
|
|
"username": "admin"
|
|
}
|
|
]
|
|
},
|
|
"Domain": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "Domain ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"title": "Name",
|
|
"description": "Domain name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "Domain"
|
|
},
|
|
"FlavorInServer": {
|
|
"properties": {
|
|
"ephemeral": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ephemeral",
|
|
"description": "Ephemeral disk size in GB"
|
|
},
|
|
"ram": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ram",
|
|
"description": "RAM size in MB"
|
|
},
|
|
"original_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Original Name",
|
|
"description": "Original flavor name"
|
|
},
|
|
"vcpus": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Vcpus",
|
|
"description": "Number of vCPUs"
|
|
},
|
|
"extra_specs": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Extra Specs",
|
|
"description": "Extra specs"
|
|
},
|
|
"swap": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Swap",
|
|
"description": "Swap size in MB"
|
|
},
|
|
"disk": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Disk",
|
|
"description": "Disk size in GB"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"title": "FlavorInServer"
|
|
},
|
|
"ForbiddenMessage": {
|
|
"properties": {
|
|
"detail": {
|
|
"type": "string",
|
|
"title": "Detail",
|
|
"description": "Detail message"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"detail"
|
|
],
|
|
"title": "ForbiddenMessage"
|
|
},
|
|
"HTTPValidationError": {
|
|
"properties": {
|
|
"detail": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ValidationError"
|
|
},
|
|
"type": "array",
|
|
"title": "Detail"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"title": "HTTPValidationError"
|
|
},
|
|
"InternalServerErrorMessage": {
|
|
"properties": {
|
|
"detail": {
|
|
"type": "string",
|
|
"title": "Detail",
|
|
"description": "Detail message"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"detail"
|
|
],
|
|
"title": "InternalServerErrorMessage"
|
|
},
|
|
"KeystoneEndpoints": {
|
|
"properties": {
|
|
"region_name": {
|
|
"type": "string",
|
|
"title": "Region Name",
|
|
"description": "Region name"
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"title": "Url",
|
|
"description": "Endpoint URL"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"region_name",
|
|
"url"
|
|
],
|
|
"title": "KeystoneEndpoints"
|
|
},
|
|
"Message": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"title": "Message",
|
|
"description": "Message"
|
|
},
|
|
"code": {
|
|
"type": "integer",
|
|
"title": "Code",
|
|
"description": "Code",
|
|
"default": 200
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"title": "Title",
|
|
"description": "Title",
|
|
"default": "OK"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"message"
|
|
],
|
|
"title": "Message"
|
|
},
|
|
"NotFoundMessage": {
|
|
"properties": {
|
|
"detail": {
|
|
"type": "string",
|
|
"title": "Detail",
|
|
"description": "Detail message"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"detail"
|
|
],
|
|
"title": "NotFoundMessage"
|
|
},
|
|
"Policies": {
|
|
"properties": {
|
|
"policies": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Policy"
|
|
},
|
|
"type": "array",
|
|
"title": "Policies",
|
|
"description": "Policies list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"policies"
|
|
],
|
|
"title": "Policies"
|
|
},
|
|
"PoliciesRules": {
|
|
"properties": {
|
|
"rules": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array",
|
|
"title": "Rules",
|
|
"description": "Policies rules list"
|
|
},
|
|
"target": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Target",
|
|
"description": "Policies targets"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"rules"
|
|
],
|
|
"title": "PoliciesRules"
|
|
},
|
|
"Policy": {
|
|
"properties": {
|
|
"rule": {
|
|
"type": "string",
|
|
"title": "Rule",
|
|
"description": "Policy rule"
|
|
},
|
|
"allowed": {
|
|
"type": "boolean",
|
|
"title": "Allowed",
|
|
"description": "Policy allowed"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"rule",
|
|
"allowed"
|
|
],
|
|
"title": "Policy"
|
|
},
|
|
"PortDeviceOwner": {
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"compute:nova",
|
|
"compute:kuryr",
|
|
"network:router_ha_interface",
|
|
"network:ha_router_replicated_interface",
|
|
"network:router_interface",
|
|
"network:router_gateway",
|
|
"network:floatingip",
|
|
"network:local_ip",
|
|
"network:dhcp",
|
|
"network:router_interface_distributed",
|
|
"network:floatingip_agent_gateway",
|
|
"network:router_centralized_snat",
|
|
"network:routed",
|
|
"network:distributed",
|
|
"Octavia"
|
|
],
|
|
"title": "PortDeviceOwner"
|
|
},
|
|
"PortSortKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"id",
|
|
"name",
|
|
"mac_address",
|
|
"status",
|
|
"project_id"
|
|
],
|
|
"title": "PortSortKey"
|
|
},
|
|
"PortStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ACTIVE",
|
|
"DOWN",
|
|
"BUILD",
|
|
"ERROR",
|
|
"N/A"
|
|
],
|
|
"title": "PortStatus"
|
|
},
|
|
"PortsResponse": {
|
|
"properties": {
|
|
"ports": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PortsResponseBase"
|
|
},
|
|
"type": "array",
|
|
"title": "Ports",
|
|
"description": "Ports list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"ports"
|
|
],
|
|
"title": "PortsResponse"
|
|
},
|
|
"PortsResponseBase": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "Port ID"
|
|
},
|
|
"origin_data": {
|
|
"additionalProperties": true,
|
|
"type": "object",
|
|
"title": "Origin Data",
|
|
"description": "The origin_data is the same like the response of https://docs.openstack.org/api-ref/network/v2/index.html?expanded=list-ports-detail#list-ports"
|
|
},
|
|
"server_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Server Name",
|
|
"description": "Server name"
|
|
},
|
|
"network_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Network Name",
|
|
"description": "Network name"
|
|
},
|
|
"ipv4": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ipv4",
|
|
"description": "IPv4 addresses"
|
|
},
|
|
"ipv6": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ipv6",
|
|
"description": "IPv6 addresses"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name",
|
|
"description": "Will be removed, please use origin_data[name]",
|
|
"deprecated": true
|
|
},
|
|
"mac_address": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Mac Address",
|
|
"description": "Will be removed, please use origin_data[mac_address]",
|
|
"deprecated": true
|
|
},
|
|
"project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id",
|
|
"description": "Will be removed, please use origin_data[project_id]",
|
|
"deprecated": true
|
|
},
|
|
"device_owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Device Owner",
|
|
"description": "Will be removed, please use origin_data[device_owner]",
|
|
"deprecated": true
|
|
},
|
|
"device_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Device Id",
|
|
"description": "Will be removed, please use origin_data[device_id]",
|
|
"deprecated": true
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status",
|
|
"description": "Will be removed, please use origin_data[status]",
|
|
"deprecated": true
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At",
|
|
"description": "Will be removed, please use origin_data[created_at]",
|
|
"deprecated": true
|
|
},
|
|
"network_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Network Id",
|
|
"description": "Will be removed, please use origin_data[network_id]",
|
|
"deprecated": true
|
|
},
|
|
"binding_vnic_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Binding Vnic Type",
|
|
"description": "Will be removed, please use origin_data[binding:vnic_type]",
|
|
"deprecated": true
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description",
|
|
"description": "Will be removed, please use origin_data[description]",
|
|
"deprecated": true
|
|
},
|
|
"port_security_enabled": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Port Security Enabled",
|
|
"description": "Will be removed, please use origin_data[port_security_enabled]",
|
|
"deprecated": true
|
|
},
|
|
"qos_policy_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Qos Policy Id",
|
|
"description": "Will be removed, please use origin_data[qos_policy_id]",
|
|
"deprecated": true
|
|
},
|
|
"fixed_ips": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Fixed Ips",
|
|
"description": "Will be removed, please use origin_data[fixed_ips]",
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"origin_data",
|
|
"name",
|
|
"mac_address",
|
|
"project_id",
|
|
"device_owner",
|
|
"device_id",
|
|
"status",
|
|
"created_at",
|
|
"network_id",
|
|
"binding_vnic_type",
|
|
"description",
|
|
"port_security_enabled",
|
|
"qos_policy_id",
|
|
"fixed_ips"
|
|
],
|
|
"title": "PortsResponseBase"
|
|
},
|
|
"Profile": {
|
|
"properties": {
|
|
"keystone_token": {
|
|
"type": "string",
|
|
"title": "Keystone Token",
|
|
"description": "Keystone token"
|
|
},
|
|
"region": {
|
|
"type": "string",
|
|
"title": "Region",
|
|
"description": "User region"
|
|
},
|
|
"exp": {
|
|
"type": "integer",
|
|
"title": "Exp",
|
|
"description": "Token expiration time"
|
|
},
|
|
"uuid": {
|
|
"type": "string",
|
|
"title": "Uuid",
|
|
"description": "UUID"
|
|
},
|
|
"project": {
|
|
"$ref": "#/components/schemas/Project",
|
|
"description": "User project"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/User",
|
|
"description": "User"
|
|
},
|
|
"roles": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Role"
|
|
},
|
|
"type": "array",
|
|
"title": "Roles",
|
|
"description": "User roles"
|
|
},
|
|
"keystone_token_exp": {
|
|
"type": "string",
|
|
"title": "Keystone Token Exp",
|
|
"description": "Keystone token expiration time"
|
|
},
|
|
"base_domains": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Base Domains",
|
|
"description": "User base domains"
|
|
},
|
|
"endpoints": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Endpoints",
|
|
"description": "Keystone endpoints"
|
|
},
|
|
"projects": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Projects",
|
|
"description": "User projects"
|
|
},
|
|
"default_project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Default Project Id",
|
|
"description": "User default project ID"
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"title": "Version",
|
|
"description": "Version"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"keystone_token",
|
|
"region",
|
|
"exp",
|
|
"uuid",
|
|
"project",
|
|
"user",
|
|
"roles",
|
|
"keystone_token_exp",
|
|
"version"
|
|
],
|
|
"title": "Profile"
|
|
},
|
|
"Project": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "Project ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"title": "Name",
|
|
"description": "Project name"
|
|
},
|
|
"domain": {
|
|
"$ref": "#/components/schemas/Domain",
|
|
"description": "Project domain"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"domain"
|
|
],
|
|
"title": "Project"
|
|
},
|
|
"PrometheusQueryData": {
|
|
"properties": {
|
|
"resultType": {
|
|
"type": "string",
|
|
"title": "Resulttype",
|
|
"description": "Prometheus result type"
|
|
},
|
|
"result": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PrometheusQueryResult"
|
|
},
|
|
"type": "array",
|
|
"title": "Result",
|
|
"description": "Prometheus query result"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"resultType",
|
|
"result"
|
|
],
|
|
"title": "PrometheusQueryData"
|
|
},
|
|
"PrometheusQueryRangeData": {
|
|
"properties": {
|
|
"resultType": {
|
|
"type": "string",
|
|
"title": "Resulttype",
|
|
"description": "Prometheus result type"
|
|
},
|
|
"result": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/PrometheusQueryRangeResult"
|
|
},
|
|
"type": "array",
|
|
"title": "Result",
|
|
"description": "Prometheus query range result"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"resultType",
|
|
"result"
|
|
],
|
|
"title": "PrometheusQueryRangeData"
|
|
},
|
|
"PrometheusQueryRangeResponse": {
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"title": "Status",
|
|
"description": "Prometheus status"
|
|
},
|
|
"errorType": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Errortype",
|
|
"description": "Prometheus error type"
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Error",
|
|
"description": "Prometheus error"
|
|
},
|
|
"warnings": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Warnings",
|
|
"description": "Prometheus warnings"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PrometheusQueryRangeData"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Prometheus query range data"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "PrometheusQueryRangeResponse"
|
|
},
|
|
"PrometheusQueryRangeResult": {
|
|
"properties": {
|
|
"metric": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object",
|
|
"title": "Metric",
|
|
"description": "Prometheus metric"
|
|
},
|
|
"value": {
|
|
"items": {},
|
|
"type": "array",
|
|
"title": "Value",
|
|
"description": "Prometheus metric value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"metric",
|
|
"value"
|
|
],
|
|
"title": "PrometheusQueryRangeResult"
|
|
},
|
|
"PrometheusQueryResponse": {
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"title": "Status",
|
|
"description": "Prometheus status"
|
|
},
|
|
"errorType": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Errortype",
|
|
"description": "Prometheus error type"
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Error",
|
|
"description": "Prometheus error"
|
|
},
|
|
"warnings": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Warnings",
|
|
"description": "Prometheus warnings"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PrometheusQueryData"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Prometheus query data"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"status"
|
|
],
|
|
"title": "PrometheusQueryResponse"
|
|
},
|
|
"PrometheusQueryResult": {
|
|
"properties": {
|
|
"metric": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object",
|
|
"title": "Metric",
|
|
"description": "Prometheus metric"
|
|
},
|
|
"value": {
|
|
"items": {},
|
|
"type": "array",
|
|
"title": "Value",
|
|
"description": "Prometheus metric value"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"metric",
|
|
"value"
|
|
],
|
|
"title": "PrometheusQueryResult"
|
|
},
|
|
"RecycleServerSortKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"uuid",
|
|
"display_name",
|
|
"updated_at",
|
|
"project_id"
|
|
],
|
|
"title": "RecycleServerSortKey"
|
|
},
|
|
"RecycleServersResponse": {
|
|
"properties": {
|
|
"recycle_servers": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/RecycleServersResponseBase"
|
|
},
|
|
"type": "array",
|
|
"title": "Recycle Servers",
|
|
"description": "Recycle servers list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"recycle_servers"
|
|
],
|
|
"title": "RecycleServersResponse"
|
|
},
|
|
"RecycleServersResponseBase": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid4",
|
|
"title": "Id",
|
|
"description": "Recycle server id"
|
|
},
|
|
"origin_data": {
|
|
"additionalProperties": true,
|
|
"type": "object",
|
|
"title": "Origin Data",
|
|
"description": "The origin_data is the same like the response of https://docs.openstack.org/api-ref/compute/?expanded=list-servers-detailed-detail#list-servers-detailed"
|
|
},
|
|
"project_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Name",
|
|
"description": "Project name"
|
|
},
|
|
"image": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uuid4"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Image",
|
|
"description": "Image id"
|
|
},
|
|
"image_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Image Name",
|
|
"description": "Image name"
|
|
},
|
|
"image_os_distro": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Image Os Distro",
|
|
"description": "Image os distro"
|
|
},
|
|
"fixed_addresses": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Fixed Addresses",
|
|
"description": "Fixed addresses"
|
|
},
|
|
"floating_addresses": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Floating Addresses",
|
|
"description": "Floating addresses"
|
|
},
|
|
"deleted_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Deleted At",
|
|
"description": "Deleted at"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At",
|
|
"description": "Updated at"
|
|
},
|
|
"reclaim_timestamp": {
|
|
"type": "number",
|
|
"title": "Reclaim Timestamp",
|
|
"description": "Reclaim timestamp"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name",
|
|
"description": "Will be removed, please use origin_data[name]",
|
|
"deprecated": true
|
|
},
|
|
"project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id",
|
|
"description": "Will be removed, please use origin_data[tenant_id]",
|
|
"deprecated": true
|
|
},
|
|
"host": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Host",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-SRV-ATTR:host]",
|
|
"deprecated": true
|
|
},
|
|
"hostname": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Hostname",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-SRV-ATTR:hostname]",
|
|
"deprecated": true
|
|
},
|
|
"flavor": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Flavor",
|
|
"description": "Will be removed, please use origin_data[flavor][original_name]",
|
|
"deprecated": true
|
|
},
|
|
"flavor_info": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FlavorInServer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Will be removed, please use origin_data[flavor]",
|
|
"deprecated": true
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status",
|
|
"description": "Will be removed, please use origin_data[status]",
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"origin_data",
|
|
"reclaim_timestamp",
|
|
"name",
|
|
"project_id",
|
|
"host",
|
|
"hostname",
|
|
"flavor",
|
|
"flavor_info",
|
|
"status"
|
|
],
|
|
"title": "RecycleServersResponseBase"
|
|
},
|
|
"Role": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "Role ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"title": "Name",
|
|
"description": "Role name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name"
|
|
],
|
|
"title": "Role"
|
|
},
|
|
"SSO": {
|
|
"properties": {
|
|
"enable_sso": {
|
|
"type": "boolean",
|
|
"title": "Enable Sso"
|
|
},
|
|
"protocols": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SSOInfo"
|
|
},
|
|
"type": "array",
|
|
"title": "Protocols"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"enable_sso",
|
|
"protocols"
|
|
],
|
|
"title": "SSO"
|
|
},
|
|
"SSOInfo": {
|
|
"properties": {
|
|
"protocol": {
|
|
"type": "string",
|
|
"title": "Protocol"
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"title": "Url"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"protocol",
|
|
"url"
|
|
],
|
|
"title": "SSOInfo"
|
|
},
|
|
"ServerSortKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"uuid",
|
|
"display_name",
|
|
"vm_state",
|
|
"locked",
|
|
"created_at",
|
|
"host",
|
|
"project_id"
|
|
],
|
|
"title": "ServerSortKey"
|
|
},
|
|
"ServerStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ACTIVE",
|
|
"BUILD",
|
|
"ERROR",
|
|
"HARD_REBOOT",
|
|
"MIGRATING",
|
|
"PAUSED",
|
|
"REBOOT",
|
|
"REBUILD",
|
|
"RESCUE",
|
|
"RESIZE",
|
|
"SHELVED",
|
|
"SHELVED_OFFLOADED",
|
|
"SHUTOFF",
|
|
"SOFT_DELETED",
|
|
"SUSPENDED",
|
|
"UNKNOWN"
|
|
],
|
|
"title": "ServerStatus"
|
|
},
|
|
"ServersResponse": {
|
|
"properties": {
|
|
"servers": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/ServersResponseBase"
|
|
},
|
|
"type": "array",
|
|
"title": "Servers",
|
|
"description": "Servers list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"servers"
|
|
],
|
|
"title": "ServersResponse"
|
|
},
|
|
"ServersResponseBase": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid4",
|
|
"title": "Id",
|
|
"description": "Server ID"
|
|
},
|
|
"origin_data": {
|
|
"additionalProperties": true,
|
|
"type": "object",
|
|
"title": "Origin Data",
|
|
"description": "The origin_data is the same like the response of https://docs.openstack.org/api-ref/compute/?expanded=list-servers-detailed-detail#list-servers-detailed"
|
|
},
|
|
"project_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Name",
|
|
"description": "Project name"
|
|
},
|
|
"image": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uuid4"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Image",
|
|
"description": "Image ID"
|
|
},
|
|
"image_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Image Name",
|
|
"description": "Image name"
|
|
},
|
|
"image_os_distro": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Image Os Distro",
|
|
"description": "Image OS distro"
|
|
},
|
|
"fixed_addresses": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Fixed Addresses",
|
|
"description": "Fixed addresses"
|
|
},
|
|
"floating_addresses": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Floating Addresses",
|
|
"description": "Floating addresses"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name",
|
|
"description": "Will be removed, please use origin_data[name]",
|
|
"deprecated": true
|
|
},
|
|
"project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id",
|
|
"description": "Will be removed, please use origin_data[tenant_id]",
|
|
"deprecated": true
|
|
},
|
|
"host": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Host",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-SRV-ATTR:host]",
|
|
"deprecated": true
|
|
},
|
|
"hostname": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Hostname",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-SRV-ATTR:hostname]",
|
|
"deprecated": true
|
|
},
|
|
"flavor": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Flavor",
|
|
"description": "Will be removed, please use origin_data[flavor][original_name]",
|
|
"deprecated": true
|
|
},
|
|
"flavor_info": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FlavorInServer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Will be removed, please use origin_data[flavor]",
|
|
"deprecated": true
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status",
|
|
"description": "Will be removed, please use origin_data[status]",
|
|
"deprecated": true
|
|
},
|
|
"locked": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Locked",
|
|
"description": "Will be removed, please use origin_data[locked]",
|
|
"deprecated": true
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At",
|
|
"description": "Will be removed, please use origin_data[created]",
|
|
"deprecated": true
|
|
},
|
|
"task_state": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Task State",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-STS:task_state]",
|
|
"deprecated": true
|
|
},
|
|
"vm_state": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Vm State",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-STS:vm_state]",
|
|
"deprecated": true
|
|
},
|
|
"power_state": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Power State",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-STS:power_state]",
|
|
"deprecated": true
|
|
},
|
|
"root_device_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Root Device Name",
|
|
"description": "Will be removed, please use origin_data[OS-EXT-SRV-ATTR:root_device_name]",
|
|
"deprecated": true
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Metadata",
|
|
"description": "Will be removed, please use origin_data[metadata]",
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"origin_data",
|
|
"name",
|
|
"project_id",
|
|
"host",
|
|
"hostname",
|
|
"flavor",
|
|
"flavor_info",
|
|
"status",
|
|
"locked",
|
|
"created_at",
|
|
"task_state",
|
|
"vm_state",
|
|
"power_state",
|
|
"root_device_name",
|
|
"metadata"
|
|
],
|
|
"title": "ServersResponseBase"
|
|
},
|
|
"Setting": {
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"title": "Key",
|
|
"description": "Key of setting"
|
|
},
|
|
"value": {
|
|
"title": "Value",
|
|
"description": "Value of setting"
|
|
},
|
|
"hidden": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Hidden",
|
|
"description": "Hidden setting or not"
|
|
},
|
|
"restart_service": {
|
|
"type": "boolean",
|
|
"title": "Restart Service",
|
|
"description": "Restart service or not to apply setting"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"key",
|
|
"value",
|
|
"restart_service"
|
|
],
|
|
"title": "Setting"
|
|
},
|
|
"Settings": {
|
|
"properties": {
|
|
"settings": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Setting"
|
|
},
|
|
"type": "array",
|
|
"title": "Settings",
|
|
"description": "Settings"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"settings"
|
|
],
|
|
"title": "Settings"
|
|
},
|
|
"SortDir": {
|
|
"type": "string",
|
|
"enum": [
|
|
"desc",
|
|
"asc"
|
|
],
|
|
"title": "SortDir"
|
|
},
|
|
"UnauthorizedMessage": {
|
|
"properties": {
|
|
"detail": {
|
|
"type": "string",
|
|
"title": "Detail",
|
|
"description": "Detail message"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"detail"
|
|
],
|
|
"title": "UnauthorizedMessage"
|
|
},
|
|
"UpdateSetting": {
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"title": "Key",
|
|
"description": "Key of setting"
|
|
},
|
|
"value": {
|
|
"title": "Value",
|
|
"description": "Value of setting"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"title": "UpdateSetting"
|
|
},
|
|
"User": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "User ID"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"title": "Name",
|
|
"description": "User name"
|
|
},
|
|
"domain": {
|
|
"$ref": "#/components/schemas/Domain",
|
|
"description": "User domain"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"domain"
|
|
],
|
|
"title": "User"
|
|
},
|
|
"ValidationError": {
|
|
"properties": {
|
|
"loc": {
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
"type": "array",
|
|
"title": "Location"
|
|
},
|
|
"msg": {
|
|
"type": "string",
|
|
"title": "Message"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"title": "Error Type"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"loc",
|
|
"msg",
|
|
"type"
|
|
],
|
|
"title": "ValidationError"
|
|
},
|
|
"VolumeAttachment": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "Volume attachment id"
|
|
},
|
|
"device": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Device",
|
|
"description": "Device name"
|
|
},
|
|
"server_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Server Id",
|
|
"description": "Server id"
|
|
},
|
|
"server_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Server Name",
|
|
"description": "Server name"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"title": "VolumeAttachment"
|
|
},
|
|
"VolumeSnapshotChildVolume": {
|
|
"properties": {
|
|
"volume_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Volume Id",
|
|
"description": "ID of volume",
|
|
"examples": [
|
|
"00000000-0000-0000-0000-000000000000"
|
|
]
|
|
},
|
|
"volume_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Volume Name",
|
|
"description": "Name of volume",
|
|
"examples": [
|
|
"child-volume-demo"
|
|
]
|
|
}
|
|
},
|
|
"type": "object",
|
|
"title": "VolumeSnapshotChildVolume"
|
|
},
|
|
"VolumeSnapshotSortKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"id",
|
|
"name",
|
|
"status",
|
|
"created_at"
|
|
],
|
|
"title": "VolumeSnapshotSortKey"
|
|
},
|
|
"VolumeSnapshotStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING",
|
|
"AVAILABLE",
|
|
"DELETING",
|
|
"ERROR",
|
|
"ERROR_DELETING"
|
|
],
|
|
"title": "VolumeSnapshotStatus"
|
|
},
|
|
"VolumeSnapshotsResponse": {
|
|
"properties": {
|
|
"count": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Count",
|
|
"description": "Count of volume snapshots",
|
|
"default": 0
|
|
},
|
|
"volume_snapshots": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/VolumeSnapshotsResponseBase"
|
|
},
|
|
"type": "array",
|
|
"title": "Volume Snapshots",
|
|
"description": "Volume snapshots list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"volume_snapshots"
|
|
],
|
|
"title": "VolumeSnapshotsResponse"
|
|
},
|
|
"VolumeSnapshotsResponseBase": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"title": "Id",
|
|
"description": "Snapshot ID"
|
|
},
|
|
"origin_data": {
|
|
"additionalProperties": true,
|
|
"type": "object",
|
|
"title": "Origin Data",
|
|
"description": "The origin_data is the same like the response of https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded=list-snapshots-and-details-detail#list-snapshots-and-details"
|
|
},
|
|
"project_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Name",
|
|
"description": "Project name"
|
|
},
|
|
"host": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Host",
|
|
"description": "Host name"
|
|
},
|
|
"volume_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Volume Name",
|
|
"description": "Name of volume",
|
|
"examples": [
|
|
"volume-demo"
|
|
]
|
|
},
|
|
"child_volumes": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/components/schemas/VolumeSnapshotChildVolume"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Child Volumes",
|
|
"description": "Child volumes"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name",
|
|
"description": "Will be removed, please use origin_data[name]",
|
|
"deprecated": true
|
|
},
|
|
"project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id",
|
|
"description": "Will be removed, please use origin_data[os-extended-snapshot-attributes:project_id]",
|
|
"deprecated": true
|
|
},
|
|
"size": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Size",
|
|
"description": "Will be removed, please use origin_data[size]",
|
|
"deprecated": true
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status",
|
|
"description": "Will be removed, please use origin_data[status]",
|
|
"deprecated": true
|
|
},
|
|
"volume_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Volume Id",
|
|
"description": "Will be removed, please use origin_data[volume_id]",
|
|
"deprecated": true
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At",
|
|
"description": "Will be removed, please use origin_data[created_at]",
|
|
"deprecated": true
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Metadata",
|
|
"description": "Will be removed, please use origin_data[metadata]",
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"origin_data",
|
|
"name",
|
|
"project_id",
|
|
"size",
|
|
"status",
|
|
"volume_id",
|
|
"created_at",
|
|
"metadata"
|
|
],
|
|
"title": "VolumeSnapshotsResponseBase"
|
|
},
|
|
"VolumeSortKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"id",
|
|
"name",
|
|
"size",
|
|
"status",
|
|
"bootable",
|
|
"created_at"
|
|
],
|
|
"title": "VolumeSortKey"
|
|
},
|
|
"VolumeStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"creating",
|
|
"available",
|
|
"reserved",
|
|
"attaching",
|
|
"detaching",
|
|
"in-use",
|
|
"maintenance",
|
|
"deleting",
|
|
"awaiting-transfer",
|
|
"error",
|
|
"error_deleting",
|
|
"backing-up",
|
|
"restoring-backup",
|
|
"error_backing-up",
|
|
"error_restoring",
|
|
"error_extending",
|
|
"downloading",
|
|
"uploading",
|
|
"retyping",
|
|
"extending"
|
|
],
|
|
"title": "VolumeStatus"
|
|
},
|
|
"VolumesResponse": {
|
|
"properties": {
|
|
"count": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Count",
|
|
"description": "Count of volumes",
|
|
"default": 0
|
|
},
|
|
"volumes": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/VolumesResponseBase"
|
|
},
|
|
"type": "array",
|
|
"title": "Volumes",
|
|
"description": "Volumes list"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"volumes"
|
|
],
|
|
"title": "VolumesResponse"
|
|
},
|
|
"VolumesResponseBase": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid4",
|
|
"title": "Id",
|
|
"description": "Volume ID"
|
|
},
|
|
"origin_data": {
|
|
"additionalProperties": true,
|
|
"type": "object",
|
|
"title": "Origin Data",
|
|
"description": "The origin_data is the same like the response of https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded=list-accessible-volumes-with-details-detail#list-accessible-volumes-with-details"
|
|
},
|
|
"project_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Name",
|
|
"description": "Project name"
|
|
},
|
|
"attachments": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/components/schemas/VolumeAttachment"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Attachments",
|
|
"description": "Volume attachments"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name",
|
|
"description": "Will be removed, please use origin_data[name]",
|
|
"deprecated": true
|
|
},
|
|
"project_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id",
|
|
"description": "Will be removed, please use origin_data[os-vol-tenant-attr:tenant_id]",
|
|
"deprecated": true
|
|
},
|
|
"host": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Host",
|
|
"description": "Will be removed, please use origin_data[os-vol-host-attr:host]",
|
|
"deprecated": true
|
|
},
|
|
"snapshot_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Snapshot Id",
|
|
"description": "Will be removed, please use origin_data[snapshot_id]",
|
|
"deprecated": true
|
|
},
|
|
"source_volid": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Source Volid",
|
|
"description": "Will be removed, please use origin_data[source_volid]",
|
|
"deprecated": true
|
|
},
|
|
"size": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Size",
|
|
"description": "Will be removed, please use origin_data[size]",
|
|
"deprecated": true
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status",
|
|
"description": "Will be removed, please use origin_data[status]",
|
|
"deprecated": true
|
|
},
|
|
"volume_type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Volume Type",
|
|
"description": "Will be removed, please use origin_data[volume_type]",
|
|
"deprecated": true
|
|
},
|
|
"encrypted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Encrypted",
|
|
"description": "Will be removed, please use origin_data[encrypted]",
|
|
"deprecated": true
|
|
},
|
|
"bootable": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Bootable",
|
|
"description": "Will be removed, please use origin_data[bootable]",
|
|
"deprecated": true
|
|
},
|
|
"multiattach": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Multiattach",
|
|
"description": "Will be removed, please use origin_data[multiattach]",
|
|
"deprecated": true
|
|
},
|
|
"availability_zone": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Availability Zone",
|
|
"description": "Will be removed, please use origin_data[availability_zone]",
|
|
"deprecated": true
|
|
},
|
|
"created_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created At",
|
|
"description": "Will be removed, please use origin_data[created_at]",
|
|
"deprecated": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"origin_data",
|
|
"name",
|
|
"project_id",
|
|
"host",
|
|
"snapshot_id",
|
|
"source_volid",
|
|
"size",
|
|
"status",
|
|
"volume_type",
|
|
"encrypted",
|
|
"bootable",
|
|
"multiattach",
|
|
"availability_zone",
|
|
"created_at"
|
|
],
|
|
"title": "VolumesResponseBase"
|
|
}
|
|
}
|
|
}
|
|
} |