diff --git a/api/swagger/docs.go b/api/swagger/docs.go new file mode 100644 index 00000000..3b595793 --- /dev/null +++ b/api/swagger/docs.go @@ -0,0 +1,6874 @@ +// Package swagger GENERATED BY SWAG; DO NOT EDIT +// This file was generated by swaggo/swag +package swagger + +import "github.com/swaggo/swag" + +const docTemplate = `{ + "schemes": {{ marshal .Schemes }}, + "swagger": "2.0", + "info": { + "description": "{{escape .Description}}", + "title": "{{.Title}}", + "contact": { + "name": "taekyu.kang@sk.com", + "email": "taekyu.kang@sk.com" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "{{.Version}}" + }, + "host": "{{.Host}}", + "basePath": "{{.BasePath}}", + "paths": { + "/app-groups": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appGroup list by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Get appGroup list", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "query" + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppGroupsResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Install appGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Install appGroup", + "parameters": [ + { + "description": "create appgroup request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateAppGroupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateAppGroupResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Uninstall appGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Uninstall appGroup", + "parameters": [ + { + "description": "body", + "name": "object", + "in": "body", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/app-groups/{appGroupId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appGroup detail by appGroupId", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Get appGroup detail", + "parameters": [ + { + "type": "string", + "description": "appGroupId", + "name": "appGroupId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppGroupResponse" + } + } + } + } + }, + "/app-groups/{appGroupId}/applications": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get applications", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Get applications", + "parameters": [ + { + "type": "string", + "description": "appGroupId", + "name": "appGroupId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "applicationType", + "name": "applicationType", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetApplicationsResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create application", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Create application", + "parameters": [ + { + "description": "body", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateApplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/auth/find-id/code": { + "post": { + "description": "This API allows users to verify their identity for lost id by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to verify identity for lost id", + "parameters": [ + { + "description": "Request body for verifying identity for lost id including {organization ID, email, username}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostIdRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostIdResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/find-id/verification": { + "post": { + "description": "This API allows users to find their account ID by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to find forgotten ID", + "parameters": [ + { + "description": "Request body for finding the account ID including {organization ID, email, username, 6 digit code}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.FindIdRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.FindIdResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/find-password/code": { + "post": { + "description": "This API allows users to verify their identity for lost password by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to verify identity for lost password", + "parameters": [ + { + "description": "Request body for verifying identity for lost password including {organization ID, email, username, Account ID}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostPasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostPasswordResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/find-password/verification": { + "post": { + "description": "This API allows users to reset their forgotten password by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to find forgotten password", + "parameters": [ + { + "description": "Request body for finding the password including {organization ID, email, username, Account ID, 6 digit code}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.FindPasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/login": { + "post": { + "description": "login", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "login", + "parameters": [ + { + "description": "account info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.LoginRequest" + } + } + ], + "responses": { + "200": { + "description": "user detail", + "schema": { + "$ref": "#/definitions/domain.LoginResponse" + } + } + } + } + }, + "/auth/logout": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "logout", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "logout", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.LogoutResponse" + } + } + } + } + }, + "/auth/ping": { + "post": { + "description": "ping with token", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "ping with token", + "parameters": [ + { + "description": "token info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.PingTokenRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/clusters": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get cluster list", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get clusters", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "query" + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetClustersResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Create cluster", + "parameters": [ + { + "description": "create cluster request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateClusterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateClusterResponse" + } + } + } + } + }, + "/clusters/import": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Import cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Import cluster", + "parameters": [ + { + "description": "import cluster request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.ImportClusterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.ImportClusterResponse" + } + } + } + } + }, + "/clusters/{clusterId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get cluster detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get cluster", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.Cluster" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Delete cluster", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.Cluster" + } + } + } + } + }, + "/clusters/{clusterId}/bootstrap-kubeconfig": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get bootstrap kubeconfig for BYOH", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get bootstrap kubeconfig for BYOH", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetBootstrapKubeconfigResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create bootstrap kubeconfig for BYOH", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Create bootstrap kubeconfig for BYOH", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateBootstrapKubeconfigResponse" + } + } + } + } + }, + "/clusters/{clusterId}/install": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Install cluster on tks cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Install cluster on tks cluster", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/clusters/{clusterId}/nodes": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get nodes information for BYOH", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get nodes information for BYOH", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetClusterNodesResponse" + } + } + } + } + }, + "/clusters/{clusterId}/site-values": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get cluster site values for creating", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get cluster site values for creating", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.ClusterSiteValuesResponse" + } + } + } + } + }, + "/organizations": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get organization list", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get organization list", + "parameters": [ + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ListOrganizationBody" + } + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create organization", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Create organization", + "parameters": [ + { + "description": "create organization request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateOrganizationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object" + } + } + } + } + }, + "/organizations/{organizationId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get organization detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get organization detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetOrganizationResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update organization detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Update organization detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "update organization request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateOrganizationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.UpdateOrganizationResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete organization", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Delete organization", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.Organization" + } + } + } + } + }, + "/organizations/{organizationId}/alerts": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Alerts", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Get Alerts", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAlertsResponse" + } + } + } + } + }, + "/organizations/{organizationId}/alerts/{alertId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Alert", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Get Alert", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "alertId", + "name": "alertId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAlertResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update Alert", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Update Alert", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Update cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAlertRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete Alert", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Delete Alert", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "alertId", + "name": "alertId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/alerts/{alertId}/actions": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create alert action", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Create alert action", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appServeApp list by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get appServeApp list", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "Show all apps including deleted apps", + "name": "showAll", + "in": "query" + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AppServeApp" + } + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Install appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Install appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Request body to create app", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateAppServeAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/count": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get number of apps on given stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get number of apps on given stack", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Stack ID", + "name": "stackId", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "integer" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/name/{name}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check duplicate appServeAppName by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Check duplicate appServeAppName", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appServeApp by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppServeAppResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Update appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to update app", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAppServeAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Uninstall appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Uninstall appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/endpoint": { + "patch": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update app endpoint", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Update app endpoint", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "appId", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to update app endpoint", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAppServeAppEndpointRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/exist": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appServeApp by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get appServeApp", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/latest-task": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get latest task from appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get latest task from appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppServeAppTaskResponse" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/rollback": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Rollback appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Rollback appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to rollback app", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.RollbackAppServeAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/status": { + "patch": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update app status", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Update app status", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to update app status", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAppServeAppStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get CloudAccounts", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Get CloudAccounts", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetCloudAccountsResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Create CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "create cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateCloudAccountRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateCloudAccountResponse" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/aws-account-id/{awsAccountId}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check awsAccountId for cloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Check awsAccountId for cloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "awsAccountId", + "name": "awsAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckCloudAccountAwsAccountIdResponse" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/name/{name}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check name for cloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Check name for cloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckCloudAccountNameResponse" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/{cloudAccountId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Get CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetCloudAccountResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Update CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Update cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateCloudAccountRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Delete CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Delete cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.DeleteCloudAccountRequest" + } + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/{cloudAccountId}/error": { + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete Force CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Delete Force CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/{cloudAccountId}/quota": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get resource quota by cloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Get resource quota by cloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetCloudAccountResourceQuotaResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/charts": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get charts data", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get charts data", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "chartType", + "name": "chartType", + "in": "query" + }, + { + "type": "string", + "description": "duration", + "name": "duration", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "interval", + "name": "interval", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardChartsResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/charts/{chartType}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get chart data", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get chart data", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "chartType", + "name": "chartType", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "duration", + "name": "duration", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "interval", + "name": "interval", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardChartResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/resources": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get resources", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get resources", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardResourcesResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/stacks": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get stacks", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get stacks", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardStacksResponse" + } + } + } + } + }, + "/organizations/{organizationId}/my-profile": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get my profile detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Get my profile detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetMyProfileResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update my profile detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Update my profile detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Required fields: password due to double-check", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateMyProfileRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.UpdateMyProfileResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete myProfile", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Delete myProfile", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/organizations/{organizationId}/my-profile/next-password-change": { + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update user's password expired date to current date", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Update user's password expired date to current date", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/organizations/{organizationId}/my-profile/password": { + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update user password detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Update user password detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "update user password request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdatePasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/primary-cluster": { + "patch": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update primary cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Update primary cluster", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "update primary cluster request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdatePrimaryClusterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Stacks", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get Stacks", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "string", + "description": "combinedFilter", + "name": "combinedFilter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStacksResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Create Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "create cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateStackRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateStackResponse" + } + } + } + } + }, + "/organizations/{organizationId}/stacks/name/{name}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check name for stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Check name for stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Update Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + }, + { + "description": "Update cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateStackRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Delete Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}/favorite": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Set favorite stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Set favorite stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete favorite stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Delete favorite stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}/kube-config": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get KubeConfig by stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get KubeConfig by stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "organizationId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackKubeConfigResponse" + } + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}/status": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Stack Status", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get Stack Status", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackStatusResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get user list", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user list", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ListUserBody" + } + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Create user", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "create user request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateUserRequest" + } + } + ], + "responses": { + "200": { + "description": "create user response", + "schema": { + "$ref": "#/definitions/domain.CreateUserResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users/account-id/{accountId}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "return true when accountId exists", + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user id existence", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckExistedResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users/email/{email}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "return true when email exists", + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user email existence", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "email", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckExistedResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users/{accountId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get user detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetUserResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Update user", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + }, + { + "description": "input", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateUserRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.UpdateUserResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Delete user", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.User" + } + } + } + } + }, + "/organizations/{organizationId}/users/{accountId}/reset-password": { + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Reset user's password as temporary password by admin and send email to user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Reset user's password as temporary password by admin", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/stack-templates": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get StackTemplates", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Get StackTemplates", + "parameters": [ + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackTemplatesResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Create StackTemplate 'NOT IMPLEMENTED'", + "parameters": [ + { + "description": "create stack template request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateStackTemplateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateStackTemplateResponse" + } + } + } + } + }, + "/stack-templates/{stackTemplateId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Get StackTemplate", + "parameters": [ + { + "type": "string", + "description": "stackTemplateId", + "name": "stackTemplateId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackTemplateResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Update StackTemplate 'NOT IMPLEMENTED'", + "parameters": [ + { + "description": "Update stack template request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateStackTemplateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Delete StackTemplate 'NOT IMPLEMENTED'", + "parameters": [ + { + "type": "string", + "description": "stackTemplateId", + "name": "stackTemplateId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/system-api/organizations/{organizationId}/alerts": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create alert. ADMIN ONLY", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Create alert. ADMIN ONLY", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "definitions": { + "domain.ActionResponse": { + "type": "object", + "properties": { + "body": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "name": { + "description": "ENDPOINT (화면보기), PREVIEW (미리보기), PROMOTE (배포), ABORT (중단)", + "type": "string" + }, + "type": { + "description": "LINK, API", + "type": "string" + }, + "uri": { + "type": "string" + } + } + }, + "domain.AlertActionResponse": { + "type": "object", + "properties": { + "alertId": { + "type": "string" + }, + "content": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "taker": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.AlertResponse": { + "type": "object", + "properties": { + "alertActions": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AlertActionResponse" + } + }, + "closedAt": { + "type": "string" + }, + "cluster": { + "$ref": "#/definitions/domain.SimpleClusterResponse" + }, + "code": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "firedAt": { + "type": "string" + }, + "grade": { + "type": "string" + }, + "grafanaUrl": { + "type": "string" + }, + "id": { + "type": "string" + }, + "lastTaker": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "node": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "processingSec": { + "type": "integer" + }, + "rawData": { + "type": "string" + }, + "status": { + "type": "string" + }, + "takedAt": { + "type": "string" + }, + "takedSec": { + "type": "integer" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.AppGroupResponse": { + "type": "object", + "properties": { + "appGroupType": { + "type": "integer" + }, + "clusterId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "workflowId": { + "type": "string" + } + } + }, + "domain.AppServeApp": { + "type": "object", + "properties": { + "appServeAppTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AppServeAppTask" + } + }, + "appType": { + "description": "appType (spring/springboot)", + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "deletedAt": { + "type": "string" + }, + "endpointUrl": { + "description": "endpoint URL of deployed app", + "type": "string" + }, + "grafanaUrl": { + "description": "grafana dashboard URL for deployed app", + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "description": "application name", + "type": "string" + }, + "namespace": { + "description": "application namespace", + "type": "string" + }, + "organizationId": { + "description": "contractId is a contract ID which this app belongs to", + "type": "string" + }, + "previewEndpointUrl": { + "description": "preview svc endpoint URL in B/G deployment", + "type": "string" + }, + "status": { + "description": "status is status of deployed app", + "type": "string" + }, + "targetClusterId": { + "description": "target cluster to which the app is deployed", + "type": "string" + }, + "targetClusterName": { + "description": "target cluster name", + "type": "string" + }, + "type": { + "description": "type (build/deploy/all)", + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.AppServeAppTask": { + "type": "object", + "properties": { + "appConfig": { + "description": "java app config", + "type": "string" + }, + "appSecret": { + "description": "java app secret", + "type": "string" + }, + "appServeAppId": { + "description": "ID for appServeApp that this task belongs to", + "type": "string" + }, + "artifactUrl": { + "description": "URL of java app artifact (Eg, Jar)", + "type": "string" + }, + "availableRollback": { + "type": "boolean" + }, + "createdAt": { + "description": "createdAt is a creation timestamp for the application", + "type": "string" + }, + "deletedAt": { + "type": "string" + }, + "executablePath": { + "description": "Executable path of app image", + "type": "string" + }, + "extraEnv": { + "description": "env variable list for java app", + "type": "string" + }, + "helmRevision": { + "description": "revision of deployed helm release", + "type": "integer" + }, + "id": { + "type": "string" + }, + "imageUrl": { + "description": "URL of built image for app", + "type": "string" + }, + "output": { + "description": "output for task result", + "type": "string" + }, + "port": { + "description": "java app port", + "type": "string" + }, + "profile": { + "description": "java app profile", + "type": "string" + }, + "pvAccessMode": { + "type": "string" + }, + "pvEnabled": { + "type": "boolean" + }, + "pvMountPath": { + "type": "string" + }, + "pvSize": { + "type": "string" + }, + "pvStorageClass": { + "type": "string" + }, + "resourceSpec": { + "description": "resource spec of app pod", + "type": "string" + }, + "rollbackVersion": { + "description": "rollback target version", + "type": "string" + }, + "status": { + "description": "status is app status", + "type": "string" + }, + "strategy": { + "description": "deployment strategy (eg, rolling-update)", + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "version": { + "description": "application version", + "type": "string" + } + } + }, + "domain.ApplicationResponse": { + "type": "object", + "properties": { + "appGroupId": { + "type": "string" + }, + "applicationType": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "id": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.Axis": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "domain.BootstrapKubeconfig": { + "type": "object", + "properties": { + "expiration": { + "type": "integer" + } + } + }, + "domain.ChartData": { + "type": "object", + "properties": { + "podCounts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.PodCount" + } + }, + "series": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.Unit" + } + }, + "xAxis": { + "$ref": "#/definitions/domain.Axis" + }, + "yAxis": { + "$ref": "#/definitions/domain.Axis" + } + } + }, + "domain.CheckCloudAccountAwsAccountIdResponse": { + "type": "object", + "properties": { + "existed": { + "type": "boolean" + } + } + }, + "domain.CheckCloudAccountNameResponse": { + "type": "object", + "properties": { + "existed": { + "type": "boolean" + } + } + }, + "domain.CheckExistedResponse": { + "type": "object", + "properties": { + "existed": { + "type": "boolean" + } + } + }, + "domain.CloudAccount": { + "type": "object", + "properties": { + "accessKeyId": { + "type": "string" + }, + "awsAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusters": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "createdIAM": { + "type": "boolean" + }, + "creator": { + "$ref": "#/definitions/domain.User" + }, + "creatorId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "secretAccessKey": { + "type": "string" + }, + "sessionToken": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.User" + }, + "updatorId": { + "type": "string" + } + } + }, + "domain.CloudAccountResponse": { + "type": "object", + "properties": { + "awsAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusters": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "createdIAM": { + "type": "boolean" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + } + } + }, + "domain.Cluster": { + "type": "object", + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "cloudAccount": { + "$ref": "#/definitions/domain.CloudAccount" + }, + "cloudAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusterType": { + "type": "integer" + }, + "conf": { + "$ref": "#/definitions/domain.ClusterConf" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.User" + }, + "creatorId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "favorited": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isStack": { + "type": "boolean" + }, + "kubeconfig": { + "type": "array", + "items": { + "type": "integer" + } + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplate": { + "$ref": "#/definitions/domain.StackTemplate" + }, + "stackTemplateId": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.User" + }, + "updatorId": { + "type": "string" + } + } + }, + "domain.ClusterConf": { + "type": "object", + "properties": { + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.ClusterConfResponse": { + "type": "object", + "properties": { + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.ClusterHost": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "domain.ClusterNode": { + "type": "object", + "properties": { + "command": { + "type": "string" + }, + "hosts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ClusterHost" + } + }, + "registered": { + "type": "integer" + }, + "registering": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "targeted": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "validity": { + "type": "integer" + } + } + }, + "domain.ClusterResponse": { + "type": "object", + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "cloudAccount": { + "$ref": "#/definitions/domain.SimpleCloudAccountResponse" + }, + "cloudService": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "conf": { + "$ref": "#/definitions/domain.ClusterConfResponse" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "isStack": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplate": { + "$ref": "#/definitions/domain.SimpleStackTemplateResponse" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + } + } + }, + "domain.ClusterSiteValuesResponse": { + "type": "object", + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "clusterRegion": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.CreateAppGroupRequest": { + "type": "object", + "required": [ + "clusterId", + "name" + ], + "properties": { + "appGroupType": { + "type": "string", + "enum": [ + "LMA", + "SERVICE_MESH" + ] + }, + "clusterId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "domain.CreateAppGroupResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateAppServeAppRequest": { + "type": "object", + "required": [ + "name", + "targetClusterId" + ], + "properties": { + "appConfig": { + "type": "string" + }, + "appSecret": { + "type": "string" + }, + "appType": { + "description": "springboot spring", + "type": "string" + }, + "artifactUrl": { + "type": "string" + }, + "executablePath": { + "type": "string" + }, + "extraEnv": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "name": { + "description": "App", + "type": "string" + }, + "namespace": { + "type": "string" + }, + "port": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "pvAccessMode": { + "type": "string" + }, + "pvEnabled": { + "type": "boolean" + }, + "pvMountPath": { + "type": "string" + }, + "pvSize": { + "type": "string" + }, + "pvStorageClass": { + "type": "string" + }, + "resourceSpec": { + "description": "tiny medium large", + "type": "string" + }, + "strategy": { + "description": "rolling-update blue-green canary", + "type": "string" + }, + "targetClusterId": { + "type": "string" + }, + "type": { + "description": "build deploy all", + "type": "string" + }, + "version": { + "description": "Task", + "type": "string" + } + } + }, + "domain.CreateApplicationRequest": { + "type": "object", + "properties": { + "applicationType": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "metadata": { + "type": "string" + } + } + }, + "domain.CreateBootstrapKubeconfigResponse": { + "type": "object", + "properties": { + "kubeconfig": { + "$ref": "#/definitions/domain.BootstrapKubeconfig" + } + } + }, + "domain.CreateCloudAccountRequest": { + "type": "object", + "required": [ + "accessKeyId", + "awsAccountId", + "name", + "secretAccessKey" + ], + "properties": { + "accessKeyId": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "awsAccountId": { + "type": "string", + "maxLength": 12, + "minLength": 12 + }, + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "AZZURE", + "GCP" + ] + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "secretAccessKey": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "sessionToken": { + "type": "string", + "maxLength": 2000 + } + } + }, + "domain.CreateCloudAccountResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateClusterRequest": { + "type": "object", + "required": [ + "cloudService", + "name", + "organizationId", + "stackTemplateId" + ], + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "cloudAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "BYOH" + ] + }, + "clusterType": { + "type": "string" + }, + "description": { + "type": "string" + }, + "isStack": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplateId": { + "type": "string" + }, + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.CreateClusterResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateOrganizationRequest": { + "type": "object", + "required": [ + "Email", + "name" + ], + "properties": { + "Email": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "domain.CreateStackRequest": { + "type": "object", + "required": [ + "cloudService", + "name", + "stackTemplateId" + ], + "properties": { + "cloudAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "BYOH" + ] + }, + "clusterId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "stackTemplateId": { + "type": "string" + }, + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + }, + "userClusterEndpoint": { + "type": "string" + } + } + }, + "domain.CreateStackResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateStackTemplateRequest": { + "type": "object", + "required": [ + "name", + "platform", + "template", + "version" + ], + "properties": { + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "AZZURE", + "GCP" + ] + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "template": { + "type": "string" + }, + "templateType": { + "type": "string", + "enum": [ + "STANDARD", + "MSA" + ] + }, + "version": { + "type": "string" + } + } + }, + "domain.CreateStackTemplateResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateUserRequest": { + "type": "object", + "required": [ + "accountId", + "email", + "password", + "role" + ], + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string", + "maxLength": 50, + "minLength": 0 + }, + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "admin", + "user" + ] + } + } + }, + "domain.CreateUserResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + } + } + } + } + }, + "domain.DashboardChartResponse": { + "type": "object", + "properties": { + "chartData": { + "$ref": "#/definitions/domain.ChartData" + }, + "chartType": { + "type": "string" + }, + "description": { + "type": "string" + }, + "duration": { + "type": "string" + }, + "interval": { + "type": "string" + }, + "month": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "year": { + "type": "string" + } + } + }, + "domain.DashboardResource": { + "type": "object", + "properties": { + "cpu": { + "type": "string" + }, + "memory": { + "type": "string" + }, + "stack": { + "type": "string" + }, + "storage": { + "type": "string" + } + } + }, + "domain.DashboardStackResponse": { + "type": "object", + "properties": { + "cpu": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "memory": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "storage": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.DeleteCloudAccountRequest": { + "type": "object", + "required": [ + "accessKeyId", + "secretAccessKey" + ], + "properties": { + "accessKeyId": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "secretAccessKey": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "sessionToken": { + "type": "string", + "maxLength": 2000 + } + } + }, + "domain.FilterResponse": { + "type": "object", + "properties": { + "column": { + "type": "string" + }, + "operator": { + "type": "string" + }, + "releation": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "domain.FindIdRequest": { + "type": "object", + "required": [ + "code", + "email", + "organizationId", + "userName" + ], + "properties": { + "code": { + "type": "string" + }, + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.FindIdResponse": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + } + } + }, + "domain.FindPasswordRequest": { + "type": "object", + "required": [ + "accountId", + "code", + "email", + "organizationId", + "userName" + ], + "properties": { + "accountId": { + "type": "string" + }, + "code": { + "type": "string" + }, + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.GetAlertResponse": { + "type": "object", + "properties": { + "alert": { + "$ref": "#/definitions/domain.AlertResponse" + } + } + }, + "domain.GetAlertsResponse": { + "type": "object", + "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AlertResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetAppGroupResponse": { + "type": "object", + "properties": { + "appGroup": { + "$ref": "#/definitions/domain.AppGroupResponse" + } + } + }, + "domain.GetAppGroupsResponse": { + "type": "object", + "properties": { + "appGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AppGroupResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetAppServeAppResponse": { + "type": "object", + "properties": { + "appServeApp": { + "$ref": "#/definitions/domain.AppServeApp" + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StageResponse" + } + } + } + }, + "domain.GetAppServeAppTaskResponse": { + "type": "object", + "properties": { + "appServeAppTask": { + "$ref": "#/definitions/domain.AppServeAppTask" + } + } + }, + "domain.GetApplicationsResponse": { + "type": "object", + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ApplicationResponse" + } + } + } + }, + "domain.GetBootstrapKubeconfigResponse": { + "type": "object", + "properties": { + "kubeconfig": { + "$ref": "#/definitions/domain.BootstrapKubeconfig" + } + } + }, + "domain.GetCloudAccountResourceQuotaResponse": { + "type": "object", + "properties": { + "available": { + "type": "boolean" + }, + "resourceQuota": { + "$ref": "#/definitions/domain.ResourceQuota" + } + } + }, + "domain.GetCloudAccountResponse": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/definitions/domain.CloudAccountResponse" + } + } + }, + "domain.GetCloudAccountsResponse": { + "type": "object", + "properties": { + "cloudAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.CloudAccountResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetClusterNodesResponse": { + "type": "object", + "properties": { + "nodes": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ClusterNode" + } + } + } + }, + "domain.GetClustersResponse": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ClusterResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetDashboardChartResponse": { + "type": "object", + "properties": { + "chart": { + "$ref": "#/definitions/domain.DashboardChartResponse" + } + } + }, + "domain.GetDashboardChartsResponse": { + "type": "object", + "properties": { + "charts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.DashboardChartResponse" + } + } + } + }, + "domain.GetDashboardResourcesResponse": { + "type": "object", + "properties": { + "resources": { + "$ref": "#/definitions/domain.DashboardResource" + } + } + }, + "domain.GetDashboardStacksResponse": { + "type": "object", + "properties": { + "stacks": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.DashboardStackResponse" + } + } + } + }, + "domain.GetMyProfileResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + } + } + } + } + }, + "domain.GetOrganizationResponse": { + "type": "object", + "properties": { + "organization": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + } + } + }, + "domain.GetStackKubeConfigResponse": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string" + } + } + }, + "domain.GetStackResponse": { + "type": "object", + "properties": { + "stack": { + "$ref": "#/definitions/domain.StackResponse" + } + } + }, + "domain.GetStackStatusResponse": { + "type": "object", + "properties": { + "stackStatus": { + "type": "string" + }, + "stepStatus": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackStepStatus" + } + } + } + }, + "domain.GetStackTemplateResponse": { + "type": "object", + "properties": { + "stackTemplate": { + "$ref": "#/definitions/domain.StackTemplateResponse" + } + } + }, + "domain.GetStackTemplatesResponse": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + }, + "stackTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateResponse" + } + } + } + }, + "domain.GetStacksResponse": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + }, + "stacks": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackResponse" + } + } + } + }, + "domain.GetUserResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "updatedAt": { + "type": "string" + } + } + } + } + }, + "domain.ImportClusterRequest": { + "type": "object", + "required": [ + "name", + "organizationId", + "stackTemplateId" + ], + "properties": { + "cloudService": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "description": { + "type": "string" + }, + "kubeconfig": { + "type": "array", + "items": { + "type": "integer" + } + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplateId": { + "type": "string" + } + } + }, + "domain.ImportClusterResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.ListOrganizationBody": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.ListUserBody": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.LoginRequest": { + "type": "object", + "required": [ + "accountId", + "organizationId", + "password" + ], + "properties": { + "accountId": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "domain.LoginResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "passwordExpired": { + "type": "boolean" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "token": { + "type": "string" + } + } + } + } + }, + "domain.LogoutResponse": { + "type": "object", + "properties": { + "ssoUrls": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "domain.Organization": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.PaginationResponse": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.FilterResponse" + } + }, + "pageNumber": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "sortColumn": { + "type": "string" + }, + "sortOrder": { + "type": "string" + }, + "totalPages": { + "type": "integer" + }, + "totalRows": { + "type": "integer" + } + } + }, + "domain.PingTokenRequest": { + "type": "object", + "required": [ + "organizationId", + "token" + ], + "properties": { + "organizationId": { + "type": "string" + }, + "token": { + "type": "string" + } + } + }, + "domain.PodCount": { + "type": "object", + "properties": { + "day": { + "type": "integer" + }, + "value": { + "type": "integer" + } + } + }, + "domain.ResourceQuota": { + "type": "object", + "properties": { + "quotas": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ResourceQuotaAttr" + } + } + } + }, + "domain.ResourceQuotaAttr": { + "type": "object", + "properties": { + "quota": { + "type": "integer" + }, + "required": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "usage": { + "type": "integer" + } + } + }, + "domain.Role": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.RollbackAppServeAppRequest": { + "type": "object", + "properties": { + "taskId": { + "type": "string" + } + } + }, + "domain.SimpleCloudAccountResponse": { + "type": "object", + "properties": { + "awsAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusters": { + "type": "integer" + }, + "createdIAM": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + } + } + }, + "domain.SimpleClusterResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + } + } + }, + "domain.SimpleStackTemplateResponse": { + "type": "object", + "properties": { + "cloudService": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "kubeType": { + "type": "string" + }, + "kubeVersion": { + "type": "string" + }, + "name": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateServiceResponse" + } + }, + "template": { + "type": "string" + } + } + }, + "domain.SimpleUserResponse": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "domain.StackConfResponse": { + "type": "object", + "required": [ + "tksInfraNode", + "tksUserNode" + ], + "properties": { + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer", + "maximum": 3, + "minimum": 1 + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer", + "maximum": 100, + "minimum": 0 + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.StackResponse": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/definitions/domain.SimpleCloudAccountResponse" + }, + "conf": { + "$ref": "#/definitions/domain.StackConfResponse" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "favorited": { + "type": "boolean" + }, + "grafanaUrl": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "primaryCluster": { + "type": "boolean" + }, + "resource": { + "$ref": "#/definitions/domain.DashboardStackResponse" + }, + "stackTemplate": { + "$ref": "#/definitions/domain.SimpleStackTemplateResponse" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "userClusterEndpoint": { + "type": "string" + } + } + }, + "domain.StackStepStatus": { + "type": "object", + "properties": { + "maxStep": { + "type": "integer" + }, + "stage": { + "type": "string" + }, + "status": { + "type": "string" + }, + "step": { + "type": "integer" + } + } + }, + "domain.StackTemplate": { + "type": "object", + "properties": { + "cloudService": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.User" + }, + "creatorId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "kubeType": { + "type": "string" + }, + "kubeVersion": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "type": "integer" + } + }, + "template": { + "type": "string" + }, + "templateType": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.User" + }, + "updatorId": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "domain.StackTemplateResponse": { + "type": "object", + "properties": { + "cloudService": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "kubeType": { + "type": "string" + }, + "kubeVersion": { + "type": "string" + }, + "name": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateServiceResponse" + } + }, + "template": { + "type": "string" + }, + "templateType": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "version": { + "type": "string" + } + } + }, + "domain.StackTemplateServiceApplicationResponse": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "domain.StackTemplateServiceResponse": { + "type": "object", + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateServiceApplicationResponse" + } + }, + "type": { + "type": "string" + } + } + }, + "domain.StageResponse": { + "type": "object", + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ActionResponse" + } + }, + "name": { + "description": "BUILD (빌드), DEPLOY (배포), PROMOTE (프로모트), ROLLBACK (롤백)", + "type": "string" + }, + "result": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "domain.Unit": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + } + } + }, + "domain.UpdateAlertRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateAppServeAppEndpointRequest": { + "type": "object", + "required": [ + "taskId" + ], + "properties": { + "endpointUrl": { + "type": "string" + }, + "helmRevision": { + "type": "integer" + }, + "previewEndpointUrl": { + "type": "string" + }, + "taskId": { + "type": "string" + } + } + }, + "domain.UpdateAppServeAppRequest": { + "type": "object", + "properties": { + "abort": { + "type": "boolean" + }, + "appConfig": { + "type": "string" + }, + "appSecret": { + "type": "string" + }, + "artifactUrl": { + "type": "string" + }, + "executablePath": { + "type": "string" + }, + "extraEnv": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "port": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "promote": { + "description": "Update Strategy", + "type": "boolean" + }, + "resourceSpec": { + "type": "string" + }, + "strategy": { + "description": "Task", + "type": "string" + } + } + }, + "domain.UpdateAppServeAppStatusRequest": { + "type": "object", + "required": [ + "status", + "taskId" + ], + "properties": { + "output": { + "type": "string" + }, + "status": { + "type": "string" + }, + "taskId": { + "type": "string" + } + } + }, + "domain.UpdateCloudAccountRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateMyProfileRequest": { + "type": "object", + "required": [ + "password" + ], + "properties": { + "department": { + "type": "string", + "maxLength": 50, + "minLength": 0 + }, + "email": { + "type": "string" + }, + "name": { + "type": "string", + "maxLength": 30, + "minLength": 1 + }, + "password": { + "type": "string" + } + } + }, + "domain.UpdateMyProfileResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + } + } + } + } + }, + "domain.UpdateOrganizationRequest": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "name": { + "type": "string", + "maxLength": 30, + "minLength": 1 + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + } + } + }, + "domain.UpdateOrganizationResponse": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "domain.UpdatePasswordRequest": { + "type": "object", + "required": [ + "newPassword", + "originPassword" + ], + "properties": { + "newPassword": { + "type": "string" + }, + "originPassword": { + "type": "string" + } + } + }, + "domain.UpdatePrimaryClusterRequest": { + "type": "object", + "properties": { + "primaryClusterId": { + "type": "string" + } + } + }, + "domain.UpdateStackRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateStackTemplateRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateUserRequest": { + "type": "object", + "properties": { + "department": { + "type": "string", + "maxLength": 50, + "minLength": 0 + }, + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "email": { + "type": "string" + }, + "name": { + "type": "string", + "maxLength": 30, + "minLength": 1 + }, + "role": { + "type": "string", + "enum": [ + "admin", + "user" + ] + } + } + }, + "domain.UpdateUserResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "updatedAt": { + "type": "string" + } + } + } + } + }, + "domain.User": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "password": { + "type": "string" + }, + "passwordExpired": { + "type": "boolean" + }, + "passwordUpdatedAt": { + "type": "string" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "token": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostIdRequest": { + "type": "object", + "required": [ + "email", + "organizationId", + "userName" + ], + "properties": { + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostIdResponse": { + "type": "object", + "properties": { + "validityPeriod": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostPasswordRequest": { + "type": "object", + "required": [ + "accountId", + "email", + "organizationId", + "userName" + ], + "properties": { + "accountId": { + "type": "string" + }, + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostPasswordResponse": { + "type": "object", + "properties": { + "validityPeriod": { + "type": "string" + } + } + }, + "httpErrors.RestError": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "text": { + "type": "string" + } + } + } + }, + "securityDefinitions": { + "JWT": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + } +}` + +// SwaggerInfo holds exported Swagger Info so clients can modify it +var SwaggerInfo = &swag.Spec{ + Version: "1.0", + Host: "tks-api-ft.taco-cat.xyz", + BasePath: "/api/1.0/", + Schemes: []string{}, + Title: "tks-api service", + Description: "This is backend api service for tks platform", + InfoInstanceName: "swagger", + SwaggerTemplate: docTemplate, +} + +func init() { + swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) +} diff --git a/api/swagger/swagger.json b/api/swagger/swagger.json new file mode 100644 index 00000000..fa98668f --- /dev/null +++ b/api/swagger/swagger.json @@ -0,0 +1,6851 @@ +{ + "swagger": "2.0", + "info": { + "description": "This is backend api service for tks platform", + "title": "tks-api service", + "contact": { + "name": "taekyu.kang@sk.com", + "email": "taekyu.kang@sk.com" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "1.0" + }, + "host": "tks-api-ft.taco-cat.xyz", + "basePath": "/api/1.0/", + "paths": { + "/app-groups": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appGroup list by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Get appGroup list", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "query" + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppGroupsResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Install appGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Install appGroup", + "parameters": [ + { + "description": "create appgroup request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateAppGroupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateAppGroupResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Uninstall appGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Uninstall appGroup", + "parameters": [ + { + "description": "body", + "name": "object", + "in": "body", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/app-groups/{appGroupId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appGroup detail by appGroupId", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Get appGroup detail", + "parameters": [ + { + "type": "string", + "description": "appGroupId", + "name": "appGroupId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppGroupResponse" + } + } + } + } + }, + "/app-groups/{appGroupId}/applications": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get applications", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Get applications", + "parameters": [ + { + "type": "string", + "description": "appGroupId", + "name": "appGroupId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "applicationType", + "name": "applicationType", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetApplicationsResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create application", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppGroups" + ], + "summary": "Create application", + "parameters": [ + { + "description": "body", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateApplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/auth/find-id/code": { + "post": { + "description": "This API allows users to verify their identity for lost id by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to verify identity for lost id", + "parameters": [ + { + "description": "Request body for verifying identity for lost id including {organization ID, email, username}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostIdRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostIdResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/find-id/verification": { + "post": { + "description": "This API allows users to find their account ID by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to find forgotten ID", + "parameters": [ + { + "description": "Request body for finding the account ID including {organization ID, email, username, 6 digit code}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.FindIdRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.FindIdResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/find-password/code": { + "post": { + "description": "This API allows users to verify their identity for lost password by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to verify identity for lost password", + "parameters": [ + { + "description": "Request body for verifying identity for lost password including {organization ID, email, username, Account ID}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostPasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.VerifyIdentityForLostPasswordResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/find-password/verification": { + "post": { + "description": "This API allows users to reset their forgotten password by submitting required information", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "Request to find forgotten password", + "parameters": [ + { + "description": "Request body for finding the password including {organization ID, email, username, Account ID, 6 digit code}", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.FindPasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/auth/login": { + "post": { + "description": "login", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "login", + "parameters": [ + { + "description": "account info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.LoginRequest" + } + } + ], + "responses": { + "200": { + "description": "user detail", + "schema": { + "$ref": "#/definitions/domain.LoginResponse" + } + } + } + } + }, + "/auth/logout": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "logout", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "logout", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.LogoutResponse" + } + } + } + } + }, + "/auth/ping": { + "post": { + "description": "ping with token", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Auth" + ], + "summary": "ping with token", + "parameters": [ + { + "description": "token info", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.PingTokenRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/clusters": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get cluster list", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get clusters", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "query" + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetClustersResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Create cluster", + "parameters": [ + { + "description": "create cluster request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateClusterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateClusterResponse" + } + } + } + } + }, + "/clusters/import": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Import cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Import cluster", + "parameters": [ + { + "description": "import cluster request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.ImportClusterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.ImportClusterResponse" + } + } + } + } + }, + "/clusters/{clusterId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get cluster detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get cluster", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.Cluster" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Delete cluster", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.Cluster" + } + } + } + } + }, + "/clusters/{clusterId}/bootstrap-kubeconfig": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get bootstrap kubeconfig for BYOH", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get bootstrap kubeconfig for BYOH", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetBootstrapKubeconfigResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create bootstrap kubeconfig for BYOH", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Create bootstrap kubeconfig for BYOH", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateBootstrapKubeconfigResponse" + } + } + } + } + }, + "/clusters/{clusterId}/install": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Install cluster on tks cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Install cluster on tks cluster", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/clusters/{clusterId}/nodes": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get nodes information for BYOH", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get nodes information for BYOH", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetClusterNodesResponse" + } + } + } + } + }, + "/clusters/{clusterId}/site-values": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get cluster site values for creating", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Clusters" + ], + "summary": "Get cluster site values for creating", + "parameters": [ + { + "type": "string", + "description": "clusterId", + "name": "clusterId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.ClusterSiteValuesResponse" + } + } + } + } + }, + "/organizations": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get organization list", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get organization list", + "parameters": [ + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ListOrganizationBody" + } + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create organization", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Create organization", + "parameters": [ + { + "description": "create organization request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateOrganizationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object" + } + } + } + } + }, + "/organizations/{organizationId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get organization detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Get organization detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetOrganizationResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update organization detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Update organization detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "update organization request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateOrganizationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.UpdateOrganizationResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete organization", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Delete organization", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.Organization" + } + } + } + } + }, + "/organizations/{organizationId}/alerts": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Alerts", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Get Alerts", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAlertsResponse" + } + } + } + } + }, + "/organizations/{organizationId}/alerts/{alertId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Alert", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Get Alert", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "alertId", + "name": "alertId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAlertResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update Alert", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Update Alert", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Update cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAlertRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete Alert", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Delete Alert", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "alertId", + "name": "alertId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/alerts/{alertId}/actions": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create alert action", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Create alert action", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appServeApp list by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get appServeApp list", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "Show all apps including deleted apps", + "name": "showAll", + "in": "query" + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AppServeApp" + } + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Install appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Install appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Request body to create app", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateAppServeAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/count": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get number of apps on given stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get number of apps on given stack", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Stack ID", + "name": "stackId", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "integer" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/name/{name}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check duplicate appServeAppName by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Check duplicate appServeAppName", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appServeApp by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppServeAppResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Update appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to update app", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAppServeAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Uninstall appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Uninstall appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/endpoint": { + "patch": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update app endpoint", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Update app endpoint", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "appId", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to update app endpoint", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAppServeAppEndpointRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/exist": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get appServeApp by giving params", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get appServeApp", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/latest-task": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get latest task from appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Get latest task from appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetAppServeAppTaskResponse" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/rollback": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Rollback appServeApp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Rollback appServeApp", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to rollback app", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.RollbackAppServeAppRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/app-serve-apps/{appId}/status": { + "patch": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update app status", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "AppServeApps" + ], + "summary": "Update app status", + "parameters": [ + { + "type": "string", + "description": "Organization ID", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "App ID", + "name": "appId", + "in": "path", + "required": true + }, + { + "description": "Request body to update app status", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateAppServeAppStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get CloudAccounts", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Get CloudAccounts", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetCloudAccountsResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Create CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "create cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateCloudAccountRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateCloudAccountResponse" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/aws-account-id/{awsAccountId}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check awsAccountId for cloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Check awsAccountId for cloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "awsAccountId", + "name": "awsAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckCloudAccountAwsAccountIdResponse" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/name/{name}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check name for cloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Check name for cloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckCloudAccountNameResponse" + } + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/{cloudAccountId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Get CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetCloudAccountResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Update CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Update cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateCloudAccountRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Delete CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Delete cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.DeleteCloudAccountRequest" + } + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/{cloudAccountId}/error": { + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete Force CloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Delete Force CloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/cloud-accounts/{cloudAccountId}/quota": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get resource quota by cloudAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "CloudAccounts" + ], + "summary": "Get resource quota by cloudAccount", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "cloudAccountId", + "name": "cloudAccountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetCloudAccountResourceQuotaResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/charts": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get charts data", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get charts data", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "chartType", + "name": "chartType", + "in": "query" + }, + { + "type": "string", + "description": "duration", + "name": "duration", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "interval", + "name": "interval", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardChartsResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/charts/{chartType}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get chart data", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get chart data", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "chartType", + "name": "chartType", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "duration", + "name": "duration", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "interval", + "name": "interval", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardChartResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/resources": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get resources", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get resources", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardResourcesResponse" + } + } + } + } + }, + "/organizations/{organizationId}/dashboard/stacks": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get stacks", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboards" + ], + "summary": "Get stacks", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetDashboardStacksResponse" + } + } + } + } + }, + "/organizations/{organizationId}/my-profile": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get my profile detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Get my profile detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetMyProfileResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update my profile detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Update my profile detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "Required fields: password due to double-check", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateMyProfileRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.UpdateMyProfileResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete myProfile", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Delete myProfile", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/organizations/{organizationId}/my-profile/next-password-change": { + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update user's password expired date to current date", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Update user's password expired date to current date", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/httpErrors.RestError" + } + } + } + } + }, + "/organizations/{organizationId}/my-profile/password": { + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update user password detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "My-profile" + ], + "summary": "Update user password detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "update user password request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdatePasswordRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/primary-cluster": { + "patch": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update primary cluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Organizations" + ], + "summary": "Update primary cluster", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "update primary cluster request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdatePrimaryClusterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Stacks", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get Stacks", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "string", + "description": "combinedFilter", + "name": "combinedFilter", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStacksResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Create Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "create cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateStackRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateStackResponse" + } + } + } + } + }, + "/organizations/{organizationId}/stacks/name/{name}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Check name for stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Check name for stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Update Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + }, + { + "description": "Update cloud setting request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateStackRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete Stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Delete Stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}/favorite": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Set favorite stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Set favorite stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete favorite stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Delete favorite stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}/kube-config": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get KubeConfig by stack", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get KubeConfig by stack", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "organizationId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackKubeConfigResponse" + } + } + } + } + }, + "/organizations/{organizationId}/stacks/{stackId}/status": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get Stack Status", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Stacks" + ], + "summary": "Get Stack Status", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "stackId", + "name": "stackId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackStatusResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get user list", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user list", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ListUserBody" + } + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Create user", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "description": "create user request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateUserRequest" + } + } + ], + "responses": { + "200": { + "description": "create user response", + "schema": { + "$ref": "#/definitions/domain.CreateUserResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users/account-id/{accountId}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "return true when accountId exists", + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user id existence", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckExistedResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users/email/{email}/existence": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "return true when email exists", + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user email existence", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "email", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CheckExistedResponse" + } + } + } + } + }, + "/organizations/{organizationId}/users/{accountId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get user detail", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Get user detail", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetUserResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Update user", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + }, + { + "description": "input", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateUserRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.UpdateUserResponse" + } + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Delete user", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.User" + } + } + } + } + }, + "/organizations/{organizationId}/users/{accountId}/reset-password": { + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Reset user's password as temporary password by admin and send email to user", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Users" + ], + "summary": "Reset user's password as temporary password by admin", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "accountId", + "name": "accountId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/stack-templates": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get StackTemplates", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Get StackTemplates", + "parameters": [ + { + "type": "string", + "description": "pageSize", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "pageNumber", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "sortColumn", + "name": "soertColumn", + "in": "query" + }, + { + "type": "string", + "description": "sortOrder", + "name": "sortOrder", + "in": "query" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "description": "filters", + "name": "filters", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackTemplatesResponse" + } + } + } + }, + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Create StackTemplate 'NOT IMPLEMENTED'", + "parameters": [ + { + "description": "create stack template request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.CreateStackTemplateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.CreateStackTemplateResponse" + } + } + } + } + }, + "/stack-templates/{stackTemplateId}": { + "get": { + "security": [ + { + "JWT": [] + } + ], + "description": "Get StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Get StackTemplate", + "parameters": [ + { + "type": "string", + "description": "stackTemplateId", + "name": "stackTemplateId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/domain.GetStackTemplateResponse" + } + } + } + }, + "put": { + "security": [ + { + "JWT": [] + } + ], + "description": "Update StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Update StackTemplate 'NOT IMPLEMENTED'", + "parameters": [ + { + "description": "Update stack template request", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/domain.UpdateStackTemplateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "delete": { + "security": [ + { + "JWT": [] + } + ], + "description": "Delete StackTemplate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "StackTemplates" + ], + "summary": "Delete StackTemplate 'NOT IMPLEMENTED'", + "parameters": [ + { + "type": "string", + "description": "stackTemplateId", + "name": "stackTemplateId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/system-api/organizations/{organizationId}/alerts": { + "post": { + "security": [ + { + "JWT": [] + } + ], + "description": "Create alert. ADMIN ONLY", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Alerts" + ], + "summary": "Create alert. ADMIN ONLY", + "parameters": [ + { + "type": "string", + "description": "organizationId", + "name": "organizationId", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "definitions": { + "domain.ActionResponse": { + "type": "object", + "properties": { + "body": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "name": { + "description": "ENDPOINT (화면보기), PREVIEW (미리보기), PROMOTE (배포), ABORT (중단)", + "type": "string" + }, + "type": { + "description": "LINK, API", + "type": "string" + }, + "uri": { + "type": "string" + } + } + }, + "domain.AlertActionResponse": { + "type": "object", + "properties": { + "alertId": { + "type": "string" + }, + "content": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "taker": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.AlertResponse": { + "type": "object", + "properties": { + "alertActions": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AlertActionResponse" + } + }, + "closedAt": { + "type": "string" + }, + "cluster": { + "$ref": "#/definitions/domain.SimpleClusterResponse" + }, + "code": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "firedAt": { + "type": "string" + }, + "grade": { + "type": "string" + }, + "grafanaUrl": { + "type": "string" + }, + "id": { + "type": "string" + }, + "lastTaker": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "node": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "processingSec": { + "type": "integer" + }, + "rawData": { + "type": "string" + }, + "status": { + "type": "string" + }, + "takedAt": { + "type": "string" + }, + "takedSec": { + "type": "integer" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.AppGroupResponse": { + "type": "object", + "properties": { + "appGroupType": { + "type": "integer" + }, + "clusterId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "workflowId": { + "type": "string" + } + } + }, + "domain.AppServeApp": { + "type": "object", + "properties": { + "appServeAppTasks": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AppServeAppTask" + } + }, + "appType": { + "description": "appType (spring/springboot)", + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "deletedAt": { + "type": "string" + }, + "endpointUrl": { + "description": "endpoint URL of deployed app", + "type": "string" + }, + "grafanaUrl": { + "description": "grafana dashboard URL for deployed app", + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "description": "application name", + "type": "string" + }, + "namespace": { + "description": "application namespace", + "type": "string" + }, + "organizationId": { + "description": "contractId is a contract ID which this app belongs to", + "type": "string" + }, + "previewEndpointUrl": { + "description": "preview svc endpoint URL in B/G deployment", + "type": "string" + }, + "status": { + "description": "status is status of deployed app", + "type": "string" + }, + "targetClusterId": { + "description": "target cluster to which the app is deployed", + "type": "string" + }, + "targetClusterName": { + "description": "target cluster name", + "type": "string" + }, + "type": { + "description": "type (build/deploy/all)", + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.AppServeAppTask": { + "type": "object", + "properties": { + "appConfig": { + "description": "java app config", + "type": "string" + }, + "appSecret": { + "description": "java app secret", + "type": "string" + }, + "appServeAppId": { + "description": "ID for appServeApp that this task belongs to", + "type": "string" + }, + "artifactUrl": { + "description": "URL of java app artifact (Eg, Jar)", + "type": "string" + }, + "availableRollback": { + "type": "boolean" + }, + "createdAt": { + "description": "createdAt is a creation timestamp for the application", + "type": "string" + }, + "deletedAt": { + "type": "string" + }, + "executablePath": { + "description": "Executable path of app image", + "type": "string" + }, + "extraEnv": { + "description": "env variable list for java app", + "type": "string" + }, + "helmRevision": { + "description": "revision of deployed helm release", + "type": "integer" + }, + "id": { + "type": "string" + }, + "imageUrl": { + "description": "URL of built image for app", + "type": "string" + }, + "output": { + "description": "output for task result", + "type": "string" + }, + "port": { + "description": "java app port", + "type": "string" + }, + "profile": { + "description": "java app profile", + "type": "string" + }, + "pvAccessMode": { + "type": "string" + }, + "pvEnabled": { + "type": "boolean" + }, + "pvMountPath": { + "type": "string" + }, + "pvSize": { + "type": "string" + }, + "pvStorageClass": { + "type": "string" + }, + "resourceSpec": { + "description": "resource spec of app pod", + "type": "string" + }, + "rollbackVersion": { + "description": "rollback target version", + "type": "string" + }, + "status": { + "description": "status is app status", + "type": "string" + }, + "strategy": { + "description": "deployment strategy (eg, rolling-update)", + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "version": { + "description": "application version", + "type": "string" + } + } + }, + "domain.ApplicationResponse": { + "type": "object", + "properties": { + "appGroupId": { + "type": "string" + }, + "applicationType": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "id": { + "type": "string" + }, + "metadata": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.Axis": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "domain.BootstrapKubeconfig": { + "type": "object", + "properties": { + "expiration": { + "type": "integer" + } + } + }, + "domain.ChartData": { + "type": "object", + "properties": { + "podCounts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.PodCount" + } + }, + "series": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.Unit" + } + }, + "xAxis": { + "$ref": "#/definitions/domain.Axis" + }, + "yAxis": { + "$ref": "#/definitions/domain.Axis" + } + } + }, + "domain.CheckCloudAccountAwsAccountIdResponse": { + "type": "object", + "properties": { + "existed": { + "type": "boolean" + } + } + }, + "domain.CheckCloudAccountNameResponse": { + "type": "object", + "properties": { + "existed": { + "type": "boolean" + } + } + }, + "domain.CheckExistedResponse": { + "type": "object", + "properties": { + "existed": { + "type": "boolean" + } + } + }, + "domain.CloudAccount": { + "type": "object", + "properties": { + "accessKeyId": { + "type": "string" + }, + "awsAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusters": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "createdIAM": { + "type": "boolean" + }, + "creator": { + "$ref": "#/definitions/domain.User" + }, + "creatorId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "secretAccessKey": { + "type": "string" + }, + "sessionToken": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.User" + }, + "updatorId": { + "type": "string" + } + } + }, + "domain.CloudAccountResponse": { + "type": "object", + "properties": { + "awsAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusters": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "createdIAM": { + "type": "boolean" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + } + } + }, + "domain.Cluster": { + "type": "object", + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "cloudAccount": { + "$ref": "#/definitions/domain.CloudAccount" + }, + "cloudAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusterType": { + "type": "integer" + }, + "conf": { + "$ref": "#/definitions/domain.ClusterConf" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.User" + }, + "creatorId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "favorited": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "isStack": { + "type": "boolean" + }, + "kubeconfig": { + "type": "array", + "items": { + "type": "integer" + } + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplate": { + "$ref": "#/definitions/domain.StackTemplate" + }, + "stackTemplateId": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.User" + }, + "updatorId": { + "type": "string" + } + } + }, + "domain.ClusterConf": { + "type": "object", + "properties": { + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.ClusterConfResponse": { + "type": "object", + "properties": { + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.ClusterHost": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "domain.ClusterNode": { + "type": "object", + "properties": { + "command": { + "type": "string" + }, + "hosts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ClusterHost" + } + }, + "registered": { + "type": "integer" + }, + "registering": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "targeted": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "validity": { + "type": "integer" + } + } + }, + "domain.ClusterResponse": { + "type": "object", + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "cloudAccount": { + "$ref": "#/definitions/domain.SimpleCloudAccountResponse" + }, + "cloudService": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "conf": { + "$ref": "#/definitions/domain.ClusterConfResponse" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "isStack": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplate": { + "$ref": "#/definitions/domain.SimpleStackTemplateResponse" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + } + } + }, + "domain.ClusterSiteValuesResponse": { + "type": "object", + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "clusterRegion": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.CreateAppGroupRequest": { + "type": "object", + "required": [ + "clusterId", + "name" + ], + "properties": { + "appGroupType": { + "type": "string", + "enum": [ + "LMA", + "SERVICE_MESH" + ] + }, + "clusterId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "domain.CreateAppGroupResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateAppServeAppRequest": { + "type": "object", + "required": [ + "name", + "targetClusterId" + ], + "properties": { + "appConfig": { + "type": "string" + }, + "appSecret": { + "type": "string" + }, + "appType": { + "description": "springboot spring", + "type": "string" + }, + "artifactUrl": { + "type": "string" + }, + "executablePath": { + "type": "string" + }, + "extraEnv": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "name": { + "description": "App", + "type": "string" + }, + "namespace": { + "type": "string" + }, + "port": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "pvAccessMode": { + "type": "string" + }, + "pvEnabled": { + "type": "boolean" + }, + "pvMountPath": { + "type": "string" + }, + "pvSize": { + "type": "string" + }, + "pvStorageClass": { + "type": "string" + }, + "resourceSpec": { + "description": "tiny medium large", + "type": "string" + }, + "strategy": { + "description": "rolling-update blue-green canary", + "type": "string" + }, + "targetClusterId": { + "type": "string" + }, + "type": { + "description": "build deploy all", + "type": "string" + }, + "version": { + "description": "Task", + "type": "string" + } + } + }, + "domain.CreateApplicationRequest": { + "type": "object", + "properties": { + "applicationType": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "metadata": { + "type": "string" + } + } + }, + "domain.CreateBootstrapKubeconfigResponse": { + "type": "object", + "properties": { + "kubeconfig": { + "$ref": "#/definitions/domain.BootstrapKubeconfig" + } + } + }, + "domain.CreateCloudAccountRequest": { + "type": "object", + "required": [ + "accessKeyId", + "awsAccountId", + "name", + "secretAccessKey" + ], + "properties": { + "accessKeyId": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "awsAccountId": { + "type": "string", + "maxLength": 12, + "minLength": 12 + }, + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "AZZURE", + "GCP" + ] + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "secretAccessKey": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "sessionToken": { + "type": "string", + "maxLength": 2000 + } + } + }, + "domain.CreateCloudAccountResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateClusterRequest": { + "type": "object", + "required": [ + "cloudService", + "name", + "organizationId", + "stackTemplateId" + ], + "properties": { + "byoClusterEndpointHost": { + "type": "string" + }, + "byoClusterEndpointPort": { + "type": "integer" + }, + "cloudAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "BYOH" + ] + }, + "clusterType": { + "type": "string" + }, + "description": { + "type": "string" + }, + "isStack": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplateId": { + "type": "string" + }, + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.CreateClusterResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateOrganizationRequest": { + "type": "object", + "required": [ + "Email", + "name" + ], + "properties": { + "Email": { + "type": "string" + }, + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "domain.CreateStackRequest": { + "type": "object", + "required": [ + "cloudService", + "name", + "stackTemplateId" + ], + "properties": { + "cloudAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "BYOH" + ] + }, + "clusterId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "stackTemplateId": { + "type": "string" + }, + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer" + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer" + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + }, + "userClusterEndpoint": { + "type": "string" + } + } + }, + "domain.CreateStackResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateStackTemplateRequest": { + "type": "object", + "required": [ + "name", + "platform", + "template", + "version" + ], + "properties": { + "cloudService": { + "type": "string", + "enum": [ + "AWS", + "AZZURE", + "GCP" + ] + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "template": { + "type": "string" + }, + "templateType": { + "type": "string", + "enum": [ + "STANDARD", + "MSA" + ] + }, + "version": { + "type": "string" + } + } + }, + "domain.CreateStackTemplateResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.CreateUserRequest": { + "type": "object", + "required": [ + "accountId", + "email", + "password", + "role" + ], + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string", + "maxLength": 50, + "minLength": 0 + }, + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "admin", + "user" + ] + } + } + }, + "domain.CreateUserResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + } + } + } + } + }, + "domain.DashboardChartResponse": { + "type": "object", + "properties": { + "chartData": { + "$ref": "#/definitions/domain.ChartData" + }, + "chartType": { + "type": "string" + }, + "description": { + "type": "string" + }, + "duration": { + "type": "string" + }, + "interval": { + "type": "string" + }, + "month": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "year": { + "type": "string" + } + } + }, + "domain.DashboardResource": { + "type": "object", + "properties": { + "cpu": { + "type": "string" + }, + "memory": { + "type": "string" + }, + "stack": { + "type": "string" + }, + "storage": { + "type": "string" + } + } + }, + "domain.DashboardStackResponse": { + "type": "object", + "properties": { + "cpu": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "memory": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "storage": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.DeleteCloudAccountRequest": { + "type": "object", + "required": [ + "accessKeyId", + "secretAccessKey" + ], + "properties": { + "accessKeyId": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "secretAccessKey": { + "type": "string", + "maxLength": 128, + "minLength": 16 + }, + "sessionToken": { + "type": "string", + "maxLength": 2000 + } + } + }, + "domain.FilterResponse": { + "type": "object", + "properties": { + "column": { + "type": "string" + }, + "operator": { + "type": "string" + }, + "releation": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "domain.FindIdRequest": { + "type": "object", + "required": [ + "code", + "email", + "organizationId", + "userName" + ], + "properties": { + "code": { + "type": "string" + }, + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.FindIdResponse": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + } + } + }, + "domain.FindPasswordRequest": { + "type": "object", + "required": [ + "accountId", + "code", + "email", + "organizationId", + "userName" + ], + "properties": { + "accountId": { + "type": "string" + }, + "code": { + "type": "string" + }, + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.GetAlertResponse": { + "type": "object", + "properties": { + "alert": { + "$ref": "#/definitions/domain.AlertResponse" + } + } + }, + "domain.GetAlertsResponse": { + "type": "object", + "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AlertResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetAppGroupResponse": { + "type": "object", + "properties": { + "appGroup": { + "$ref": "#/definitions/domain.AppGroupResponse" + } + } + }, + "domain.GetAppGroupsResponse": { + "type": "object", + "properties": { + "appGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.AppGroupResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetAppServeAppResponse": { + "type": "object", + "properties": { + "appServeApp": { + "$ref": "#/definitions/domain.AppServeApp" + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StageResponse" + } + } + } + }, + "domain.GetAppServeAppTaskResponse": { + "type": "object", + "properties": { + "appServeAppTask": { + "$ref": "#/definitions/domain.AppServeAppTask" + } + } + }, + "domain.GetApplicationsResponse": { + "type": "object", + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ApplicationResponse" + } + } + } + }, + "domain.GetBootstrapKubeconfigResponse": { + "type": "object", + "properties": { + "kubeconfig": { + "$ref": "#/definitions/domain.BootstrapKubeconfig" + } + } + }, + "domain.GetCloudAccountResourceQuotaResponse": { + "type": "object", + "properties": { + "available": { + "type": "boolean" + }, + "resourceQuota": { + "$ref": "#/definitions/domain.ResourceQuota" + } + } + }, + "domain.GetCloudAccountResponse": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/definitions/domain.CloudAccountResponse" + } + } + }, + "domain.GetCloudAccountsResponse": { + "type": "object", + "properties": { + "cloudAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.CloudAccountResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetClusterNodesResponse": { + "type": "object", + "properties": { + "nodes": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ClusterNode" + } + } + } + }, + "domain.GetClustersResponse": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ClusterResponse" + } + }, + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + } + } + }, + "domain.GetDashboardChartResponse": { + "type": "object", + "properties": { + "chart": { + "$ref": "#/definitions/domain.DashboardChartResponse" + } + } + }, + "domain.GetDashboardChartsResponse": { + "type": "object", + "properties": { + "charts": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.DashboardChartResponse" + } + } + } + }, + "domain.GetDashboardResourcesResponse": { + "type": "object", + "properties": { + "resources": { + "$ref": "#/definitions/domain.DashboardResource" + } + } + }, + "domain.GetDashboardStacksResponse": { + "type": "object", + "properties": { + "stacks": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.DashboardStackResponse" + } + } + } + }, + "domain.GetMyProfileResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + } + } + } + } + }, + "domain.GetOrganizationResponse": { + "type": "object", + "properties": { + "organization": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + } + } + }, + "domain.GetStackKubeConfigResponse": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string" + } + } + }, + "domain.GetStackResponse": { + "type": "object", + "properties": { + "stack": { + "$ref": "#/definitions/domain.StackResponse" + } + } + }, + "domain.GetStackStatusResponse": { + "type": "object", + "properties": { + "stackStatus": { + "type": "string" + }, + "stepStatus": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackStepStatus" + } + } + } + }, + "domain.GetStackTemplateResponse": { + "type": "object", + "properties": { + "stackTemplate": { + "$ref": "#/definitions/domain.StackTemplateResponse" + } + } + }, + "domain.GetStackTemplatesResponse": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + }, + "stackTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateResponse" + } + } + } + }, + "domain.GetStacksResponse": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/definitions/domain.PaginationResponse" + }, + "stacks": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackResponse" + } + } + } + }, + "domain.GetUserResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "updatedAt": { + "type": "string" + } + } + } + } + }, + "domain.ImportClusterRequest": { + "type": "object", + "required": [ + "name", + "organizationId", + "stackTemplateId" + ], + "properties": { + "cloudService": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "description": { + "type": "string" + }, + "kubeconfig": { + "type": "array", + "items": { + "type": "integer" + } + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stackTemplateId": { + "type": "string" + } + } + }, + "domain.ImportClusterResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "domain.ListOrganizationBody": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.ListUserBody": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.LoginRequest": { + "type": "object", + "required": [ + "accountId", + "organizationId", + "password" + ], + "properties": { + "accountId": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "password": { + "type": "string" + } + } + }, + "domain.LoginResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "passwordExpired": { + "type": "boolean" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "token": { + "type": "string" + } + } + } + } + }, + "domain.LogoutResponse": { + "type": "object", + "properties": { + "ssoUrls": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "domain.Organization": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.PaginationResponse": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.FilterResponse" + } + }, + "pageNumber": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "sortColumn": { + "type": "string" + }, + "sortOrder": { + "type": "string" + }, + "totalPages": { + "type": "integer" + }, + "totalRows": { + "type": "integer" + } + } + }, + "domain.PingTokenRequest": { + "type": "object", + "required": [ + "organizationId", + "token" + ], + "properties": { + "organizationId": { + "type": "string" + }, + "token": { + "type": "string" + } + } + }, + "domain.PodCount": { + "type": "object", + "properties": { + "day": { + "type": "integer" + }, + "value": { + "type": "integer" + } + } + }, + "domain.ResourceQuota": { + "type": "object", + "properties": { + "quotas": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ResourceQuotaAttr" + } + } + } + }, + "domain.ResourceQuotaAttr": { + "type": "object", + "properties": { + "quota": { + "type": "integer" + }, + "required": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "usage": { + "type": "integer" + } + } + }, + "domain.Role": { + "type": "object", + "properties": { + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.RollbackAppServeAppRequest": { + "type": "object", + "properties": { + "taskId": { + "type": "string" + } + } + }, + "domain.SimpleCloudAccountResponse": { + "type": "object", + "properties": { + "awsAccountId": { + "type": "string" + }, + "cloudService": { + "type": "string" + }, + "clusters": { + "type": "integer" + }, + "createdIAM": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + } + } + }, + "domain.SimpleClusterResponse": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + } + } + }, + "domain.SimpleStackTemplateResponse": { + "type": "object", + "properties": { + "cloudService": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "kubeType": { + "type": "string" + }, + "kubeVersion": { + "type": "string" + }, + "name": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateServiceResponse" + } + }, + "template": { + "type": "string" + } + } + }, + "domain.SimpleUserResponse": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "domain.StackConfResponse": { + "type": "object", + "required": [ + "tksInfraNode", + "tksUserNode" + ], + "properties": { + "tksCpNode": { + "type": "integer" + }, + "tksCpNodeMax": { + "type": "integer" + }, + "tksCpNodeType": { + "type": "string" + }, + "tksInfraNode": { + "type": "integer", + "maximum": 3, + "minimum": 1 + }, + "tksInfraNodeMax": { + "type": "integer" + }, + "tksInfraNodeType": { + "type": "string" + }, + "tksUserNode": { + "type": "integer", + "maximum": 100, + "minimum": 0 + }, + "tksUserNodeMax": { + "type": "integer" + }, + "tksUserNodeType": { + "type": "string" + } + } + }, + "domain.StackResponse": { + "type": "object", + "properties": { + "cloudAccount": { + "$ref": "#/definitions/domain.SimpleCloudAccountResponse" + }, + "conf": { + "$ref": "#/definitions/domain.StackConfResponse" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "favorited": { + "type": "boolean" + }, + "grafanaUrl": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "primaryCluster": { + "type": "boolean" + }, + "resource": { + "$ref": "#/definitions/domain.DashboardStackResponse" + }, + "stackTemplate": { + "$ref": "#/definitions/domain.SimpleStackTemplateResponse" + }, + "status": { + "type": "string" + }, + "statusDesc": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "userClusterEndpoint": { + "type": "string" + } + } + }, + "domain.StackStepStatus": { + "type": "object", + "properties": { + "maxStep": { + "type": "integer" + }, + "stage": { + "type": "string" + }, + "status": { + "type": "string" + }, + "step": { + "type": "integer" + } + } + }, + "domain.StackTemplate": { + "type": "object", + "properties": { + "cloudService": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.User" + }, + "creatorId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "kubeType": { + "type": "string" + }, + "kubeVersion": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "type": "integer" + } + }, + "template": { + "type": "string" + }, + "templateType": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.User" + }, + "updatorId": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "domain.StackTemplateResponse": { + "type": "object", + "properties": { + "cloudService": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "kubeType": { + "type": "string" + }, + "kubeVersion": { + "type": "string" + }, + "name": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateServiceResponse" + } + }, + "template": { + "type": "string" + }, + "templateType": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updator": { + "$ref": "#/definitions/domain.SimpleUserResponse" + }, + "version": { + "type": "string" + } + } + }, + "domain.StackTemplateServiceApplicationResponse": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "domain.StackTemplateServiceResponse": { + "type": "object", + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.StackTemplateServiceApplicationResponse" + } + }, + "type": { + "type": "string" + } + } + }, + "domain.StageResponse": { + "type": "object", + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/domain.ActionResponse" + } + }, + "name": { + "description": "BUILD (빌드), DEPLOY (배포), PROMOTE (프로모트), ROLLBACK (롤백)", + "type": "string" + }, + "result": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "domain.Unit": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + } + } + }, + "domain.UpdateAlertRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateAppServeAppEndpointRequest": { + "type": "object", + "required": [ + "taskId" + ], + "properties": { + "endpointUrl": { + "type": "string" + }, + "helmRevision": { + "type": "integer" + }, + "previewEndpointUrl": { + "type": "string" + }, + "taskId": { + "type": "string" + } + } + }, + "domain.UpdateAppServeAppRequest": { + "type": "object", + "properties": { + "abort": { + "type": "boolean" + }, + "appConfig": { + "type": "string" + }, + "appSecret": { + "type": "string" + }, + "artifactUrl": { + "type": "string" + }, + "executablePath": { + "type": "string" + }, + "extraEnv": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "port": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "promote": { + "description": "Update Strategy", + "type": "boolean" + }, + "resourceSpec": { + "type": "string" + }, + "strategy": { + "description": "Task", + "type": "string" + } + } + }, + "domain.UpdateAppServeAppStatusRequest": { + "type": "object", + "required": [ + "status", + "taskId" + ], + "properties": { + "output": { + "type": "string" + }, + "status": { + "type": "string" + }, + "taskId": { + "type": "string" + } + } + }, + "domain.UpdateCloudAccountRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateMyProfileRequest": { + "type": "object", + "required": [ + "password" + ], + "properties": { + "department": { + "type": "string", + "maxLength": 50, + "minLength": 0 + }, + "email": { + "type": "string" + }, + "name": { + "type": "string", + "maxLength": 30, + "minLength": 1 + }, + "password": { + "type": "string" + } + } + }, + "domain.UpdateMyProfileResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "department": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + } + } + } + } + }, + "domain.UpdateOrganizationRequest": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "name": { + "type": "string", + "maxLength": 30, + "minLength": 1 + }, + "phone": { + "type": "string" + }, + "primaryClusterId": { + "type": "string" + } + } + }, + "domain.UpdateOrganizationResponse": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "domain.UpdatePasswordRequest": { + "type": "object", + "required": [ + "newPassword", + "originPassword" + ], + "properties": { + "newPassword": { + "type": "string" + }, + "originPassword": { + "type": "string" + } + } + }, + "domain.UpdatePrimaryClusterRequest": { + "type": "object", + "properties": { + "primaryClusterId": { + "type": "string" + } + } + }, + "domain.UpdateStackRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateStackTemplateRequest": { + "type": "object", + "properties": { + "description": { + "type": "string" + } + } + }, + "domain.UpdateUserRequest": { + "type": "object", + "properties": { + "department": { + "type": "string", + "maxLength": 50, + "minLength": 0 + }, + "description": { + "type": "string", + "maxLength": 100, + "minLength": 0 + }, + "email": { + "type": "string" + }, + "name": { + "type": "string", + "maxLength": 30, + "minLength": 1 + }, + "role": { + "type": "string", + "enum": [ + "admin", + "user" + ] + } + } + }, + "domain.UpdateUserResponse": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "updatedAt": { + "type": "string" + } + } + } + } + }, + "domain.User": { + "type": "object", + "properties": { + "accountId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "department": { + "type": "string" + }, + "description": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/domain.Organization" + }, + "password": { + "type": "string" + }, + "passwordExpired": { + "type": "boolean" + }, + "passwordUpdatedAt": { + "type": "string" + }, + "role": { + "$ref": "#/definitions/domain.Role" + }, + "token": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostIdRequest": { + "type": "object", + "required": [ + "email", + "organizationId", + "userName" + ], + "properties": { + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostIdResponse": { + "type": "object", + "properties": { + "validityPeriod": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostPasswordRequest": { + "type": "object", + "required": [ + "accountId", + "email", + "organizationId", + "userName" + ], + "properties": { + "accountId": { + "type": "string" + }, + "email": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "domain.VerifyIdentityForLostPasswordResponse": { + "type": "object", + "properties": { + "validityPeriod": { + "type": "string" + } + } + }, + "httpErrors.RestError": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "text": { + "type": "string" + } + } + } + }, + "securityDefinitions": { + "JWT": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + } +} \ No newline at end of file diff --git a/api/swagger/swagger.yaml b/api/swagger/swagger.yaml new file mode 100644 index 00000000..dfbf2f9f --- /dev/null +++ b/api/swagger/swagger.yaml @@ -0,0 +1,4453 @@ +basePath: /api/1.0/ +definitions: + domain.ActionResponse: + properties: + body: + additionalProperties: + type: string + type: object + method: + type: string + name: + description: ENDPOINT (화면보기), PREVIEW (미리보기), PROMOTE (배포), ABORT (중단) + type: string + type: + description: LINK, API + type: string + uri: + type: string + type: object + domain.AlertActionResponse: + properties: + alertId: + type: string + content: + type: string + createdAt: + type: string + id: + type: string + status: + type: string + taker: + $ref: '#/definitions/domain.SimpleUserResponse' + updatedAt: + type: string + type: object + domain.AlertResponse: + properties: + alertActions: + items: + $ref: '#/definitions/domain.AlertActionResponse' + type: array + closedAt: + type: string + cluster: + $ref: '#/definitions/domain.SimpleClusterResponse' + code: + type: string + createdAt: + type: string + description: + type: string + firedAt: + type: string + grade: + type: string + grafanaUrl: + type: string + id: + type: string + lastTaker: + $ref: '#/definitions/domain.SimpleUserResponse' + message: + type: string + name: + type: string + node: + type: string + organizationId: + type: string + processingSec: + type: integer + rawData: + type: string + status: + type: string + takedAt: + type: string + takedSec: + type: integer + updatedAt: + type: string + type: object + domain.AppGroupResponse: + properties: + appGroupType: + type: integer + clusterId: + type: string + createdAt: + type: string + creator: + $ref: '#/definitions/domain.SimpleUserResponse' + description: + type: string + id: + type: string + name: + type: string + status: + type: integer + statusDesc: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.SimpleUserResponse' + workflowId: + type: string + type: object + domain.AppServeApp: + properties: + appServeAppTasks: + items: + $ref: '#/definitions/domain.AppServeAppTask' + type: array + appType: + description: appType (spring/springboot) + type: string + createdAt: + type: string + deletedAt: + type: string + endpointUrl: + description: endpoint URL of deployed app + type: string + grafanaUrl: + description: grafana dashboard URL for deployed app + type: string + id: + type: string + name: + description: application name + type: string + namespace: + description: application namespace + type: string + organizationId: + description: contractId is a contract ID which this app belongs to + type: string + previewEndpointUrl: + description: preview svc endpoint URL in B/G deployment + type: string + status: + description: status is status of deployed app + type: string + targetClusterId: + description: target cluster to which the app is deployed + type: string + targetClusterName: + description: target cluster name + type: string + type: + description: type (build/deploy/all) + type: string + updatedAt: + type: string + type: object + domain.AppServeAppTask: + properties: + appConfig: + description: java app config + type: string + appSecret: + description: java app secret + type: string + appServeAppId: + description: ID for appServeApp that this task belongs to + type: string + artifactUrl: + description: URL of java app artifact (Eg, Jar) + type: string + availableRollback: + type: boolean + createdAt: + description: createdAt is a creation timestamp for the application + type: string + deletedAt: + type: string + executablePath: + description: Executable path of app image + type: string + extraEnv: + description: env variable list for java app + type: string + helmRevision: + description: revision of deployed helm release + type: integer + id: + type: string + imageUrl: + description: URL of built image for app + type: string + output: + description: output for task result + type: string + port: + description: java app port + type: string + profile: + description: java app profile + type: string + pvAccessMode: + type: string + pvEnabled: + type: boolean + pvMountPath: + type: string + pvSize: + type: string + pvStorageClass: + type: string + resourceSpec: + description: resource spec of app pod + type: string + rollbackVersion: + description: rollback target version + type: string + status: + description: status is app status + type: string + strategy: + description: deployment strategy (eg, rolling-update) + type: string + updatedAt: + type: string + version: + description: application version + type: string + type: object + domain.ApplicationResponse: + properties: + appGroupId: + type: string + applicationType: + type: integer + createdAt: + type: string + endpoint: + type: string + id: + type: string + metadata: + type: string + updatedAt: + type: string + type: object + domain.Axis: + properties: + data: + items: + type: string + type: array + type: object + domain.BootstrapKubeconfig: + properties: + expiration: + type: integer + type: object + domain.ChartData: + properties: + podCounts: + items: + $ref: '#/definitions/domain.PodCount' + type: array + series: + items: + $ref: '#/definitions/domain.Unit' + type: array + xAxis: + $ref: '#/definitions/domain.Axis' + yAxis: + $ref: '#/definitions/domain.Axis' + type: object + domain.CheckCloudAccountAwsAccountIdResponse: + properties: + existed: + type: boolean + type: object + domain.CheckCloudAccountNameResponse: + properties: + existed: + type: boolean + type: object + domain.CheckExistedResponse: + properties: + existed: + type: boolean + type: object + domain.CloudAccount: + properties: + accessKeyId: + type: string + awsAccountId: + type: string + cloudService: + type: string + clusters: + type: integer + createdAt: + type: string + createdIAM: + type: boolean + creator: + $ref: '#/definitions/domain.User' + creatorId: + type: string + description: + type: string + id: + type: string + name: + type: string + organizationId: + type: string + resource: + type: string + secretAccessKey: + type: string + sessionToken: + type: string + status: + type: integer + statusDesc: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.User' + updatorId: + type: string + type: object + domain.CloudAccountResponse: + properties: + awsAccountId: + type: string + cloudService: + type: string + clusters: + type: integer + createdAt: + type: string + createdIAM: + type: boolean + creator: + $ref: '#/definitions/domain.SimpleUserResponse' + description: + type: string + id: + type: string + name: + type: string + organizationId: + type: string + resource: + type: string + status: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.SimpleUserResponse' + type: object + domain.Cluster: + properties: + byoClusterEndpointHost: + type: string + byoClusterEndpointPort: + type: integer + cloudAccount: + $ref: '#/definitions/domain.CloudAccount' + cloudAccountId: + type: string + cloudService: + type: string + clusterType: + type: integer + conf: + $ref: '#/definitions/domain.ClusterConf' + createdAt: + type: string + creator: + $ref: '#/definitions/domain.User' + creatorId: + type: string + description: + type: string + favorited: + type: boolean + id: + type: string + isStack: + type: boolean + kubeconfig: + items: + type: integer + type: array + name: + type: string + organizationId: + type: string + stackTemplate: + $ref: '#/definitions/domain.StackTemplate' + stackTemplateId: + type: string + status: + type: integer + statusDesc: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.User' + updatorId: + type: string + type: object + domain.ClusterConf: + properties: + tksCpNode: + type: integer + tksCpNodeMax: + type: integer + tksCpNodeType: + type: string + tksInfraNode: + type: integer + tksInfraNodeMax: + type: integer + tksInfraNodeType: + type: string + tksUserNode: + type: integer + tksUserNodeMax: + type: integer + tksUserNodeType: + type: string + type: object + domain.ClusterConfResponse: + properties: + tksCpNode: + type: integer + tksCpNodeMax: + type: integer + tksCpNodeType: + type: string + tksInfraNode: + type: integer + tksInfraNodeMax: + type: integer + tksInfraNodeType: + type: string + tksUserNode: + type: integer + tksUserNodeMax: + type: integer + tksUserNodeType: + type: string + type: object + domain.ClusterHost: + properties: + name: + type: string + status: + type: string + type: object + domain.ClusterNode: + properties: + command: + type: string + hosts: + items: + $ref: '#/definitions/domain.ClusterHost' + type: array + registered: + type: integer + registering: + type: integer + status: + type: string + targeted: + type: integer + type: + type: string + validity: + type: integer + type: object + domain.ClusterResponse: + properties: + byoClusterEndpointHost: + type: string + byoClusterEndpointPort: + type: integer + cloudAccount: + $ref: '#/definitions/domain.SimpleCloudAccountResponse' + cloudService: + type: string + clusterType: + type: string + conf: + $ref: '#/definitions/domain.ClusterConfResponse' + createdAt: + type: string + creator: + $ref: '#/definitions/domain.SimpleUserResponse' + description: + type: string + id: + type: string + isStack: + type: boolean + name: + type: string + organizationId: + type: string + stackTemplate: + $ref: '#/definitions/domain.SimpleStackTemplateResponse' + status: + type: string + statusDesc: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.SimpleUserResponse' + type: object + domain.ClusterSiteValuesResponse: + properties: + byoClusterEndpointHost: + type: string + byoClusterEndpointPort: + type: integer + clusterRegion: + type: string + clusterType: + type: string + sshKeyName: + type: string + tksCpNode: + type: integer + tksCpNodeMax: + type: integer + tksCpNodeType: + type: string + tksInfraNode: + type: integer + tksInfraNodeMax: + type: integer + tksInfraNodeType: + type: string + tksUserNode: + type: integer + tksUserNodeMax: + type: integer + tksUserNodeType: + type: string + type: object + domain.CreateAppGroupRequest: + properties: + appGroupType: + enum: + - LMA + - SERVICE_MESH + type: string + clusterId: + type: string + description: + type: string + name: + type: string + required: + - clusterId + - name + type: object + domain.CreateAppGroupResponse: + properties: + id: + type: string + type: object + domain.CreateAppServeAppRequest: + properties: + appConfig: + type: string + appSecret: + type: string + appType: + description: springboot spring + type: string + artifactUrl: + type: string + executablePath: + type: string + extraEnv: + type: string + imageUrl: + type: string + name: + description: App + type: string + namespace: + type: string + port: + type: string + profile: + type: string + pvAccessMode: + type: string + pvEnabled: + type: boolean + pvMountPath: + type: string + pvSize: + type: string + pvStorageClass: + type: string + resourceSpec: + description: tiny medium large + type: string + strategy: + description: rolling-update blue-green canary + type: string + targetClusterId: + type: string + type: + description: build deploy all + type: string + version: + description: Task + type: string + required: + - name + - targetClusterId + type: object + domain.CreateApplicationRequest: + properties: + applicationType: + type: string + endpoint: + type: string + metadata: + type: string + type: object + domain.CreateBootstrapKubeconfigResponse: + properties: + kubeconfig: + $ref: '#/definitions/domain.BootstrapKubeconfig' + type: object + domain.CreateCloudAccountRequest: + properties: + accessKeyId: + maxLength: 128 + minLength: 16 + type: string + awsAccountId: + maxLength: 12 + minLength: 12 + type: string + cloudService: + enum: + - AWS + - AZZURE + - GCP + type: string + description: + type: string + name: + type: string + secretAccessKey: + maxLength: 128 + minLength: 16 + type: string + sessionToken: + maxLength: 2000 + type: string + required: + - accessKeyId + - awsAccountId + - name + - secretAccessKey + type: object + domain.CreateCloudAccountResponse: + properties: + id: + type: string + type: object + domain.CreateClusterRequest: + properties: + byoClusterEndpointHost: + type: string + byoClusterEndpointPort: + type: integer + cloudAccountId: + type: string + cloudService: + enum: + - AWS + - BYOH + type: string + clusterType: + type: string + description: + type: string + isStack: + type: boolean + name: + type: string + organizationId: + type: string + stackTemplateId: + type: string + tksCpNode: + type: integer + tksCpNodeMax: + type: integer + tksCpNodeType: + type: string + tksInfraNode: + type: integer + tksInfraNodeMax: + type: integer + tksInfraNodeType: + type: string + tksUserNode: + type: integer + tksUserNodeMax: + type: integer + tksUserNodeType: + type: string + required: + - cloudService + - name + - organizationId + - stackTemplateId + type: object + domain.CreateClusterResponse: + properties: + id: + type: string + type: object + domain.CreateOrganizationRequest: + properties: + Email: + type: string + description: + maxLength: 100 + minLength: 0 + type: string + name: + type: string + phone: + type: string + required: + - Email + - name + type: object + domain.CreateStackRequest: + properties: + cloudAccountId: + type: string + cloudService: + enum: + - AWS + - BYOH + type: string + clusterId: + type: string + description: + type: string + name: + type: string + stackTemplateId: + type: string + tksCpNode: + type: integer + tksCpNodeMax: + type: integer + tksCpNodeType: + type: string + tksInfraNode: + type: integer + tksInfraNodeMax: + type: integer + tksInfraNodeType: + type: string + tksUserNode: + type: integer + tksUserNodeMax: + type: integer + tksUserNodeType: + type: string + userClusterEndpoint: + type: string + required: + - cloudService + - name + - stackTemplateId + type: object + domain.CreateStackResponse: + properties: + id: + type: string + type: object + domain.CreateStackTemplateRequest: + properties: + cloudService: + enum: + - AWS + - AZZURE + - GCP + type: string + description: + type: string + name: + type: string + platform: + type: string + template: + type: string + templateType: + enum: + - STANDARD + - MSA + type: string + version: + type: string + required: + - name + - platform + - template + - version + type: object + domain.CreateStackTemplateResponse: + properties: + id: + type: string + type: object + domain.CreateUserRequest: + properties: + accountId: + type: string + department: + maxLength: 50 + minLength: 0 + type: string + description: + maxLength: 100 + minLength: 0 + type: string + email: + type: string + name: + type: string + password: + type: string + role: + enum: + - admin + - user + type: string + required: + - accountId + - email + - password + - role + type: object + domain.CreateUserResponse: + properties: + user: + properties: + accountId: + type: string + department: + type: string + description: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + role: + $ref: '#/definitions/domain.Role' + type: object + type: object + domain.DashboardChartResponse: + properties: + chartData: + $ref: '#/definitions/domain.ChartData' + chartType: + type: string + description: + type: string + duration: + type: string + interval: + type: string + month: + type: string + name: + type: string + organizationId: + type: string + updatedAt: + type: string + year: + type: string + type: object + domain.DashboardResource: + properties: + cpu: + type: string + memory: + type: string + stack: + type: string + storage: + type: string + type: object + domain.DashboardStackResponse: + properties: + cpu: + type: string + createdAt: + type: string + description: + type: string + id: + type: string + memory: + type: string + name: + type: string + status: + type: string + statusDesc: + type: string + storage: + type: string + updatedAt: + type: string + type: object + domain.DeleteCloudAccountRequest: + properties: + accessKeyId: + maxLength: 128 + minLength: 16 + type: string + secretAccessKey: + maxLength: 128 + minLength: 16 + type: string + sessionToken: + maxLength: 2000 + type: string + required: + - accessKeyId + - secretAccessKey + type: object + domain.FilterResponse: + properties: + column: + type: string + operator: + type: string + releation: + type: string + values: + items: + type: string + type: array + type: object + domain.FindIdRequest: + properties: + code: + type: string + email: + type: string + organizationId: + type: string + userName: + type: string + required: + - code + - email + - organizationId + - userName + type: object + domain.FindIdResponse: + properties: + accountId: + type: string + type: object + domain.FindPasswordRequest: + properties: + accountId: + type: string + code: + type: string + email: + type: string + organizationId: + type: string + userName: + type: string + required: + - accountId + - code + - email + - organizationId + - userName + type: object + domain.GetAlertResponse: + properties: + alert: + $ref: '#/definitions/domain.AlertResponse' + type: object + domain.GetAlertsResponse: + properties: + alerts: + items: + $ref: '#/definitions/domain.AlertResponse' + type: array + pagination: + $ref: '#/definitions/domain.PaginationResponse' + type: object + domain.GetAppGroupResponse: + properties: + appGroup: + $ref: '#/definitions/domain.AppGroupResponse' + type: object + domain.GetAppGroupsResponse: + properties: + appGroups: + items: + $ref: '#/definitions/domain.AppGroupResponse' + type: array + pagination: + $ref: '#/definitions/domain.PaginationResponse' + type: object + domain.GetAppServeAppResponse: + properties: + appServeApp: + $ref: '#/definitions/domain.AppServeApp' + stages: + items: + $ref: '#/definitions/domain.StageResponse' + type: array + type: object + domain.GetAppServeAppTaskResponse: + properties: + appServeAppTask: + $ref: '#/definitions/domain.AppServeAppTask' + type: object + domain.GetApplicationsResponse: + properties: + applications: + items: + $ref: '#/definitions/domain.ApplicationResponse' + type: array + type: object + domain.GetBootstrapKubeconfigResponse: + properties: + kubeconfig: + $ref: '#/definitions/domain.BootstrapKubeconfig' + type: object + domain.GetCloudAccountResourceQuotaResponse: + properties: + available: + type: boolean + resourceQuota: + $ref: '#/definitions/domain.ResourceQuota' + type: object + domain.GetCloudAccountResponse: + properties: + cloudAccount: + $ref: '#/definitions/domain.CloudAccountResponse' + type: object + domain.GetCloudAccountsResponse: + properties: + cloudAccounts: + items: + $ref: '#/definitions/domain.CloudAccountResponse' + type: array + pagination: + $ref: '#/definitions/domain.PaginationResponse' + type: object + domain.GetClusterNodesResponse: + properties: + nodes: + items: + $ref: '#/definitions/domain.ClusterNode' + type: array + type: object + domain.GetClustersResponse: + properties: + clusters: + items: + $ref: '#/definitions/domain.ClusterResponse' + type: array + pagination: + $ref: '#/definitions/domain.PaginationResponse' + type: object + domain.GetDashboardChartResponse: + properties: + chart: + $ref: '#/definitions/domain.DashboardChartResponse' + type: object + domain.GetDashboardChartsResponse: + properties: + charts: + items: + $ref: '#/definitions/domain.DashboardChartResponse' + type: array + type: object + domain.GetDashboardResourcesResponse: + properties: + resources: + $ref: '#/definitions/domain.DashboardResource' + type: object + domain.GetDashboardStacksResponse: + properties: + stacks: + items: + $ref: '#/definitions/domain.DashboardStackResponse' + type: array + type: object + domain.GetMyProfileResponse: + properties: + user: + properties: + accountId: + type: string + department: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + role: + $ref: '#/definitions/domain.Role' + type: object + type: object + domain.GetOrganizationResponse: + properties: + organization: + properties: + createdAt: + type: string + creator: + type: string + description: + type: string + id: + type: string + name: + type: string + phone: + type: string + primaryClusterId: + type: string + status: + type: string + statusDesc: + type: string + updatedAt: + type: string + type: object + type: object + domain.GetStackKubeConfigResponse: + properties: + kubeConfig: + type: string + type: object + domain.GetStackResponse: + properties: + stack: + $ref: '#/definitions/domain.StackResponse' + type: object + domain.GetStackStatusResponse: + properties: + stackStatus: + type: string + stepStatus: + items: + $ref: '#/definitions/domain.StackStepStatus' + type: array + type: object + domain.GetStackTemplateResponse: + properties: + stackTemplate: + $ref: '#/definitions/domain.StackTemplateResponse' + type: object + domain.GetStackTemplatesResponse: + properties: + pagination: + $ref: '#/definitions/domain.PaginationResponse' + stackTemplates: + items: + $ref: '#/definitions/domain.StackTemplateResponse' + type: array + type: object + domain.GetStacksResponse: + properties: + pagination: + $ref: '#/definitions/domain.PaginationResponse' + stacks: + items: + $ref: '#/definitions/domain.StackResponse' + type: array + type: object + domain.GetUserResponse: + properties: + user: + properties: + accountId: + type: string + createdAt: + type: string + creator: + type: string + department: + type: string + description: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + role: + $ref: '#/definitions/domain.Role' + updatedAt: + type: string + type: object + type: object + domain.ImportClusterRequest: + properties: + cloudService: + type: string + clusterType: + type: string + description: + type: string + kubeconfig: + items: + type: integer + type: array + name: + type: string + organizationId: + type: string + stackTemplateId: + type: string + required: + - name + - organizationId + - stackTemplateId + type: object + domain.ImportClusterResponse: + properties: + id: + type: string + type: object + domain.ListOrganizationBody: + properties: + createdAt: + type: string + description: + type: string + id: + type: string + name: + type: string + phone: + type: string + primaryClusterId: + type: string + status: + type: string + updatedAt: + type: string + type: object + domain.ListUserBody: + properties: + accountId: + type: string + createdAt: + type: string + creator: + type: string + department: + type: string + description: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + role: + $ref: '#/definitions/domain.Role' + updatedAt: + type: string + type: object + domain.LoginRequest: + properties: + accountId: + type: string + organizationId: + type: string + password: + type: string + required: + - accountId + - organizationId + - password + type: object + domain.LoginResponse: + properties: + user: + properties: + accountId: + type: string + department: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + passwordExpired: + type: boolean + role: + $ref: '#/definitions/domain.Role' + token: + type: string + type: object + type: object + domain.LogoutResponse: + properties: + ssoUrls: + additionalProperties: + items: + type: string + type: array + type: object + type: object + domain.Organization: + properties: + createdAt: + type: string + creator: + type: string + description: + type: string + id: + type: string + name: + type: string + phone: + type: string + primaryClusterId: + type: string + status: + type: integer + statusDesc: + type: string + updatedAt: + type: string + type: object + domain.PaginationResponse: + properties: + filters: + items: + $ref: '#/definitions/domain.FilterResponse' + type: array + pageNumber: + type: integer + pageSize: + type: integer + sortColumn: + type: string + sortOrder: + type: string + totalPages: + type: integer + totalRows: + type: integer + type: object + domain.PingTokenRequest: + properties: + organizationId: + type: string + token: + type: string + required: + - organizationId + - token + type: object + domain.PodCount: + properties: + day: + type: integer + value: + type: integer + type: object + domain.ResourceQuota: + properties: + quotas: + items: + $ref: '#/definitions/domain.ResourceQuotaAttr' + type: array + type: object + domain.ResourceQuotaAttr: + properties: + quota: + type: integer + required: + type: integer + type: + type: string + usage: + type: integer + type: object + domain.Role: + properties: + createdAt: + type: string + creator: + type: string + description: + type: string + id: + type: string + name: + type: string + updatedAt: + type: string + type: object + domain.RollbackAppServeAppRequest: + properties: + taskId: + type: string + type: object + domain.SimpleCloudAccountResponse: + properties: + awsAccountId: + type: string + cloudService: + type: string + clusters: + type: integer + createdIAM: + type: boolean + description: + type: string + id: + type: string + name: + type: string + organizationId: + type: string + type: object + domain.SimpleClusterResponse: + properties: + id: + type: string + name: + type: string + organizationId: + type: string + type: object + domain.SimpleStackTemplateResponse: + properties: + cloudService: + type: string + description: + type: string + id: + type: string + kubeType: + type: string + kubeVersion: + type: string + name: + type: string + services: + items: + $ref: '#/definitions/domain.StackTemplateServiceResponse' + type: array + template: + type: string + type: object + domain.SimpleUserResponse: + properties: + accountId: + type: string + id: + type: string + name: + type: string + type: object + domain.StackConfResponse: + properties: + tksCpNode: + type: integer + tksCpNodeMax: + type: integer + tksCpNodeType: + type: string + tksInfraNode: + maximum: 3 + minimum: 1 + type: integer + tksInfraNodeMax: + type: integer + tksInfraNodeType: + type: string + tksUserNode: + maximum: 100 + minimum: 0 + type: integer + tksUserNodeMax: + type: integer + tksUserNodeType: + type: string + required: + - tksInfraNode + - tksUserNode + type: object + domain.StackResponse: + properties: + cloudAccount: + $ref: '#/definitions/domain.SimpleCloudAccountResponse' + conf: + $ref: '#/definitions/domain.StackConfResponse' + createdAt: + type: string + creator: + $ref: '#/definitions/domain.SimpleUserResponse' + description: + type: string + favorited: + type: boolean + grafanaUrl: + type: string + id: + type: string + name: + type: string + organizationId: + type: string + primaryCluster: + type: boolean + resource: + $ref: '#/definitions/domain.DashboardStackResponse' + stackTemplate: + $ref: '#/definitions/domain.SimpleStackTemplateResponse' + status: + type: string + statusDesc: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.SimpleUserResponse' + userClusterEndpoint: + type: string + type: object + domain.StackStepStatus: + properties: + maxStep: + type: integer + stage: + type: string + status: + type: string + step: + type: integer + type: object + domain.StackTemplate: + properties: + cloudService: + type: string + createdAt: + type: string + creator: + $ref: '#/definitions/domain.User' + creatorId: + type: string + description: + type: string + id: + type: string + kubeType: + type: string + kubeVersion: + type: string + name: + type: string + organizationId: + type: string + platform: + type: string + services: + items: + type: integer + type: array + template: + type: string + templateType: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.User' + updatorId: + type: string + version: + type: string + type: object + domain.StackTemplateResponse: + properties: + cloudService: + type: string + createdAt: + type: string + creator: + $ref: '#/definitions/domain.SimpleUserResponse' + description: + type: string + id: + type: string + kubeType: + type: string + kubeVersion: + type: string + name: + type: string + platform: + type: string + services: + items: + $ref: '#/definitions/domain.StackTemplateServiceResponse' + type: array + template: + type: string + templateType: + type: string + updatedAt: + type: string + updator: + $ref: '#/definitions/domain.SimpleUserResponse' + version: + type: string + type: object + domain.StackTemplateServiceApplicationResponse: + properties: + description: + type: string + name: + type: string + version: + type: string + type: object + domain.StackTemplateServiceResponse: + properties: + applications: + items: + $ref: '#/definitions/domain.StackTemplateServiceApplicationResponse' + type: array + type: + type: string + type: object + domain.StageResponse: + properties: + actions: + items: + $ref: '#/definitions/domain.ActionResponse' + type: array + name: + description: BUILD (빌드), DEPLOY (배포), PROMOTE (프로모트), ROLLBACK (롤백) + type: string + result: + type: string + status: + type: string + type: object + domain.Unit: + properties: + data: + items: + type: string + type: array + name: + type: string + type: object + domain.UpdateAlertRequest: + properties: + description: + type: string + type: object + domain.UpdateAppServeAppEndpointRequest: + properties: + endpointUrl: + type: string + helmRevision: + type: integer + previewEndpointUrl: + type: string + taskId: + type: string + required: + - taskId + type: object + domain.UpdateAppServeAppRequest: + properties: + abort: + type: boolean + appConfig: + type: string + appSecret: + type: string + artifactUrl: + type: string + executablePath: + type: string + extraEnv: + type: string + imageUrl: + type: string + port: + type: string + profile: + type: string + promote: + description: Update Strategy + type: boolean + resourceSpec: + type: string + strategy: + description: Task + type: string + type: object + domain.UpdateAppServeAppStatusRequest: + properties: + output: + type: string + status: + type: string + taskId: + type: string + required: + - status + - taskId + type: object + domain.UpdateCloudAccountRequest: + properties: + description: + type: string + type: object + domain.UpdateMyProfileRequest: + properties: + department: + maxLength: 50 + minLength: 0 + type: string + email: + type: string + name: + maxLength: 30 + minLength: 1 + type: string + password: + type: string + required: + - password + type: object + domain.UpdateMyProfileResponse: + properties: + user: + properties: + accountId: + type: string + department: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + role: + $ref: '#/definitions/domain.Role' + type: object + type: object + domain.UpdateOrganizationRequest: + properties: + description: + maxLength: 100 + minLength: 0 + type: string + name: + maxLength: 30 + minLength: 1 + type: string + phone: + type: string + primaryClusterId: + type: string + required: + - name + type: object + domain.UpdateOrganizationResponse: + properties: + description: + type: string + id: + type: string + name: + type: string + phone: + type: string + type: object + domain.UpdatePasswordRequest: + properties: + newPassword: + type: string + originPassword: + type: string + required: + - newPassword + - originPassword + type: object + domain.UpdatePrimaryClusterRequest: + properties: + primaryClusterId: + type: string + type: object + domain.UpdateStackRequest: + properties: + description: + type: string + type: object + domain.UpdateStackTemplateRequest: + properties: + description: + type: string + type: object + domain.UpdateUserRequest: + properties: + department: + maxLength: 50 + minLength: 0 + type: string + description: + maxLength: 100 + minLength: 0 + type: string + email: + type: string + name: + maxLength: 30 + minLength: 1 + type: string + role: + enum: + - admin + - user + type: string + type: object + domain.UpdateUserResponse: + properties: + user: + properties: + accountId: + type: string + createdAt: + type: string + department: + type: string + description: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + role: + $ref: '#/definitions/domain.Role' + updatedAt: + type: string + type: object + type: object + domain.User: + properties: + accountId: + type: string + createdAt: + type: string + creator: + type: string + department: + type: string + description: + type: string + email: + type: string + id: + type: string + name: + type: string + organization: + $ref: '#/definitions/domain.Organization' + password: + type: string + passwordExpired: + type: boolean + passwordUpdatedAt: + type: string + role: + $ref: '#/definitions/domain.Role' + token: + type: string + updatedAt: + type: string + type: object + domain.VerifyIdentityForLostIdRequest: + properties: + email: + type: string + organizationId: + type: string + userName: + type: string + required: + - email + - organizationId + - userName + type: object + domain.VerifyIdentityForLostIdResponse: + properties: + validityPeriod: + type: string + type: object + domain.VerifyIdentityForLostPasswordRequest: + properties: + accountId: + type: string + email: + type: string + organizationId: + type: string + userName: + type: string + required: + - accountId + - email + - organizationId + - userName + type: object + domain.VerifyIdentityForLostPasswordResponse: + properties: + validityPeriod: + type: string + type: object + httpErrors.RestError: + properties: + code: + type: string + message: + type: string + status: + type: integer + text: + type: string + type: object +host: tks-api-ft.taco-cat.xyz +info: + contact: + email: taekyu.kang@sk.com + name: taekyu.kang@sk.com + description: This is backend api service for tks platform + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + title: tks-api service + version: "1.0" +paths: + /app-groups: + delete: + consumes: + - application/json + description: Uninstall appGroup + parameters: + - description: body + in: body + name: object + required: true + schema: + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Uninstall appGroup + tags: + - AppGroups + get: + consumes: + - application/json + description: Get appGroup list by giving params + parameters: + - description: clusterId + in: query + name: clusterId + type: string + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetAppGroupsResponse' + security: + - JWT: [] + summary: Get appGroup list + tags: + - AppGroups + post: + consumes: + - application/json + description: Install appGroup + parameters: + - description: create appgroup request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateAppGroupRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CreateAppGroupResponse' + security: + - JWT: [] + summary: Install appGroup + tags: + - AppGroups + /app-groups/{appGroupId}: + get: + consumes: + - application/json + description: Get appGroup detail by appGroupId + parameters: + - description: appGroupId + in: path + name: appGroupId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetAppGroupResponse' + security: + - JWT: [] + summary: Get appGroup detail + tags: + - AppGroups + /app-groups/{appGroupId}/applications: + get: + consumes: + - application/json + description: Get applications + parameters: + - description: appGroupId + in: path + name: appGroupId + required: true + type: string + - description: applicationType + in: query + name: applicationType + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetApplicationsResponse' + security: + - JWT: [] + summary: Get applications + tags: + - AppGroups + post: + consumes: + - application/json + description: Create application + parameters: + - description: body + in: body + name: object + required: true + schema: + $ref: '#/definitions/domain.CreateApplicationRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Create application + tags: + - AppGroups + /auth/find-id/code: + post: + consumes: + - application/json + description: This API allows users to verify their identity for lost id by submitting + required information + parameters: + - description: Request body for verifying identity for lost id including {organization + ID, email, username} + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.VerifyIdentityForLostIdRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.VerifyIdentityForLostIdResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/httpErrors.RestError' + summary: Request to verify identity for lost id + tags: + - Auth + /auth/find-id/verification: + post: + consumes: + - application/json + description: This API allows users to find their account ID by submitting required + information + parameters: + - description: Request body for finding the account ID including {organization + ID, email, username, 6 digit code} + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.FindIdRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.FindIdResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/httpErrors.RestError' + summary: Request to find forgotten ID + tags: + - Auth + /auth/find-password/code: + post: + consumes: + - application/json + description: This API allows users to verify their identity for lost password + by submitting required information + parameters: + - description: Request body for verifying identity for lost password including + {organization ID, email, username, Account ID} + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.VerifyIdentityForLostPasswordRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.VerifyIdentityForLostPasswordResponse' + "400": + description: Bad Request + schema: + $ref: '#/definitions/httpErrors.RestError' + summary: Request to verify identity for lost password + tags: + - Auth + /auth/find-password/verification: + post: + consumes: + - application/json + description: This API allows users to reset their forgotten password by submitting + required information + parameters: + - description: Request body for finding the password including {organization + ID, email, username, Account ID, 6 digit code} + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.FindPasswordRequest' + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/httpErrors.RestError' + summary: Request to find forgotten password + tags: + - Auth + /auth/login: + post: + consumes: + - application/json + description: login + parameters: + - description: account info + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.LoginRequest' + produces: + - application/json + responses: + "200": + description: user detail + schema: + $ref: '#/definitions/domain.LoginResponse' + summary: login + tags: + - Auth + /auth/logout: + post: + consumes: + - application/json + description: logout + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.LogoutResponse' + security: + - JWT: [] + summary: logout + tags: + - Auth + /auth/ping: + post: + consumes: + - application/json + description: ping with token + parameters: + - description: token info + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.PingTokenRequest' + produces: + - application/json + responses: + "200": + description: OK + summary: ping with token + tags: + - Auth + /clusters: + get: + consumes: + - application/json + description: Get cluster list + parameters: + - description: organizationId + in: query + name: organizationId + type: string + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetClustersResponse' + security: + - JWT: [] + summary: Get clusters + tags: + - Clusters + post: + consumes: + - application/json + description: Create cluster + parameters: + - description: create cluster request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateClusterRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CreateClusterResponse' + security: + - JWT: [] + summary: Create cluster + tags: + - Clusters + /clusters/{clusterId}: + delete: + consumes: + - application/json + description: Delete cluster + parameters: + - description: clusterId + in: path + name: clusterId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.Cluster' + security: + - JWT: [] + summary: Delete cluster + tags: + - Clusters + get: + consumes: + - application/json + description: Get cluster detail + parameters: + - description: clusterId + in: path + name: clusterId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.Cluster' + security: + - JWT: [] + summary: Get cluster + tags: + - Clusters + /clusters/{clusterId}/bootstrap-kubeconfig: + get: + consumes: + - application/json + description: Get bootstrap kubeconfig for BYOH + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetBootstrapKubeconfigResponse' + security: + - JWT: [] + summary: Get bootstrap kubeconfig for BYOH + tags: + - Clusters + post: + consumes: + - application/json + description: Create bootstrap kubeconfig for BYOH + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CreateBootstrapKubeconfigResponse' + security: + - JWT: [] + summary: Create bootstrap kubeconfig for BYOH + tags: + - Clusters + /clusters/{clusterId}/install: + post: + consumes: + - application/json + description: Install cluster on tks cluster + parameters: + - description: clusterId + in: path + name: clusterId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Install cluster on tks cluster + tags: + - Clusters + /clusters/{clusterId}/nodes: + get: + consumes: + - application/json + description: Get nodes information for BYOH + parameters: + - description: clusterId + in: path + name: clusterId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetClusterNodesResponse' + security: + - JWT: [] + summary: Get nodes information for BYOH + tags: + - Clusters + /clusters/{clusterId}/site-values: + get: + consumes: + - application/json + description: Get cluster site values for creating + parameters: + - description: clusterId + in: path + name: clusterId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.ClusterSiteValuesResponse' + security: + - JWT: [] + summary: Get cluster site values for creating + tags: + - Clusters + /clusters/import: + post: + consumes: + - application/json + description: Import cluster + parameters: + - description: import cluster request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.ImportClusterRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.ImportClusterResponse' + security: + - JWT: [] + summary: Import cluster + tags: + - Clusters + /organizations: + get: + consumes: + - application/json + description: Get organization list + parameters: + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/domain.ListOrganizationBody' + type: array + security: + - JWT: [] + summary: Get organization list + tags: + - Organizations + post: + consumes: + - application/json + description: Create organization + parameters: + - description: create organization request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateOrganizationRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + type: object + security: + - JWT: [] + summary: Create organization + tags: + - Organizations + /organizations/{organizationId}: + delete: + consumes: + - application/json + description: Delete organization + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.Organization' + security: + - JWT: [] + summary: Delete organization + tags: + - Organizations + get: + consumes: + - application/json + description: Get organization detail + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetOrganizationResponse' + security: + - JWT: [] + summary: Get organization detail + tags: + - Organizations + put: + consumes: + - application/json + description: Update organization detail + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: update organization request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateOrganizationRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.UpdateOrganizationResponse' + security: + - JWT: [] + summary: Update organization detail + tags: + - Organizations + /organizations/{organizationId}/alerts: + get: + consumes: + - application/json + description: Get Alerts + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetAlertsResponse' + security: + - JWT: [] + summary: Get Alerts + tags: + - Alerts + /organizations/{organizationId}/alerts/{alertId}: + delete: + consumes: + - application/json + description: Delete Alert + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: alertId + in: path + name: alertId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Delete Alert + tags: + - Alerts + get: + consumes: + - application/json + description: Get Alert + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: alertId + in: path + name: alertId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetAlertResponse' + security: + - JWT: [] + summary: Get Alert + tags: + - Alerts + put: + consumes: + - application/json + description: Update Alert + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: Update cloud setting request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateAlertRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Update Alert + tags: + - Alerts + /organizations/{organizationId}/alerts/{alertId}/actions: + post: + consumes: + - application/json + description: Create alert action + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Create alert action + tags: + - Alerts + /organizations/{organizationId}/app-serve-apps: + get: + consumes: + - application/json + description: Get appServeApp list by giving params + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: Show all apps including deleted apps + in: query + name: showAll + type: boolean + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/domain.AppServeApp' + type: array + security: + - JWT: [] + summary: Get appServeApp list + tags: + - AppServeApps + post: + consumes: + - application/json + description: Install appServeApp + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: Request body to create app + in: body + name: object + required: true + schema: + $ref: '#/definitions/domain.CreateAppServeAppRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + security: + - JWT: [] + summary: Install appServeApp + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/{appId}: + delete: + consumes: + - application/json + description: Uninstall appServeApp + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: App ID + in: path + name: appId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + security: + - JWT: [] + summary: Uninstall appServeApp + tags: + - AppServeApps + get: + consumes: + - application/json + description: Get appServeApp by giving params + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: App ID + in: path + name: appId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetAppServeAppResponse' + security: + - JWT: [] + summary: Get appServeApp + tags: + - AppServeApps + put: + consumes: + - application/json + description: Update appServeApp + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: App ID + in: path + name: appId + required: true + type: string + - description: Request body to update app + in: body + name: object + required: true + schema: + $ref: '#/definitions/domain.UpdateAppServeAppRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + security: + - JWT: [] + summary: Update appServeApp + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/{appId}/endpoint: + patch: + consumes: + - application/json + description: Update app endpoint + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: appId + in: path + name: appId + required: true + type: string + - description: Request body to update app endpoint + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateAppServeAppEndpointRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + security: + - JWT: [] + summary: Update app endpoint + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/{appId}/exist: + get: + consumes: + - application/json + description: Get appServeApp by giving params + produces: + - application/json + responses: + "200": + description: OK + schema: + type: boolean + security: + - JWT: [] + summary: Get appServeApp + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/{appId}/latest-task: + get: + consumes: + - application/json + description: Get latest task from appServeApp + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: App ID + in: path + name: appId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetAppServeAppTaskResponse' + security: + - JWT: [] + summary: Get latest task from appServeApp + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/{appId}/rollback: + post: + consumes: + - application/json + description: Rollback appServeApp + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: App ID + in: path + name: appId + required: true + type: string + - description: Request body to rollback app + in: body + name: object + required: true + schema: + $ref: '#/definitions/domain.RollbackAppServeAppRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + security: + - JWT: [] + summary: Rollback appServeApp + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/{appId}/status: + patch: + consumes: + - application/json + description: Update app status + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: App ID + in: path + name: appId + required: true + type: string + - description: Request body to update app status + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateAppServeAppStatusRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + type: string + security: + - JWT: [] + summary: Update app status + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/count: + get: + consumes: + - application/json + description: Get number of apps on given stack + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: Stack ID + in: query + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + type: integer + security: + - JWT: [] + summary: Get number of apps on given stack + tags: + - AppServeApps + /organizations/{organizationId}/app-serve-apps/name/{name}/existence: + get: + consumes: + - application/json + description: Check duplicate appServeAppName by giving params + parameters: + - description: Organization ID + in: path + name: organizationId + required: true + type: string + - description: name + in: path + name: name + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + type: boolean + security: + - JWT: [] + summary: Check duplicate appServeAppName + tags: + - AppServeApps + /organizations/{organizationId}/cloud-accounts: + get: + consumes: + - application/json + description: Get CloudAccounts + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetCloudAccountsResponse' + security: + - JWT: [] + summary: Get CloudAccounts + tags: + - CloudAccounts + post: + consumes: + - application/json + description: Create CloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: create cloud setting request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateCloudAccountRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CreateCloudAccountResponse' + security: + - JWT: [] + summary: Create CloudAccount + tags: + - CloudAccounts + /organizations/{organizationId}/cloud-accounts/{cloudAccountId}: + delete: + consumes: + - application/json + description: Delete CloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: Delete cloud setting request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.DeleteCloudAccountRequest' + - description: cloudAccountId + in: path + name: cloudAccountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Delete CloudAccount + tags: + - CloudAccounts + get: + consumes: + - application/json + description: Get CloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: cloudAccountId + in: path + name: cloudAccountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetCloudAccountResponse' + security: + - JWT: [] + summary: Get CloudAccount + tags: + - CloudAccounts + put: + consumes: + - application/json + description: Update CloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: Update cloud setting request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateCloudAccountRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Update CloudAccount + tags: + - CloudAccounts + /organizations/{organizationId}/cloud-accounts/{cloudAccountId}/error: + delete: + consumes: + - application/json + description: Delete Force CloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: cloudAccountId + in: path + name: cloudAccountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Delete Force CloudAccount + tags: + - CloudAccounts + /organizations/{organizationId}/cloud-accounts/{cloudAccountId}/quota: + get: + consumes: + - application/json + description: Get resource quota by cloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: cloudAccountId + in: path + name: cloudAccountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetCloudAccountResourceQuotaResponse' + security: + - JWT: [] + summary: Get resource quota by cloudAccount + tags: + - CloudAccounts + /organizations/{organizationId}/cloud-accounts/aws-account-id/{awsAccountId}/existence: + get: + consumes: + - application/json + description: Check awsAccountId for cloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: awsAccountId + in: path + name: awsAccountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CheckCloudAccountAwsAccountIdResponse' + security: + - JWT: [] + summary: Check awsAccountId for cloudAccount + tags: + - CloudAccounts + /organizations/{organizationId}/cloud-accounts/name/{name}/existence: + get: + consumes: + - application/json + description: Check name for cloudAccount + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: name + in: path + name: name + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CheckCloudAccountNameResponse' + security: + - JWT: [] + summary: Check name for cloudAccount + tags: + - CloudAccounts + /organizations/{organizationId}/dashboard/charts: + get: + consumes: + - application/json + description: Get charts data + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: chartType + in: query + name: chartType + type: string + - description: duration + in: query + name: duration + required: true + type: string + - description: interval + in: query + name: interval + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetDashboardChartsResponse' + security: + - JWT: [] + summary: Get charts data + tags: + - Dashboards + /organizations/{organizationId}/dashboard/charts/{chartType}: + get: + consumes: + - application/json + description: Get chart data + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: chartType + in: path + name: chartType + required: true + type: string + - description: duration + in: query + name: duration + required: true + type: string + - description: interval + in: query + name: interval + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetDashboardChartResponse' + security: + - JWT: [] + summary: Get chart data + tags: + - Dashboards + /organizations/{organizationId}/dashboard/resources: + get: + consumes: + - application/json + description: Get resources + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetDashboardResourcesResponse' + security: + - JWT: [] + summary: Get resources + tags: + - Dashboards + /organizations/{organizationId}/dashboard/stacks: + get: + consumes: + - application/json + description: Get stacks + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetDashboardStacksResponse' + security: + - JWT: [] + summary: Get stacks + tags: + - Dashboards + /organizations/{organizationId}/my-profile: + delete: + consumes: + - application/json + description: Delete myProfile + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + security: + - JWT: [] + summary: Delete myProfile + tags: + - My-profile + get: + consumes: + - application/json + description: Get my profile detail + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetMyProfileResponse' + security: + - JWT: [] + summary: Get my profile detail + tags: + - My-profile + put: + consumes: + - application/json + description: Update my profile detail + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: 'Required fields: password due to double-check' + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateMyProfileRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.UpdateMyProfileResponse' + security: + - JWT: [] + summary: Update my profile detail + tags: + - My-profile + /organizations/{organizationId}/my-profile/next-password-change: + put: + consumes: + - application/json + description: Update user's password expired date to current date + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + "400": + description: Bad Request + schema: + $ref: '#/definitions/httpErrors.RestError' + security: + - JWT: [] + summary: Update user's password expired date to current date + tags: + - My-profile + /organizations/{organizationId}/my-profile/password: + put: + consumes: + - application/json + description: Update user password detail + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: update user password request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdatePasswordRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Update user password detail + tags: + - My-profile + /organizations/{organizationId}/primary-cluster: + patch: + consumes: + - application/json + description: Update primary cluster + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: update primary cluster request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdatePrimaryClusterRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Update primary cluster + tags: + - Organizations + /organizations/{organizationId}/stacks: + get: + consumes: + - application/json + description: Get Stacks + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: combinedFilter + in: query + name: combinedFilter + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetStacksResponse' + security: + - JWT: [] + summary: Get Stacks + tags: + - Stacks + post: + consumes: + - application/json + description: Create Stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: create cloud setting request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateStackRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CreateStackResponse' + security: + - JWT: [] + summary: Create Stack + tags: + - Stacks + /organizations/{organizationId}/stacks/{stackId}: + delete: + consumes: + - application/json + description: Delete Stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Delete Stack + tags: + - Stacks + get: + consumes: + - application/json + description: Get Stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetStackResponse' + security: + - JWT: [] + summary: Get Stack + tags: + - Stacks + put: + consumes: + - application/json + description: Update Stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + - description: Update cloud setting request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateStackRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Update Stack + tags: + - Stacks + /organizations/{organizationId}/stacks/{stackId}/favorite: + delete: + consumes: + - application/json + description: Delete favorite stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Delete favorite stack + tags: + - Stacks + post: + consumes: + - application/json + description: Set favorite stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Set favorite stack + tags: + - Stacks + /organizations/{organizationId}/stacks/{stackId}/kube-config: + get: + consumes: + - application/json + description: Get KubeConfig by stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: organizationId + in: path + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetStackKubeConfigResponse' + security: + - JWT: [] + summary: Get KubeConfig by stack + tags: + - Stacks + /organizations/{organizationId}/stacks/{stackId}/status: + get: + consumes: + - application/json + description: Get Stack Status + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetStackStatusResponse' + security: + - JWT: [] + summary: Get Stack Status + tags: + - Stacks + /organizations/{organizationId}/stacks/name/{name}/existence: + get: + consumes: + - application/json + description: Check name for stack + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: stackId + in: path + name: stackId + required: true + type: string + - description: name + in: path + name: name + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Check name for stack + tags: + - Stacks + /organizations/{organizationId}/users: + get: + consumes: + - application/json + description: Get user list + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + items: + $ref: '#/definitions/domain.ListUserBody' + type: array + security: + - JWT: [] + summary: Get user list + tags: + - Users + post: + consumes: + - application/json + description: Create user + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: create user request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateUserRequest' + produces: + - application/json + responses: + "200": + description: create user response + schema: + $ref: '#/definitions/domain.CreateUserResponse' + security: + - JWT: [] + summary: Create user + tags: + - Users + /organizations/{organizationId}/users/{accountId}: + delete: + consumes: + - application/json + description: Delete user + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: accountId + in: path + name: accountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.User' + security: + - JWT: [] + summary: Delete user + tags: + - Users + get: + consumes: + - application/json + description: Get user detail + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: accountId + in: path + name: accountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetUserResponse' + security: + - JWT: [] + summary: Get user detail + tags: + - Users + put: + consumes: + - application/json + description: Update user + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: accountId + in: path + name: accountId + required: true + type: string + - description: input + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateUserRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.UpdateUserResponse' + security: + - JWT: [] + summary: Update user + tags: + - Users + /organizations/{organizationId}/users/{accountId}/reset-password: + put: + consumes: + - application/json + description: Reset user's password as temporary password by admin and send email + to user + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: accountId + in: path + name: accountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Reset user's password as temporary password by admin + tags: + - Users + /organizations/{organizationId}/users/account-id/{accountId}/existence: + get: + description: return true when accountId exists + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: accountId + in: path + name: accountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CheckExistedResponse' + security: + - JWT: [] + summary: Get user id existence + tags: + - Users + /organizations/{organizationId}/users/email/{email}/existence: + get: + description: return true when email exists + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + - description: email + in: path + name: accountId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CheckExistedResponse' + security: + - JWT: [] + summary: Get user email existence + tags: + - Users + /stack-templates: + get: + consumes: + - application/json + description: Get StackTemplates + parameters: + - description: pageSize + in: query + name: limit + type: string + - description: pageNumber + in: query + name: page + type: string + - description: sortColumn + in: query + name: soertColumn + type: string + - description: sortOrder + in: query + name: sortOrder + type: string + - description: filters + in: query + items: + type: string + name: filters + type: array + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetStackTemplatesResponse' + security: + - JWT: [] + summary: Get StackTemplates + tags: + - StackTemplates + post: + consumes: + - application/json + description: Create StackTemplate + parameters: + - description: create stack template request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.CreateStackTemplateRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.CreateStackTemplateResponse' + security: + - JWT: [] + summary: Create StackTemplate 'NOT IMPLEMENTED' + tags: + - StackTemplates + /stack-templates/{stackTemplateId}: + delete: + consumes: + - application/json + description: Delete StackTemplate + parameters: + - description: stackTemplateId + in: path + name: stackTemplateId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Delete StackTemplate 'NOT IMPLEMENTED' + tags: + - StackTemplates + get: + consumes: + - application/json + description: Get StackTemplate + parameters: + - description: stackTemplateId + in: path + name: stackTemplateId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/domain.GetStackTemplateResponse' + security: + - JWT: [] + summary: Get StackTemplate + tags: + - StackTemplates + put: + consumes: + - application/json + description: Update StackTemplate + parameters: + - description: Update stack template request + in: body + name: body + required: true + schema: + $ref: '#/definitions/domain.UpdateStackTemplateRequest' + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Update StackTemplate 'NOT IMPLEMENTED' + tags: + - StackTemplates + /system-api/organizations/{organizationId}/alerts: + post: + consumes: + - application/json + description: Create alert. ADMIN ONLY + parameters: + - description: organizationId + in: path + name: organizationId + required: true + type: string + produces: + - application/json + responses: + "200": + description: OK + security: + - JWT: [] + summary: Create alert. ADMIN ONLY + tags: + - Alerts +securityDefinitions: + JWT: + in: header + name: Authorization + type: apiKey +swagger: "2.0"