{ "swagger": "2.0", "paths": { "/license": { "post": { "description": "post license \u0026 get token", "produces": [ "application/json", "application/xml" ], "tags": [ "license" ], "summary": "提交license", "operationId": "SendLicense", "parameters": [ { "type": "string", "format": "string", "description": "license", "name": "license", "in": "form", "required": true } ], "responses": { "200": { "description": "{\"bean\":\"{\\\"token\\\": \\\"Q3E5OXdoZDZDX3drN0QtV2gtVmpRaGtlcHJQYmFK\\\"}\"}" } } } }, "/v2/apps/{app_name}/discover": { "get": { "description": "get endpoints of app_name", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "获取指定服务endpoints", "operationId": "GetServiceEndPoints", "responses": { "200": { "description": "{\"list\":[{\"name\":\"d275f5b34faf\",\"url\":\"10.0.55.72:6363\",\"weight\":0}]}" } } } }, "/v2/job": { "get": { "description": "get job list", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "获取job列表", "operationId": "JobList", "parameters": [ { "type": "string", "format": "string", "description": "node name", "name": "node", "in": "form" }, { "type": "string", "format": "string", "description": "group name", "name": "group", "in": "form" } ], "responses": { "200": { "description": "{\"ok\":true}" } } }, "put": { "description": "add or update job", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "添加或者更新job", "operationId": "UpdateJob", "parameters": [ { "type": "json", "format": "string", "description": "{\"id\":\"\",\"kind\":0,\"name\":\"aac\",\"oldGroup\":\"\",\"group\":\"default\",\"user\":\"\",\"cmd\":\"echo \\\"hello \\\"\u003e/tmp/aac.txt\",\"pause\":true,\"parallels\":0,\"timeout\":0,\"interval\":0,\"retry\":0,\"rules\":[{\"id\":\"NEW0.5930536330436825\",\"nids\":[\"172.16.0.118\"],\"timer\":\"* 5 * * * *\",\"exclude_nids\":[\"172.16.0.131\"]}],\"fail_notify\":false,\"to\":[]}", "name": "job", "in": "body", "required": true } ], "responses": { "200": { "description": "{\"ok\":true}" } } } }, "/v2/job/group": { "get": { "description": "get all groups", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "获取所有job的group", "operationId": "GetAllGroup", "responses": { "200": { "description": "[\"group1\",...]" } } } }, "/v2/job/{id}/group/{group}": { "get": { "description": "get job by group and id", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "获取 job", "operationId": "GetJob", "parameters": [ { "type": "string", "format": "string", "description": "group name", "name": "group", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "job id", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"id\":\"\",\"kind\":0,\"name\":\"aac\",\"group\":\"default\",\"user\":\"\",\"cmd\":\"echo \\\"hello \\\"\u003e/tmp/aac.txt\",\"pause\":true,\"parallels\":0,\"timeout\":0,\"interval\":0,\"retry\":0,\"rules\":[{\"id\":\"NEW0.5930536330436825\",\"nids\":[\"172.16.0.118\"],\"timer\":\"* 5 * * * *\",\"exclude_nids\":[\"172.16.0.131\"]}],\"fail_notify\":false,\"to\":[]}" } } }, "post": { "description": "change job status", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "更改 job 状态", "operationId": "ChangeJobStatus", "parameters": [ { "type": "string", "format": "string", "description": "group name", "name": "group", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "job id", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "{\"id\":\"\",\"kind\":0,\"name\":\"aac\",\"group\":\"default\",\"user\":\"\",\"cmd\":\"echo \\\"hello \\\"\u003e/tmp/aac.txt\",\"pause\":true,\"parallels\":0,\"timeout\":0,\"interval\":0,\"retry\":0,\"rules\":[{\"id\":\"NEW0.5930536330436825\",\"nids\":[\"172.16.0.118\"],\"timer\":\"* 5 * * * *\",\"exclude_nids\":[\"172.16.0.131\"]}],\"fail_notify\":false,\"to\":[]}", "in": "body", "required": true } ], "responses": { "200": { "description": "{\"id\":\"\",\"kind\":0,\"name\":\"aac\",\"group\":\"default\",\"user\":\"\",\"cmd\":\"echo \\\"hello \\\"\u003e/tmp/aac.txt\",\"pause\":true,\"parallels\":0,\"timeout\":0,\"interval\":0,\"retry\":0,\"rules\":[{\"id\":\"NEW0.5930536330436825\",\"nids\":[\"172.16.0.118\"],\"timer\":\"* 5 * * * *\",\"exclude_nids\":[\"172.16.0.131\"]}],\"fail_notify\":false,\"to\":[]}" } } }, "delete": { "description": "delete job by group and id", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "删除 job", "operationId": "DeleteJob", "parameters": [ { "type": "string", "format": "string", "description": "group name", "name": "group", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "job id", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"ok\":true}" } } } }, "/v2/job/{id}/group/{group}/node/{name}": { "put": { "description": "execute job", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "立即在 node上 执行一次指定group/id 的job", "operationId": "JobExecute", "parameters": [ { "type": "string", "format": "string", "description": "group name", "name": "group", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "job id", "name": "id", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "node name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"ok\":true}" } } } }, "/v2/job/{id}/groups/{group}/nodes": { "get": { "description": "get job runnable nodes", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "获取job的可执行节点", "operationId": "GetJobNodes", "parameters": [ { "type": "string", "format": "string", "description": "group name", "name": "group", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "job id", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "[\"10.1.1.2\",...]" } } } }, "/v2/nodes": { "get": { "description": "get node list info from etcd", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "从etcd获取节点简单列表信息", "operationId": "GetNodeList", "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":{\"list\":[{\"uuid\":\"915f2c95-b723-4c88-9860-dbe33f4f51ac\",\"host_name\":\"10.0.55.73\",\"internal_ip\":\"10.0.55.73\",\"external_ip\":\"10.0.55.73\",\"available_memory\":16267956,\"available_cpu\":4,\"role\":\"compute\",\"status\":\"create\",\"labels\":{\"key1\":\"value1\"},\"unschedulable\":false},{\"uuid\":\"1234c95-b723-4c88-9860-dbe33f4f51ac\",\"host_name\":\"10.0.55.73\",\"internal_ip\":\"10.0.55.73\",\"external_ip\":\"10.0.55.73\",\"available_memory\":16267956,\"available_cpu\":4,\"role\":\"\",\"status\":\"running\",\"labels\":{\"key1\":\"value4\"},\"unschedulable\":false}]}}" } } }, "post": { "description": "add new node info to etcd", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "添加新节点到etcd", "operationId": "New", "parameters": [ { "type": "string", "format": "json", "description": "{\"uuid\":\"757755e4-99e4-11e7-bab9-00163e020ab5\",\"host_name\":\"10.0.55.73\",\"internal_ip\":\"10.0.55.73\",\"external_ip\":\"10.0.55.73\",\"available_memory\":16,\"available_cpu\":4,\"role\":\"\",\"status\":\"offline\",\"labels\":{\"key1\":\"value1\"},\"unschedulable\":false}", "in": "body", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } } }, "/v2/nodes//{node}/basic": { "get": { "description": "get node basic info from etcd", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "从服务器获取节点基本信息", "operationId": "GetNodeBasic", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":{\"list\":null,\"bean\":{{\"uuid\":\"757755e4-99e4-11e7-bab9-00163e020ab5\",\"host_name\":\"10.0.55.73\",\"internal_ip\":\"10.0.55.73\",\"external_ip\":\"10.0.55.73\",\"available_memory\":16,\"available_cpu\":4,\"role\":\"\",\"status\":\"offline\",\"labels\":{\"key1\":\"value1\"},\"unschedulable\":false}}}}" } } } }, "/v2/nodes/login": { "put": { "description": "try to connect to ssh", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "尝试通过SSH链接远程服务器", "operationId": "login", "parameters": [ { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "hostport", "type", "hosttype" ], "properties": { "hostport": { "description": "ip:端口\nin: body", "type": "string", "x-go-name": "HostPort" }, "hosttype": { "description": "节点类型\nin: body", "type": "string", "x-go-name": "HostType" }, "pwd": { "description": "root密码\nin: body", "type": "string", "x-go-name": "RootPwd" }, "type": { "description": "登录类型\nin: body", "type": "boolean", "x-go-name": "LoginType" } } } } ], "responses": { "200": { "description": "{\"bean\":{\"hostport\":\"10.0.55.73:22\",\"type\":true,\"result\":\"success\"}}" } } } }, "/v2/nodes/{ip}/init": { "put": { "description": "try to basicly init", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "完成基础初始化", "operationId": "init", "parameters": [ { "type": "string", "format": "string", "description": "10.0.55.73", "name": "ip", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"bean\":{\"List\":[{\"JobSEQ\":\"asdfsa-sdfasdf-asdf\",\"JobId\":\"online_init\",\"JobName\":\"init\",\"JobResult\":0}],\"Result\":false}}" } } } }, "/v2/nodes/{ip}/install": { "get": { "description": "start build-in jobs", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "开始执行内置任务", "operationId": "StartBuildInJobs", "parameters": [ { "type": "string", "format": "string", "description": "10.0.55.73", "name": "ip", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"bean\":{\"List\":[{\"JobSEQ\":\"asdfsa-sdfasdf-asdf\",\"JobId\":\"online_init\",\"JobName\":\"init\",\"JobResult\":3}],\"Result\":false}}" } } }, "put": { "description": "check job status", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "开始安装", "operationId": "StartBuildInJobs", "parameters": [ { "type": "string", "format": "string", "description": "10.0.55.73", "name": "ip", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"bean\":{\"List\":[{\"JobSEQ\":\"asdfsa-sdfasdf-asdf\",\"JobId\":\"online_init\",\"JobName\":\"init\",\"JobResult\":3}],\"Result\":false}}" } } } }, "/v2/nodes/{ip}/install/status": { "get": { "description": "check job status", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "检查job状态", "operationId": "CheckJobGetStatus", "parameters": [ { "type": "string", "format": "string", "description": "10.0.55.73", "name": "ip", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"bean\":{\"List\":[{\"JobSEQ\":\"asdfsa-sdfasdf-asdf\",\"JobId\":\"online_init\",\"JobName\":\"init\",\"JobResult\":0}],\"Result\":false}}" } } } }, "/v2/nodes/{node}": { "put": { "description": "add node", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "重新上线计算节点", "operationId": "AddNode", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } }, "post": { "description": "update", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "更新node", "operationId": "UpdateNode", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true }, { "type": "string", "format": "string", "description": "{\"uuid\": \"ccc\", \"Status\":\"create\",\"host_name\": \"10.0.55.73\", \"internal_ip\": \"10.0.55.73\", \"external_ip\": \"10.0.55.73\", \"available_memory\": 16267956, \"available_cpu\": 4, \"role\": \"\", \"labels\": {\"key1\": \"value1\"}, \"unschedulable\": false}", "in": "body", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":{\"list\":[{\"uuid\":\"1234c95-b723-4c88-9860-dbe33f4f51ac\",\"host_name\":\"10.0.55.73\",\"internal_ip\":\"10.0.55.73\",\"external_ip\":\"10.0.55.73\",\"available_memory\":16267956,\"available_cpu\":4,\"role\":\"\",\"status\":\"running\",\"labels\":{\"key1\":\"value4\"},\"unschedulable\":false}]}}" } } }, "delete": { "description": "delete node from etcd", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "从etcd 删除计算节点", "operationId": "DeleteFromDB", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } } }, "/v2/nodes/{node}/details": { "get": { "description": "get node details info from k8s", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "从服务器获取节点详细信息", "operationId": "GetNodeDetails", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":{\"list\":null,\"bean\":{\"name\":\"10.0.55.73\",\"role\":\"\",\"labels\":{\"key1\":\"value1\"},\"annotations\":{\"node.alpha.kubernetes.io/ttl\":\"0\",\"volumes.kubernetes.io/controller-managed-attach-detach\":\"true\"},\"creationtimestamp\":\"2017-09-19 11:23:09 +0800 CST\",\"conditions\":[{\"type\":\"OutOfDisk\",\"status\":\"False\",\"lastHeartbeatTime\":\"2017-09-20T01:37:25Z\",\"lastTransitionTime\":\"2017-09-19T03:23:18Z\",\"reason\":\"KubeletHasSufficientDisk\",\"message\":\"kubelet has sufficient disk space available\"},{\"type\":\"MemoryPressure\",\"status\":\"False\",\"lastHeartbeatTime\":\"2017-09-20T01:37:25Z\",\"lastTransitionTime\":\"2017-09-19T03:23:18Z\",\"reason\":\"KubeletHasSufficientMemory\",\"message\":\"kubelet has sufficient memory available\"},{\"type\":\"DiskPressure\",\"status\":\"False\",\"lastHeartbeatTime\":\"2017-09-20T01:37:25Z\",\"lastTransitionTime\":\"2017-09-19T03:23:18Z\",\"reason\":\"KubeletHasNoDiskPressure\",\"message\":\"kubelet has no disk pressure\"},{\"type\":\"Ready\",\"status\":\"True\",\"lastHeartbeatTime\":\"2017-09-20T01:37:25Z\",\"lastTransitionTime\":\"2017-09-19T10:59:55Z\",\"reason\":\"KubeletReady\",\"message\":\"kubelet is posting ready status\"}],\"addresses\":{\"Hostname\":\"10.0.55.73\",\"InternalIP\":\"10.0.55.73\",\"LegacyHostIP\":\"10.0.55.73\"},\"capacity\":{\"cpu\":\"4\",\"memory\":\"15886\",\"pods\":\"10k\"},\"allocatable\":{\"cpu\":\"4\",\"memory\":\"15786\",\"pods\":\"10k\"},\"systeminfo\":{\"machineID\":\"df39b3efbcee4d5c84b2feab34009235\",\"systemUUID\":\"08A7D00A-C4B6-4AB7-8D8D-DA14C104A4DC\",\"bootID\":\"b4cd3c6c-e18d-43ae-9f11-3125110e9179\",\"kernelVersion\":\"3.10.0-514.21.2.el7.x86_64\",\"osImage\":\"CentOS Linux 7 (Core)\",\"containerRuntimeVersion\":\"docker://1.12.6\",\"kubeletVersion\":\"v1.6.4-66+4fd15729100998-dirty\",\"kubeProxyVersion\":\"v1.6.4-66+4fd15729100998-dirty\",\"operatingSystem\":\"linux\",\"architecture\":\"amd64\"},\"externalid\":\"10.0.55.73\",\"nonterminatedpods\":[{\"namespace\":\"1b56aa1ed27b4289b6f108e551545f29\",\"id\":\"gr04bff0\",\"name\":\"c0dd44112bd39ff7dda3ac3a47e619ea-3m1m8\",\"cpurequest\":\"80m\",\"cpurequestr\":\"2\",\"cpulimits\":\"120m\",\"cpulimitsr\":\"3\",\"memoryrequests\":\"268435456\",\"memoryrequestsr\":\"0\",\"memorylimits\":\"268435456\",\"memorylimitsr\":\"0\"},{\"namespace\":\"1b56aa1ed27b4289b6f108e551545f29\",\"id\":\"gr04bff0\",\"name\":\"c0dd44112bd39ff7dda3ac3a47e619ea-bxfmc\",\"cpurequest\":\"80m\",\"cpurequestr\":\"2\",\"cpulimits\":\"120m\",\"cpulimitsr\":\"3\",\"memoryrequests\":\"268435456\",\"memoryrequestsr\":\"0\",\"memorylimits\":\"268435456\",\"memorylimitsr\":\"0\"},{\"namespace\":\"1b56aa1ed27b4289b6f108e551545f29\",\"id\":\"\",\"name\":\"web-0\",\"cpurequest\":\"0\",\"cpurequestr\":\"0\",\"cpulimits\":\"0\",\"cpulimitsr\":\"0\",\"memoryrequests\":\"0\",\"memoryrequestsr\":\"0\",\"memorylimits\":\"0\",\"memorylimitsr\":\"0\"},{\"namespace\":\"1b56aa1ed27b4289b6f108e551545f29\",\"id\":\"\",\"name\":\"web-1\",\"cpurequest\":\"0\",\"cpurequestr\":\"0\",\"cpulimits\":\"0\",\"cpulimitsr\":\"0\",\"memoryrequests\":\"0\",\"memoryrequestsr\":\"0\",\"memorylimits\":\"0\",\"memorylimitsr\":\"0\"},{\"namespace\":\"232bd923d3794b979974bb21b863608b\",\"id\":\"gr184a0b\",\"name\":\"bc74e3d2cc734ce1a81f0a1903286e35-g4p31\",\"cpurequest\":\"480m\",\"cpurequestr\":\"12\",\"cpulimits\":\"1780m\",\"cpulimitsr\":\"44\",\"memoryrequests\":\"2Gi\",\"memoryrequestsr\":\"12\",\"memorylimits\":\"2Gi\",\"memorylimitsr\":\"12\"},{\"namespace\":\"232bd923d3794b979974bb21b863608b\",\"id\":\"gr868196\",\"name\":\"d2fa251096c9452ba25d081d861265d9-mdqln\",\"cpurequest\":\"120m\",\"cpurequestr\":\"3\",\"cpulimits\":\"640m\",\"cpulimitsr\":\"16\",\"memoryrequests\":\"512Mi\",\"memoryrequestsr\":\"3\",\"memorylimits\":\"512Mi\",\"memorylimitsr\":\"3\"}],\"allocatedresources\":{\"CPULimits\":\"2660\",\"CPULimitsR\":\"66\",\"CPURequests\":\"760\",\"CPURequestsR\":\"19\",\"MemoryLimits\":\"3072\",\"MemoryLimitsR\":\"15\",\"MemoryRequests\":\"3072\",\"MemoryRequestsR\":\"15\"},\"events\":null}}}" } } } }, "/v2/nodes/{node}/down": { "post": { "description": "offline node", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "下线计算节点", "operationId": "DeleteNode", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } } }, "/v2/nodes/{node}/label": { "post": { "description": "add label to node", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "为node添加label", "operationId": "labels", "parameters": [ { "type": "string", "x-go-name": "NodeID", "name": "node", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "labels" ], "properties": { "labels": { "description": "label值列表\nin: body", "type": "array", "items": { "type": "string" }, "x-go-name": "Labels" } } } } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } } }, "/v2/nodes/{node}/reschedulable": { "put": { "description": "make node schedulable", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "使节点可调度", "operationId": "UnCordon", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } } }, "/v2/nodes/{node}/unschedulable": { "put": { "description": "make node unschedulable", "produces": [ "application/json" ], "tags": [ "v2" ], "summary": "使节点不可调度", "operationId": "Cordon", "parameters": [ { "type": "string", "format": "string", "description": "nodeuid", "name": "node", "in": "path", "required": true } ], "responses": { "200": { "description": "{\"code\":200,\"msg\":\"success\",\"msgcn\":\"成功\",\"body\":nil}" } } } }, "/v2/opentsdb/query": { "post": { "description": "query opentsdb", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "监控数据查询 ", "operationId": "oentsdbquery", "parameters": [ { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "start", "queries" ], "properties": { "queries": { "description": "in: body", "type": "string", "x-go-name": "Queries" }, "start": { "description": "in: body", "type": "string", "x-go-name": "Start" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/resources/tenants": { "post": { "description": "get tenant resources", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "租户资源使用情况 ", "operationId": "tenantResources", "parameters": [ { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "tenant_name" ], "properties": { "tenant_name": { "description": "in: body", "type": "array", "items": { "type": "string" }, "x-go-name": "TenantName" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/resources/tenants/sum": { "get": { "description": "get tenant resources", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取租户数量 ", "operationId": "sumTenants", "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/show": { "get": { "description": "show api version", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "显示当前的api version 信息", "operationId": "getApiVersion", "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants": { "post": { "description": "add tenant", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "添加租户信息 ", "operationId": "addTenant", "parameters": [ { "name": "Body", "in": "body", "schema": { "type": "object", "properties": { "eid": { "description": "the eid\nin : body", "type": "string", "x-go-name": "Eid" }, "tenant_id": { "description": "the tenant id\nin: body", "type": "string", "x-go-name": "TenantID" }, "tenant_name": { "description": "the tenant name\nin: body", "type": "string", "x-go-name": "TenantName" }, "token": { "type": "string", "x-go-name": "Token" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/cloud-share": { "post": { "description": "share cloud ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "云市分享", "operationId": "sharecloud", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "kind" ], "properties": { "Image": { "$ref": "#/definitions/ImageShare" }, "Slug": { "$ref": "#/definitions/SlugShare" }, "kind": { "description": "分享类型,app_slug/app_image\nin: body", "type": "string", "x-go-name": "Kind" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/code-check": { "post": { "description": "check code ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "应用代码检测", "operationId": "checkCode", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "git_url", "url_repos", "check_type", "code_version", "git_project_id", "code_from", "service_id" ], "properties": { "action": { "type": "string", "x-go-name": "Action" }, "check_type": { "description": "检测类型, \"first_check\"\nin: body", "type": "string", "x-go-name": "CheckType" }, "code_from": { "description": "git源, \"gitlab_manual\"\nin: body", "type": "string", "x-go-name": "CodeFrom" }, "code_version": { "description": "代码分支\nin: body", "type": "string", "x-go-name": "CodeVersion" }, "git_project_id": { "description": "git project id, 0\nin: body", "type": "integer", "format": "int64", "x-go-name": "GitProjectID" }, "git_url": { "description": "git分支详情\nin: body", "type": "string", "x-go-name": "GitURL" }, "service_id": { "description": "应用id\nin: body", "type": "string", "x-go-name": "ServiceID" }, "tenant_id": { "description": "租户id\nin: body", "type": "string", "x-go-name": "TenantID" }, "url_repos": { "description": "git地址\nin: body", "type": "string", "x-go-name": "URLRepos" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin": { "post": { "description": "create plugin", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "创建插件", "operationId": "createPlugin", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "plugin_id", "plugin_name" ], "properties": { "build_model": { "description": "构建模式\nin: body", "type": "string", "x-go-name": "BuildModel" }, "env_info": { "description": "in: body", "type": "array", "items": { "$ref": "#/definitions/PluginDefaultENV" }, "x-go-name": "EVNInfo" }, "git_url": { "description": "git地址\nin: body", "type": "string", "x-go-name": "GitURL" }, "image_local": { "description": "插件goodrain地址\nin: body", "type": "string", "x-go-name": "ImageLocal" }, "image_url": { "description": "插件docker地址\nin: body", "type": "string", "x-go-name": "ImageURL" }, "plugin_cmd": { "description": "插件启动命令\nin: body", "type": "string", "x-go-name": "PluginCMD" }, "plugin_id": { "description": "in: body", "type": "string", "x-go-name": "PluginID" }, "plugin_info": { "description": "插件用途描述\nin: body", "type": "string", "x-go-name": "PluginInfo" }, "plugin_model": { "description": "插件模式\nin: body", "type": "string", "x-go-name": "PluginModel" }, "plugin_name": { "description": "in: body", "type": "string", "x-go-name": "PluginName" }, "repo": { "description": "带分支信息的git地址\nin: body", "type": "string", "x-go-name": "Repo" }, "tenant_id": { "description": "in: body", "type": "string", "x-go-name": "TenantID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin/{plugin_id}": { "put": { "description": "update plugin", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "插件更新 全量更新,但pluginID和所在租户不提供修改", "operationId": "updatePlugin", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "properties": { "build_model": { "description": "构建模式\nin: body", "type": "string", "x-go-name": "BuildModel" }, "git_url": { "description": "git地址\nin: body", "type": "string", "x-go-name": "GitURL" }, "image_local": { "description": "插件goodrain地址\nin: body", "type": "string", "x-go-name": "ImageLocal" }, "image_url": { "description": "插件docker地址\nin: body", "type": "string", "x-go-name": "ImageURL" }, "plugin_cmd": { "description": "插件启动命令\nin: body", "type": "string", "x-go-name": "PluginCMD" }, "plugin_info": { "description": "插件用途描述\nin: body", "type": "string", "x-go-name": "PluginInfo" }, "plugin_model": { "description": "插件模式\nin: body", "type": "string", "x-go-name": "PluginModel" }, "plugin_name": { "description": "插件名称\nin: body", "type": "string", "x-go-name": "PluginName" }, "repo": { "description": "带分支信息的git地址\nin: body", "type": "string", "x-go-name": "Repo" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete plugin", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "插件删除", "operationId": "deletePlugin", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin/{plugin_id}/build": { "post": { "description": "build plugin", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "构建plugin", "operationId": "buildPlugin", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id", "kind", "deploy_version", "info" ], "properties": { "deploy_version": { "description": "部署的版本号\nin: body", "type": "string", "x-go-name": "DeployVersion" }, "event_id": { "description": "the event id\nin: body", "type": "string", "x-go-name": "EventID" }, "git_url": { "description": "git地址\nin: body", "type": "string", "x-go-name": "GitURL" }, "image_url": { "description": "镜像地址\nin: body", "type": "string", "x-go-name": "ImageURL" }, "info": { "description": "版本信息, 协助选择插件版本\nin:body", "type": "string", "x-go-name": "Info" }, "kind": { "description": "插件构建类型, image/dockerfile\nin: body", "type": "string", "x-go-name": "Kind" }, "operator": { "description": "操作人\nin: body", "type": "string", "x-go-name": "Operator" }, "repo_url": { "description": "git地址 带版本\nin: body", "type": "string", "x-go-name": "RepoURL" }, "tenant_id": { "description": "租户id\nin: body", "type": "string", "x-go-name": "TenantID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin/{plugin_id}/build-version": { "get": { "description": "all plugin versions", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取所有的构建版本信息", "operationId": "allPluginVersions", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin/{plugin_id}/build-version/{version_id}": { "get": { "description": "plugin version", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取某个构建版本信息", "operationId": "pluginVersion", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "type": "string", "x-go-name": "VersionID", "name": "version_id", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete plugin version", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除某个构建版本信息", "operationId": "deletePluginVersion", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "type": "string", "x-go-name": "VersionID", "name": "version_id", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin/{plugin_id}/default-env": { "put": { "description": "update default env", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "更新插件默认变量,支持批量", "operationId": "updatedefaultenv", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "EVNInfo" ], "properties": { "EVNInfo": { "description": "in: body", "type": "array", "items": { "$ref": "#/definitions/PluginDefaultENV" } } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "add default env", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "添加插件默认变量", "operationId": "adddefaultenv", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "EVNInfo" ], "properties": { "EVNInfo": { "description": "in: body", "type": "array", "items": { "$ref": "#/definitions/PluginDefaultENV" } } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/plugin/{plugin_id}/default-env/{env_name}": { "delete": { "description": "delete default env", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除插件默认变量", "operationId": "deletedefaultenv", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "PluginID", "name": "plugin_id", "in": "path", "required": true }, { "type": "string", "x-go-name": "ENVName", "description": "配置项名称", "name": "env_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/resources": { "get": { "description": "get tenant resources", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "指定租户资源使用情况 ", "operationId": "singletenantResources", "parameters": [ { "type": "string", "description": "tenant name", "name": "tenant_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services": { "get": { "description": "get services info in tenant ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取租户所有应用信息", "operationId": "getServiceInfo", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "create service ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "创建应用", "operationId": "createService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "service_alias" ], "properties": { "category": { "description": "服务分类:application,cache,store\nin: body", "type": "string", "x-go-name": "Category" }, "code_from": { "description": "代码来源:gitlab,github\nin: body", "type": "string", "x-go-name": "CodeFrom" }, "comment": { "description": "服务描述\nin: body", "type": "string", "x-go-name": "Comment" }, "container_cmd": { "description": "容器启动命令\nin: body", "type": "string", "x-go-name": "ContainerCMD" }, "container_cpu": { "description": "容器CPU权重\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerCPU" }, "container_env": { "description": "容器环境变量\nin: body", "type": "string", "x-go-name": "ContainerEnv" }, "container_memory": { "description": "容器最大内存\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerMemory" }, "depend_ids": { "description": "依赖id, 格式: []struct TenantServiceRelation\nin: body", "type": "array", "items": { "$ref": "#/definitions/TenantServiceRelation" }, "x-go-name": "DependIDs" }, "deploy_version": { "description": "部署版本\nin: body", "type": "string", "x-go-name": "DeployVersion" }, "envs_info": { "description": "环境变量信息, 格式: []struct TenantServiceEnvVar\nin: body", "type": "array", "items": { "$ref": "#/definitions/TenantServiceEnvVar" }, "x-go-name": "EnvsInfo" }, "event_id": { "description": "最新操作ID\nin: body", "type": "string", "x-go-name": "EventID" }, "extend_method": { "description": "扩容方式;0:无状态;1:有状态;2:分区\nin: body", "type": "string", "x-go-name": "ExtendMethod" }, "host_path": { "description": "宿主机目录\nin: body", "type": "string", "x-go-name": "HostPath" }, "image_name": { "description": "镜像名称\nin: body", "type": "string", "x-go-name": "ImageName" }, "namespace": { "description": "镜像来源\nin: body", "type": "string", "x-go-name": "Namespace" }, "node_label": { "description": "节点标签,格式: v1,v2\nin: body", "type": "string", "x-go-name": "NodeLabel" }, "operator": { "description": "操作人\nin: body", "type": "string", "x-go-name": "Operator" }, "port_type": { "description": "端口类型,one_outer;dif_protocol;multi_outer\nin: body", "type": "string", "x-go-name": "PortType" }, "ports_info": { "description": "端口信息, 格式: []struct TenantServicesPort\nin: body", "type": "array", "items": { "$ref": "#/definitions/TenantServicesPort" }, "x-go-name": "PortsInfo" }, "replicas": { "description": "节点数\nin: body", "type": "integer", "format": "int64", "x-go-name": "Replicas" }, "service_alias": { "description": "服务别名\nin: body", "type": "string", "x-go-name": "ServiceAlias" }, "service_id": { "description": "应用id\nin: body", "type": "string", "x-go-name": "ServiceID" }, "service_key": { "description": "服务key\nin: body", "type": "string", "x-go-name": "ServiceKey" }, "service_label": { "description": "应用标签,value\nin: body", "type": "string", "x-go-name": "ServiceLabel" }, "service_origin": { "description": "服务创建类型cloud云市服务,assistant云帮服务\nin: body", "type": "string", "x-go-name": "ServiceOrigin" }, "service_type": { "description": "服务类型\nin: body", "type": "string", "x-go-name": "ServiceType" }, "service_version": { "description": "服务版本\nin: body", "type": "string", "x-go-name": "ServiceVersion" }, "tenant_id": { "description": "租户id\nin: body", "type": "string", "x-go-name": "TenantID" }, "update_time": { "description": "更新时间\nin: body", "x-go-name": "UpdateTime" }, "volume_mount_path": { "description": "容器挂载目录\nin: body", "type": "string", "x-go-name": "VolumeMountPath" }, "volume_path": { "description": "卷名字\nin: body", "type": "string", "x-go-name": "VolumePath" }, "volume_type": { "description": "共享类型shared、exclusive\nin: body", "type": "string", "x-go-name": "VolumeType" }, "volumes_info": { "description": "持久化目录信息, 格式: []struct TenantServiceVolume\nin: body", "type": "array", "items": { "$ref": "#/definitions/TenantServiceVolume" }, "x-go-name": "VolumesInfo" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}": { "get": { "description": "get service info ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用信息", "operationId": "getService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "put": { "description": "update service ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "应用更新", "operationId": "updateService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "properties": { "container_cmd": { "description": "容器启动命令\nin: body", "type": "string", "x-go-name": "ContainerCMD" }, "container_memory": { "description": "容器最大内存\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerMemory" }, "image_name": { "description": "镜像名称\nin: body", "type": "string", "x-go-name": "ImageName" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete service", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用", "operationId": "deleteService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/build": { "post": { "description": "service build ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "应用构建", "operationId": "serviceBuild", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id", "kind", "deploy_version" ], "properties": { "action": { "description": "后续动作, 根据该值进行一键部署,如果不传值,则默认只进行构建\nin: body", "type": "string", "x-go-name": "Action" }, "deploy_version": { "description": "部署的版本号\nin: body", "type": "string", "x-go-name": "DeployVersion" }, "envs": { "description": "变量\nin: body", "type": "object", "additionalProperties": { "type": "string" }, "x-go-name": "ENVS" }, "event_id": { "description": "the event id\nin: body", "type": "string", "x-go-name": "EventID" }, "image_url": { "description": "镜像地址\nin: body", "type": "string", "x-go-name": "ImageURL" }, "kind": { "description": "应用构建类型\nin: body", "type": "string", "x-go-name": "Kind" }, "operator": { "description": "操作人员\nin: body", "type": "string", "x-go-name": "Operator" }, "repo_url": { "description": "git地址\nin: body", "type": "string", "x-go-name": "RepoURL" }, "service_alias": { "type": "string", "x-go-name": "ServiceAlias" }, "tenant_name": { "type": "string", "x-go-name": "TenantName" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/dependency": { "post": { "description": "add dependency ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用依赖关系", "operationId": "addDependency", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "dep_service_id" ], "properties": { "dep_order": { "description": "不明,默认传 1, 可以不传\nin: body", "type": "string", "x-go-name": "DepOrder" }, "dep_service_id": { "description": "被依赖的应用id\nin: body", "type": "string", "x-go-name": "DepServiceID" }, "dep_service_type": { "description": "被依赖的应用类型,添加时需要传值, 删除时不需要传值\nin: body", "type": "string", "x-go-name": "DepServiceType" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete dependency ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用依赖关系", "operationId": "deleteDependency", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "dep_service_id" ], "properties": { "dep_order": { "description": "不明,默认传 1, 可以不传\nin: body", "type": "string", "x-go-name": "DepOrder" }, "dep_service_id": { "description": "被依赖的应用id\nin: body", "type": "string", "x-go-name": "DepServiceID" }, "dep_service_type": { "description": "被依赖的应用类型,添加时需要传值, 删除时不需要传值\nin: body", "type": "string", "x-go-name": "DepServiceType" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/depvolumes": { "get": { "description": "get depvolumes", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用依赖的存储(V2.1支持多种类型存储)", "operationId": "getDepVolumes", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "add volume dependency ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用持久化依赖(V2.1支持多种类型存储)", "operationId": "addDepVolume", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "depend_service_id", "volume_path", "volume_name" ], "properties": { "depend_service_id": { "description": "依赖的服务id\nin: body", "type": "string", "x-go-name": "DependServiceID" }, "volume_name": { "description": "依赖存储名称\nin: body", "type": "string", "x-go-name": "VolumeName" }, "volume_path": { "description": "容器挂载目录\nin: body", "type": "string", "x-go-name": "VolumePath" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete volume dependency ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用持久化依赖(V2.1支持多种类型存储)", "operationId": "delDepVolume", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "depend_service_id", "volume_name" ], "properties": { "depend_service_id": { "description": "依赖的服务id\nin: body", "type": "string", "x-go-name": "DependServiceID" }, "volume_name": { "description": "依赖存储名称\nin: body", "type": "string", "x-go-name": "VolumeName" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/env": { "post": { "description": "add env var ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加环境变量", "operationId": "addEnv", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "env_name" ], "properties": { "container_port": { "description": "端口\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerPort" }, "env_name": { "description": "变量名称\nin: body", "type": "string", "x-go-name": "AttrName" }, "env_value": { "description": "变量值, 增加时需要传值, 删除时可以不传\nin: body", "type": "string", "x-go-name": "AttrValue" }, "is_change": { "description": "是否可以修改\nin: body", "type": "boolean", "x-go-name": "IsChange" }, "name": { "description": "name\nin: body", "type": "string", "x-go-name": "Name" }, "scope": { "description": "应用范围: inner or outer or both\nin: body", "type": "string", "x-go-name": "Scope" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete env var ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除环境变量", "operationId": "deleteEnv", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "env_name" ], "properties": { "container_port": { "description": "端口\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerPort" }, "env_name": { "description": "变量名称\nin: body", "type": "string", "x-go-name": "AttrName" }, "env_value": { "description": "变量值, 增加时需要传值, 删除时可以不传\nin: body", "type": "string", "x-go-name": "AttrValue" }, "is_change": { "description": "是否可以修改\nin: body", "type": "boolean", "x-go-name": "IsChange" }, "name": { "description": "name\nin: body", "type": "string", "x-go-name": "Name" }, "scope": { "description": "应用范围: inner or outer or both\nin: body", "type": "string", "x-go-name": "Scope" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/event-log": { "post": { "description": "get log by level", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取指定操作的操作日志 ", "operationId": "logByAction", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "level", "event_id" ], "properties": { "event_id": { "description": "eventID\nin: body", "type": "string", "x-go-name": "EventID" }, "level": { "description": "日志级别info/debug/error\nin: body", "type": "string", "x-go-name": "Level" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/horizontal": { "put": { "description": "service horizontal ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "应用水平伸缩", "operationId": "horizontalService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id" ], "properties": { "event_id": { "description": "the event id\nin: body", "type": "string", "x-go-name": "EventID" }, "node_num": { "description": "伸缩数量\nin: body", "type": "integer", "format": "int64", "x-go-name": "NodeNUM" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/language": { "post": { "description": "set language ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "设置应用语言", "operationId": "setLanguage", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id", "language" ], "properties": { "event_id": { "description": "the tenant id\nin: body", "type": "string", "x-go-name": "EventID" }, "language": { "description": "the language\nin: body", "type": "string", "x-go-name": "Language" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/log": { "post": { "description": "get last x lines logs", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取最新指定数量条日志 ", "operationId": "lastLinesLogs", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "lines" ], "properties": { "lines": { "description": "行数\nin: body", "type": "integer", "format": "int64", "x-go-name": "Lines" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/log-file": { "get": { "description": "get log list", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用日志列表 ", "operationId": "logList", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/log-file/{file_name}": { "get": { "description": "get log file", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "下载应用指定日志 ", "operationId": "logFile", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "type": "string", "x-go-name": "FileName", "name": "file_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/log-instance": { "get": { "description": "get log socket", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用日志web-socket实例 ", "operationId": "logSocket", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/node-label": { "post": { "description": "add node label ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "添加节点标签", "operationId": "addNodeLabel", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "label_values" ], "properties": { "label_values": { "description": "标签值,格式为\"[v1, v2, v3]\"\nin: body", "type": "array", "items": { "type": "string" }, "x-go-name": "LabelValues" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete node label ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除节点标签", "operationId": "deleteNodeLabel", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "label_values" ], "properties": { "label_values": { "description": "标签值,格式为\"[v1, v2, v3]\"\nin: body", "type": "array", "items": { "type": "string" }, "x-go-name": "LabelValues" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/plugin": { "put": { "description": "update plugin setting", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "更新插件设定", "operationId": "updatePluginSet", "parameters": [ { "type": "string", "x-go-name": "TenantName", "description": "tenant name", "name": "tenant_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "get plugin setting", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取插件设定", "operationId": "getPluginSet", "parameters": [ { "type": "string", "x-go-name": "TenantName", "description": "tenant name", "name": "tenant_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/plugin/{plugin_id}": { "post": { "description": "delete plugin relation", "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除插件依赖", "operationId": "deletePluginRelation", "parameters": [ { "type": "string", "x-go-name": "TenantName", "description": "tenant name", "name": "tenant_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/pods": { "get": { "description": "get pods info ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取pods信息", "operationId": "getPodsInfo", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/ports": { "put": { "description": "update port ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "更新应用端口信息", "operationId": "updatePort", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "properties": { "Port": { "type": "array", "items": { "$ref": "#/definitions/TenantServicesPort" } } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "add port ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用端口,默认关闭对内和对外选项,需要开启使用相应接口", "operationId": "addPort", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "properties": { "Port": { "type": "array", "items": { "$ref": "#/definitions/TenantServicesPort" } } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/ports/{port}": { "delete": { "description": "delete port ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除端口变量", "operationId": "deletePort", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "type": "integer", "format": "int64", "x-go-name": "Port", "description": "容器端口", "name": "port", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/ports/{port}/inner": { "put": { "description": "add port ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "开关对内服务,应用无需重启,自动生效", "operationId": "PortInnerController", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "type": "integer", "format": "int64", "x-go-name": "Port", "name": "port", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "operation" ], "properties": { "operation": { "description": "操作值 `close` or `open`\nin: body", "type": "string", "x-go-name": "Operation" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/ports/{port}/outer": { "put": { "description": "add port ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "开关端口对外服务,应用无需重启自动生效", "operationId": "PortOuterController", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "type": "integer", "format": "int64", "x-go-name": "Port", "name": "port", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "operation" ], "properties": { "operation": { "description": "操作值 `close` or `open`\nin: body", "type": "string", "x-go-name": "Operation" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/probe": { "put": { "description": "update probe ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "更新应用探针信息, *注意此处为全量更新", "operationId": "updateProbe", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "probe_id" ], "properties": { "cmd": { "description": "运行命令\nin: body", "type": "string", "x-go-name": "Cmd" }, "failure_threshold": { "description": "标志为失败的检测次数\nin: body", "type": "integer", "format": "int64", "x-go-name": "FailureThreshold" }, "http_header": { "description": "http请求头,key=value,key2=value2\nin: body", "type": "string", "x-go-name": "HTTPHeader" }, "initial_delay_second": { "description": "初始化等候时间, 默认为1\nin: body", "type": "integer", "format": "int64", "x-go-name": "InitialDelaySecond" }, "is_used": { "description": "是否启用\nin: body", "type": "integer", "format": "int64", "x-go-name": "IsUsed" }, "mode": { "description": "mode\nin: body", "type": "string", "x-go-name": "Mode" }, "path": { "description": "path\nin: body", "type": "string", "x-go-name": "Path" }, "period_second": { "description": "检测间隔时间, 默认为3\nin: body", "type": "integer", "format": "int64", "x-go-name": "PeriodSecond" }, "port": { "description": "端口, 默认为80\nin: body", "type": "integer", "format": "int64", "x-go-name": "Port" }, "probe_id": { "description": "探针id\nin: body", "type": "string", "x-go-name": "ProbeID" }, "scheme": { "description": "mode\nin: body", "type": "string", "x-go-name": "Scheme" }, "success_threshold": { "description": "标志为成功的检测次数\nin: body", "type": "integer", "format": "int64", "x-go-name": "SuccessThreshold" }, "timeout_second": { "description": "检测超时时间, 默认为30\nin: body", "type": "integer", "format": "int64", "x-go-name": "TimeoutSecond" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "add probe ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用探针", "operationId": "addProbe", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "probe_id" ], "properties": { "cmd": { "description": "运行命令\nin: body", "type": "string", "x-go-name": "Cmd" }, "failure_threshold": { "description": "标志为失败的检测次数\nin: body", "type": "integer", "format": "int64", "x-go-name": "FailureThreshold" }, "http_header": { "description": "http请求头,key=value,key2=value2\nin: body", "type": "string", "x-go-name": "HTTPHeader" }, "initial_delay_second": { "description": "初始化等候时间, 默认为1\nin: body", "type": "integer", "format": "int64", "x-go-name": "InitialDelaySecond" }, "is_used": { "description": "是否启用\nin: body", "type": "integer", "format": "int64", "x-go-name": "IsUsed" }, "mode": { "description": "mode\nin: body", "type": "string", "x-go-name": "Mode" }, "path": { "description": "path\nin: body", "type": "string", "x-go-name": "Path" }, "period_second": { "description": "检测间隔时间, 默认为3\nin: body", "type": "integer", "format": "int64", "x-go-name": "PeriodSecond" }, "port": { "description": "端口, 默认为80\nin: body", "type": "integer", "format": "int64", "x-go-name": "Port" }, "probe_id": { "description": "探针id\nin: body", "type": "string", "x-go-name": "ProbeID" }, "scheme": { "description": "mode\nin: body", "type": "string", "x-go-name": "Scheme" }, "success_threshold": { "description": "标志为成功的检测次数\nin: body", "type": "integer", "format": "int64", "x-go-name": "SuccessThreshold" }, "timeout_second": { "description": "检测超时时间, 默认为30\nin: body", "type": "integer", "format": "int64", "x-go-name": "TimeoutSecond" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete probe ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用探针", "operationId": "deleteProbe", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "probe_id" ], "properties": { "probe_id": { "description": "探针id\nin: body", "type": "string", "x-go-name": "ProbeID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/restart": { "post": { "description": "restart service ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "重启应用", "operationId": "restartService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id" ], "properties": { "event_id": { "description": "the tenant id\nin: body", "type": "string", "x-go-name": "EventID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/rollback": { "post": { "description": "service rollback ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "应用版本回滚", "operationId": "rollback", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id", "deploy_version" ], "properties": { "deploy_version": { "description": "回滚到的版本号\nin: body", "type": "string", "x-go-name": "DeployVersion" }, "event_id": { "description": "event_id\nin: body", "type": "string", "x-go-name": "EventID" }, "operator": { "description": "操作人\nin: body", "type": "string", "x-go-name": "Operator" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/service-label": { "put": { "description": "delete service label ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "更新应用标签", "operationId": "updateServiceLabel", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "label_values" ], "properties": { "label_values": { "description": "标签值,格式为\"v1\"\nin: bod", "type": "string", "x-go-name": "LabelValues" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "add service label ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "添加应用标签", "operationId": "addServiceLabel", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "label_values" ], "properties": { "label_values": { "description": "标签值,格式为\"v1\"\nin: bod", "type": "string", "x-go-name": "LabelValues" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/start": { "post": { "description": "start service ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "启动应用", "operationId": "startService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id" ], "properties": { "event_id": { "description": "the tenant id\nin: body", "type": "string", "x-go-name": "EventID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/status": { "get": { "description": "get service status", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用状态", "operationId": "serviceStatus", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/stop": { "post": { "description": "stop service ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "关闭应用", "operationId": "stopService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id" ], "properties": { "event_id": { "description": "the tenant id\nin: body", "type": "string", "x-go-name": "EventID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/upgrade": { "post": { "description": "upgrade service ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "升级应用", "operationId": "upgradeService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id", "deploy_version" ], "properties": { "deploy_version": { "description": "版本号\nin: body", "type": "integer", "format": "int64", "x-go-name": "DeployVersion" }, "event_id": { "description": "the event id\nin: body", "type": "string", "x-go-name": "EventID" }, "operator": { "description": "操作人员\nin: body", "type": "integer", "format": "int64", "x-go-name": "Operator" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/vertical": { "put": { "description": "service vertical ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "应用垂直伸缩", "operationId": "verticalService", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "event_id" ], "properties": { "container_cpu": { "description": "cpu数量\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerCPU" }, "container_memory": { "description": "内存大小\nin: body", "type": "integer", "format": "int64", "x-go-name": "ContainerMemory" }, "event_id": { "description": "the event id\nin: body", "type": "string", "x-go-name": "EventID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/volume": { "post": { "description": "add volume ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用持久化信息", "operationId": "addVolume", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "category", "volume_path", "host_path" ], "properties": { "category": { "description": "类型 \"application;app_publish\"\nin: body", "type": "string", "x-go-name": "Category" }, "host_path": { "description": "宿主机挂载目录\nin: body", "type": "string", "x-go-name": "HostPath" }, "volume_path": { "description": "容器挂载目录\nin: body", "type": "string", "x-go-name": "VolumePath" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete volume ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用持久化信息", "operationId": "deleteVolume", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "category", "volume_path" ], "properties": { "category": { "description": "类型 \"application;app_publish\"\nin: body", "type": "string", "x-go-name": "Category" }, "volume_path": { "description": "容器挂载目录\nin: body", "type": "string", "x-go-name": "VolumePath" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/volume-dependency": { "post": { "description": "add volume dependency ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用持久化依赖", "operationId": "addVolumeDependency", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "depend_service_id", "mnt_dir", "mnt_name" ], "properties": { "depend_service_id": { "description": "依赖的服务id\nin: body", "type": "string", "x-go-name": "DependServiceID" }, "mnt_dir": { "description": "挂载目录\nin: body", "type": "string", "x-go-name": "MntDir" }, "mnt_name": { "description": "挂载容器内目录名称\nin: body", "type": "string", "x-go-name": "MntName" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "delete": { "description": "delete volume dependency ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用持久化依赖", "operationId": "deleteVolumeDependency", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "depend_service_id" ], "properties": { "depend_service_id": { "description": "依赖的服务id\nin: body", "type": "string", "x-go-name": "DependServiceID" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/volumes": { "get": { "description": "get volumes", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用全部存储,包括依赖的存储(V2.1支持多种类型存储)", "operationId": "getVolumes", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } }, "post": { "description": "add volume ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "增加应用持久化信息(V2.1支持多种类型存储)", "operationId": "addVolumes", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "name": "Body", "in": "body", "schema": { "type": "object", "required": [ "category", "volume_path", "volume_type", "volume_name" ], "properties": { "category": { "description": "类型 \"application;app_publish\"\nin: body", "type": "string", "x-go-name": "Category" }, "volume_name": { "description": "存储名称(同一个应用唯一)\nin: body", "type": "string", "x-go-name": "VolumeName" }, "volume_path": { "description": "容器挂载目录\nin: body", "type": "string", "x-go-name": "VolumePath" }, "volume_type": { "description": "存储类型(share,local,tmpfs)\nin: body", "type": "string", "x-go-name": "VolumeType" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services/{service_alias}/volumes/{volume_name}": { "delete": { "description": "delete volume ", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "删除应用持久化信息(V2.1支持多种类型存储)", "operationId": "deleteVolumes", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "type": "string", "x-go-name": "ServiceAlias", "name": "service_alias", "in": "path", "required": true }, { "type": "string", "x-go-name": "VolumeName", "description": "存储名称", "name": "volume_name", "in": "path", "required": true } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } }, "/v2/tenants/{tenant_name}/services_status": { "post": { "description": "get service statuslist", "consumes": [ "application/json", "application/x-protobuf" ], "produces": [ "application/json", "application/xml" ], "tags": [ "v2" ], "summary": "获取应用状态", "operationId": "serviceStatuslist", "parameters": [ { "type": "string", "x-go-name": "TenantName", "name": "tenant_name", "in": "path", "required": true }, { "name": "Body", "in": "body", "required": true, "schema": { "type": "object", "required": [ "service_ids" ], "properties": { "service_ids": { "description": "需要获取状态的服务ID列表,若不指定,返回租户所有应用的状态\nin: body", "type": "array", "items": { "type": "string" }, "x-go-name": "ServiceIDs" } } } } ], "responses": { "default": { "description": "统一返回格式", "schema": { "$ref": "#/responses/commandResponse" } } } } } }, "definitions": { "ImageShare": { "description": "ImageShare image 类型", "type": "object", "properties": { "action": { "type": "string", "x-go-name": "Action" }, "app_version": { "type": "string", "x-go-name": "APPVersion" }, "dest": { "type": "string", "x-go-name": "Dest" }, "event_id": { "type": "string", "x-go-name": "EventID" }, "image": { "type": "string", "x-go-name": "Image" }, "is_outer": { "type": "boolean", "x-go-name": "IsOuter" }, "service_key": { "type": "string", "x-go-name": "ServiceKey" }, "share_id": { "type": "string", "x-go-name": "ShareID" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/api/model" }, "PluginDefaultENV": { "description": "PluginDefaultENV 插件默认环境变量", "type": "object", "required": [ "env_name", "env_value" ], "properties": { "env_name": { "description": "配置项名称\nin: path", "type": "string", "x-go-name": "ENVName" }, "env_value": { "description": "配置项值\nin: path", "type": "string", "x-go-name": "ENVValue" }, "plugin_id": { "description": "对应插件id\nin: path", "type": "string", "x-go-name": "PluginID" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/api/model" }, "SlugShare": { "description": "SlugShare Slug 类型", "type": "object", "properties": { "action": { "type": "string", "x-go-name": "Action" }, "app_version": { "type": "string", "x-go-name": "APPVersion" }, "deploy_version": { "type": "string", "x-go-name": "DeployVersion" }, "dest": { "type": "string", "x-go-name": "Dest" }, "event_id": { "type": "string", "x-go-name": "EventID" }, "is_outer": { "type": "boolean", "x-go-name": "IsOuter" }, "service_id": { "type": "string", "x-go-name": "ServiceID" }, "service_key": { "type": "string", "x-go-name": "ServiceKey" }, "share_id": { "type": "string", "x-go-name": "ShareID" }, "tenant_id": { "type": "string", "x-go-name": "TenantID" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/api/model" }, "TenantServiceEnvVar": { "description": "TenantServiceEnvVar 应用环境变量", "type": "object", "properties": { "CreatedAt": {}, "ID": { "type": "integer", "format": "uint64" }, "attr_name": { "type": "string", "x-go-name": "AttrName" }, "attr_value": { "type": "string", "x-go-name": "AttrValue" }, "container_port": { "type": "integer", "format": "int64", "x-go-name": "ContainerPort" }, "is_change": { "type": "boolean", "x-go-name": "IsChange" }, "name": { "type": "string", "x-go-name": "Name" }, "scope": { "type": "string", "x-go-name": "Scope" }, "service_id": { "type": "string", "x-go-name": "ServiceID" }, "tenant_id": { "type": "string", "x-go-name": "TenantID" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/db/model" }, "TenantServiceRelation": { "description": "TenantServiceRelation 应用依赖关系", "type": "object", "properties": { "CreatedAt": {}, "ID": { "type": "integer", "format": "uint64" }, "dep_order": { "type": "integer", "format": "int64", "x-go-name": "DependOrder" }, "dep_service_type": { "type": "string", "x-go-name": "DependServiceType" }, "depend_service_id": { "type": "string", "x-go-name": "DependServiceID" }, "service_id": { "type": "string", "x-go-name": "ServiceID" }, "tenant_id": { "type": "string", "x-go-name": "TenantID" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/db/model" }, "TenantServiceVolume": { "description": "TenantServiceVolume 应用持久化纪录", "type": "object", "properties": { "CreatedAt": {}, "ID": { "type": "integer", "format": "uint64" }, "category": { "description": "服务类型", "type": "string", "x-go-name": "Category" }, "host_path": { "description": "主机地址", "type": "string", "x-go-name": "HostPath" }, "is_read_only": { "description": "是否只读", "type": "boolean", "x-go-name": "IsReadOnly" }, "service_id": { "type": "string", "x-go-name": "ServiceID" }, "volume_name": { "description": "存储名称", "type": "string", "x-go-name": "VolumeName" }, "volume_path": { "description": "挂载地址", "type": "string", "x-go-name": "VolumePath" }, "volume_type": { "description": "存储类型(share,local,tmpfs)", "type": "string", "x-go-name": "VolumeType" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/db/model" }, "TenantServicesPort": { "description": "TenantServicesPort 应用端口信息", "type": "object", "properties": { "ID": { "type": "integer", "format": "uint64" }, "container_port": { "type": "integer", "format": "int64", "x-go-name": "ContainerPort" }, "is_inner_service": { "type": "boolean", "x-go-name": "IsInnerService" }, "is_outer_service": { "type": "boolean", "x-go-name": "IsOuterService" }, "mapping_port": { "type": "integer", "format": "int64", "x-go-name": "MappingPort" }, "port_alias": { "type": "string", "x-go-name": "PortAlias" }, "protocol": { "type": "string", "x-go-name": "Protocol" }, "service_id": { "type": "string", "x-go-name": "ServiceID" }, "tenant_id": { "type": "string", "x-go-name": "TenantID" } }, "x-go-package": "github.com/goodrain/rainbond/pkg/api/model" }, "Values": { "description": "It is typically used for query parameters and form values.\nUnlike in the http.Header map, the keys in a Values map\nare case-sensitive.", "type": "object", "title": "Values maps a string key to a list of values.", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "x-go-package": "net/url" } }, "responses": { "commandResponse": { "description": "CommandResponse api统一返回结构", "schema": { "type": "object", "properties": { "bean": { "description": "单资源实体", "type": "object", "x-go-name": "Bean" }, "list": { "description": "资源列表", "type": "object", "x-go-name": "List" }, "msg": { "description": "API错误信息", "type": "string", "x-go-name": "Msg" }, "number": { "description": "数据集总数", "type": "integer", "format": "int64", "x-go-name": "ListAllNumber" }, "page": { "description": "当前页码数", "type": "integer", "format": "int64", "x-go-name": "Page" }, "validation_error": { "$ref": "#/definitions/Values" } } } } } }