Cyclops 4 HPC is the purpose built stack to support large HPC centers with resource accounting and billing of cluster as well as cloud resources.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cyclops-4-hpc/services/plan-manager/restapi/embedded_spec.go

2887 lines
71 KiB

// Code generated by go-swagger; DO NOT EDIT.
package restapi
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"encoding/json"
)
var (
// SwaggerJSON embedded version of the swagger document used at generation time
SwaggerJSON json.RawMessage
// FlatSwaggerJSON embedded flattened version of the swagger document used at generation time
FlatSwaggerJSON json.RawMessage
)
func init() {
SwaggerJSON = json.RawMessage([]byte(`{
"schemes": [
"http",
"https"
],
"swagger": "2.0",
"info": {
"description": "An API which supports creation, deletion, listing etc of Plan Manager",
"title": "Plan Manager Management API",
"contact": {
"email": "sean@cyclops-labs.io"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0.0"
},
"host": "localhost:8000",
"basePath": "/api/v1.0",
"paths": {
"/cycle": {
"get": {
"description": "lists all cycles",
"tags": [
"cycleManagement"
],
"summary": "List all cycles",
"operationId": "listCycles",
"parameters": [
{
"type": "string",
"description": "state to filter",
"name": "state",
"in": "query"
},
{
"type": "string",
"description": "resource type to filter",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "list of cycles returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Cycle"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new cycle",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"cycleManagement"
],
"summary": "Create a plan",
"operationId": "createCycle",
"parameters": [
{
"description": "Cycle to be added",
"name": "cycle",
"in": "body",
"schema": {
"$ref": "#/definitions/Cycle"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/cycle/{id}": {
"get": {
"description": "get cycle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"cycleManagement"
],
"summary": "Get specific cycle",
"operationId": "getCycle",
"parameters": [
{
"type": "string",
"description": "Id of cycle to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "cycle returned",
"schema": {
"$ref": "#/definitions/Cycle"
}
},
"404": {
"description": "cycle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update cycle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"cycleManagement"
],
"summary": "Update specific cycle",
"operationId": "updateCycle",
"parameters": [
{
"type": "string",
"description": "Id of cycle to be updated",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated cycle containing all parameters except id",
"name": "cycle",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Cycle"
}
}
],
"responses": {
"200": {
"description": "updated cycle",
"schema": {
"$ref": "#/definitions/Cycle"
}
},
"404": {
"description": "cycle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan": {
"get": {
"description": "lists all plans (tbd - pagination?)",
"tags": [
"planManagement"
],
"summary": "List all plans",
"operationId": "listPlans",
"responses": {
"200": {
"description": "list of plans returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Plan"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new plan",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Create a plan",
"operationId": "createPlan",
"parameters": [
{
"description": "Plan to be added",
"name": "plan",
"in": "body",
"schema": {
"$ref": "#/definitions/Plan"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan/complete": {
"get": {
"description": "Obtains full information on all known plans",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Get full information relating to known plans",
"operationId": "listCompletePlans",
"responses": {
"200": {
"description": "Set of known plans returned in full",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Plan"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan/complete/{id}": {
"get": {
"description": "gets complete plan with planid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Get complete plan",
"operationId": "getCompletePlan",
"parameters": [
{
"type": "string",
"description": "Id of plan to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "plan returned",
"schema": {
"$ref": "#/definitions/Plan"
}
},
"404": {
"description": "complete plan with planid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan/{id}": {
"get": {
"description": "get plan with given planid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Get specific plan",
"operationId": "getPlan",
"parameters": [
{
"type": "string",
"description": "Id of plan to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "plan returned",
"schema": {
"$ref": "#/definitions/Plan"
}
},
"404": {
"description": "plan with planid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update plan with given planId",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Update specific plan",
"operationId": "updatePlan",
"parameters": [
{
"type": "string",
"description": "Id of plan to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated plan containing all parameters except id",
"name": "plan",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Plan"
}
}
],
"responses": {
"200": {
"description": "updated plan",
"schema": {
"$ref": "#/definitions/Plan"
}
},
"404": {
"description": "plan with planid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku": {
"get": {
"description": "lists all skus",
"tags": [
"skuManagement"
],
"summary": "list SKUs",
"operationId": "listSkus",
"responses": {
"200": {
"description": "list of skus returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Sku"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new sku",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"skuManagement"
],
"summary": "create SKU",
"operationId": "createSku",
"parameters": [
{
"description": "SKU to be added",
"name": "sku",
"in": "body",
"schema": {
"$ref": "#/definitions/Sku"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/bundle": {
"get": {
"description": "lists all sku bundles",
"tags": [
"bundleManagement"
],
"summary": "list SKU Bundles",
"operationId": "listSkuBundles",
"responses": {
"200": {
"description": "list of skus bundles returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SkuBundle"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new sku bundle",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "create SKU bundle",
"operationId": "createSkuBundle",
"parameters": [
{
"description": "SKU bundle to be added",
"name": "bundle",
"in": "body",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/bundle/name/{name}": {
"get": {
"description": "get sku bundle with given name",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "Get specific sku bundle",
"operationId": "getSkuBundleByName",
"parameters": [
{
"type": "string",
"description": "Id of sku bundle to be obtained",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku bundle returned",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
},
"404": {
"description": "sku bundle with name not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/bundle/{id}": {
"get": {
"description": "get sku bundle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "Get specific sku bundle",
"operationId": "getSkuBundle",
"parameters": [
{
"type": "string",
"description": "Id of sku bundle to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku bundle returned",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
},
"404": {
"description": "sku bundle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update sku bundle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "Update specific sku bundle",
"operationId": "updateSkuBundle",
"parameters": [
{
"type": "string",
"description": "Id of sku bundle to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated sku bundle containing all parameters except id",
"name": "bundle",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SkuBundle"
}
}
],
"responses": {
"200": {
"description": "updated sku bundle",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
},
"404": {
"description": "sku bundle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/price": {
"get": {
"description": "lists all sku prices",
"tags": [
"priceManagement"
],
"summary": "list SKU Prices",
"operationId": "listSkuPrices",
"responses": {
"200": {
"description": "list of skus prices returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SkuPrice"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new sku price",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"priceManagement"
],
"summary": "create SKU price",
"operationId": "createSkuPrice",
"parameters": [
{
"description": "SKU price to be added",
"name": "price",
"in": "body",
"schema": {
"$ref": "#/definitions/SkuPrice"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/price/{id}": {
"get": {
"description": "get sku price with given skupriceid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"priceManagement"
],
"summary": "Get specific sku price",
"operationId": "getSkuPrice",
"parameters": [
{
"type": "string",
"description": "Id of sku price to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku price returned",
"schema": {
"$ref": "#/definitions/SkuPrice"
}
},
"404": {
"description": "sku price with skupriceid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update sku price with given skupriceid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"priceManagement"
],
"summary": "Update specific sku price",
"operationId": "updateSkuPrice",
"parameters": [
{
"type": "string",
"description": "Id of sku price to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated sku containing all parameters except id",
"name": "price",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SkuPrice"
}
}
],
"responses": {
"200": {
"description": "updated sku price",
"schema": {
"$ref": "#/definitions/SkuPrice"
}
},
"404": {
"description": "sku price with skupriceid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/{id}": {
"get": {
"description": "get sku with given skuid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"skuManagement"
],
"summary": "Get specific sku",
"operationId": "getSku",
"parameters": [
{
"type": "string",
"description": "Id of sku to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku returned",
"schema": {
"$ref": "#/definitions/Sku"
}
},
"404": {
"description": "sku with skuid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update sku with given skuid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"skuManagement"
],
"summary": "Update specific sku",
"operationId": "updateSku",
"parameters": [
{
"type": "string",
"description": "Id of sku to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated sku containing all parameters except id",
"name": "sku",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Sku"
}
}
],
"responses": {
"200": {
"description": "updated sku",
"schema": {
"$ref": "#/definitions/Sku"
}
},
"404": {
"description": "sku with skuid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/status": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"statusManagement"
],
"summary": "Basic status of the system",
"operationId": "showStatus",
"responses": {
"200": {
"description": "Status information of the system",
"schema": {
"$ref": "#/definitions/Status"
}
}
}
}
},
"/status/{id}": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"statusManagement"
],
"summary": "Basic status of the system",
"operationId": "getStatus",
"parameters": [
{
"enum": [
"kafka-receiver",
"kafka-sender",
"status",
"trigger",
"bundle",
"cycle",
"plan",
"price",
"sku"
],
"type": "string",
"description": "Id of the endpoint to be checked",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Status information of the system",
"schema": {
"$ref": "#/definitions/Status"
}
},
"404": {
"description": "The endpoint provided doesn't exist",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/trigger/sample": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"triggerManagement"
],
"summary": "Sample task trigger",
"operationId": "execSample",
"responses": {
"200": {
"description": "Sample task executed successfully"
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
}
},
"definitions": {
"Cycle": {
"type": "object",
"required": [
"State",
"ResourceType",
"SkuList"
],
"properties": {
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"ResourceType": {
"type": "string"
},
"SkuList": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"State": {
"type": "string"
}
}
},
"ErrorResponse": {
"type": "object",
"required": [
"errorString"
],
"properties": {
"errorString": {
"type": "string"
}
}
},
"ItemCreatedResponse": {
"properties": {
"ID": {
"type": "string"
},
"Link": {
"type": "string"
},
"Message": {
"type": "string"
}
}
},
"Metadata": {
"type": "object",
"x-go-type": {
"import": {
"package": "gitlab.com/cyclops-utilities/datamodels"
},
"type": "JSONdb"
}
},
"Plan": {
"type": "object",
"required": [
"Name",
"OfferedEndDate",
"OfferedStartDate"
],
"properties": {
"Discount": {
"type": "number",
"format": "double",
"default": 0,
"x-go-custom-tag": "gorm:\"type:numeric(23,13);default:0.0\""
},
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"Name": {
"type": "string",
"example": "Standard 3 year plan starting 1/1/2019"
},
"OfferedEndDate": {
"type": "string",
"format": "date",
"x-go-custom-tag": "gorm:\"type:date\"",
"example": "2016-08-29"
},
"OfferedStartDate": {
"type": "string",
"format": "date",
"x-go-custom-tag": "gorm:\"type:date\"",
"example": "2016-08-29"
},
"SkuPrices": {
"type": "array",
"items": {
"$ref": "#/definitions/SkuPrice"
},
"x-go-custom-tag": "gorm:\"-\""
}
}
},
"Sku": {
"type": "object",
"required": [
"Name"
],
"properties": {
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"Name": {
"type": "string",
"example": "Standard 3 year plan starting 1/1/2019"
},
"Unit": {
"type": "string"
}
}
},
"SkuBundle": {
"type": "object",
"required": [
"Name"
],
"properties": {
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"Name": {
"type": "string"
},
"SkuPrices": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
}
}
},
"SkuPrice": {
"type": "object",
"required": [
"PlanID",
"SkuID",
"Unit",
"UnitPrice"
],
"properties": {
"AccountingMode": {
"type": "string",
"default": "CREDIT",
"enum": [
"CREDIT",
"CASH",
"BOTH",
"NONE"
],
"x-go-custom-tag": "gorm:\"index;default:CREDIT\""
},
"Discount": {
"type": "number",
"format": "double",
"default": 0,
"x-go-custom-tag": "gorm:\"type:numeric(23,13);default:0.0\""
},
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"PlanID": {
"type": "string"
},
"SkuID": {
"type": "string"
},
"SkuName": {
"type": "string"
},
"Unit": {
"type": "string"
},
"UnitCreditPrice": {
"type": "number",
"format": "double",
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
},
"UnitPrice": {
"type": "number",
"format": "double",
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
}
}
},
"Status": {
"type": "object",
"required": [
"SystemState"
],
"properties": {
"AverageResponseTime": {
"type": "number",
"format": "double"
},
"DBState": {
"type": "string"
},
"LastRequest": {
"type": "string"
},
"RequestsBoT": {
"type": "integer"
},
"RequestsLastHour": {
"type": "integer"
},
"RequestsToday": {
"type": "integer"
},
"SystemState": {
"type": "string"
}
}
}
},
"securityDefinitions": {
"APIKeyHeader": {
"type": "apiKey",
"name": "X-API-KEY",
"in": "header"
},
"APIKeyParam": {
"type": "apiKey",
"name": "api_key",
"in": "query"
},
"Keycloak": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/auth",
"tokenUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/token",
"scopes": {
"admin": "Admin scope",
"user": "User scope"
}
}
},
"security": [
{
"Keycloak": [
"user",
"admin"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"tags": [
{
"description": "Actions relating to the reporting of the state of the service",
"name": "statusManagement"
},
{
"description": "Actions relating to the periodics actions to be triggered in the system",
"name": "triggerManagement"
},
{
"description": "Actions relating to management of sku bundles",
"name": "bundleManagement"
},
{
"description": "Actions relating to management of life cycles",
"name": "cycleManagement"
},
{
"description": "Actions relating to management of plans",
"name": "planManagement"
},
{
"description": "Actions relating to management of sku prices",
"name": "priceManagement"
},
{
"description": "Actions relating to management of skus and prices",
"name": "skuManagement"
}
]
}`))
FlatSwaggerJSON = json.RawMessage([]byte(`{
"schemes": [
"http",
"https"
],
"swagger": "2.0",
"info": {
"description": "An API which supports creation, deletion, listing etc of Plan Manager",
"title": "Plan Manager Management API",
"contact": {
"email": "sean@cyclops-labs.io"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0.0"
},
"host": "localhost:8000",
"basePath": "/api/v1.0",
"paths": {
"/cycle": {
"get": {
"description": "lists all cycles",
"tags": [
"cycleManagement"
],
"summary": "List all cycles",
"operationId": "listCycles",
"parameters": [
{
"type": "string",
"description": "state to filter",
"name": "state",
"in": "query"
},
{
"type": "string",
"description": "resource type to filter",
"name": "type",
"in": "query"
}
],
"responses": {
"200": {
"description": "list of cycles returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Cycle"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new cycle",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"cycleManagement"
],
"summary": "Create a plan",
"operationId": "createCycle",
"parameters": [
{
"description": "Cycle to be added",
"name": "cycle",
"in": "body",
"schema": {
"$ref": "#/definitions/Cycle"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/cycle/{id}": {
"get": {
"description": "get cycle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"cycleManagement"
],
"summary": "Get specific cycle",
"operationId": "getCycle",
"parameters": [
{
"type": "string",
"description": "Id of cycle to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "cycle returned",
"schema": {
"$ref": "#/definitions/Cycle"
}
},
"404": {
"description": "cycle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update cycle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"cycleManagement"
],
"summary": "Update specific cycle",
"operationId": "updateCycle",
"parameters": [
{
"type": "string",
"description": "Id of cycle to be updated",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated cycle containing all parameters except id",
"name": "cycle",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Cycle"
}
}
],
"responses": {
"200": {
"description": "updated cycle",
"schema": {
"$ref": "#/definitions/Cycle"
}
},
"404": {
"description": "cycle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan": {
"get": {
"description": "lists all plans (tbd - pagination?)",
"tags": [
"planManagement"
],
"summary": "List all plans",
"operationId": "listPlans",
"responses": {
"200": {
"description": "list of plans returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Plan"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new plan",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Create a plan",
"operationId": "createPlan",
"parameters": [
{
"description": "Plan to be added",
"name": "plan",
"in": "body",
"schema": {
"$ref": "#/definitions/Plan"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan/complete": {
"get": {
"description": "Obtains full information on all known plans",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Get full information relating to known plans",
"operationId": "listCompletePlans",
"responses": {
"200": {
"description": "Set of known plans returned in full",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Plan"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan/complete/{id}": {
"get": {
"description": "gets complete plan with planid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Get complete plan",
"operationId": "getCompletePlan",
"parameters": [
{
"type": "string",
"description": "Id of plan to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "plan returned",
"schema": {
"$ref": "#/definitions/Plan"
}
},
"404": {
"description": "complete plan with planid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/plan/{id}": {
"get": {
"description": "get plan with given planid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Get specific plan",
"operationId": "getPlan",
"parameters": [
{
"type": "string",
"description": "Id of plan to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "plan returned",
"schema": {
"$ref": "#/definitions/Plan"
}
},
"404": {
"description": "plan with planid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update plan with given planId",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"planManagement"
],
"summary": "Update specific plan",
"operationId": "updatePlan",
"parameters": [
{
"type": "string",
"description": "Id of plan to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated plan containing all parameters except id",
"name": "plan",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Plan"
}
}
],
"responses": {
"200": {
"description": "updated plan",
"schema": {
"$ref": "#/definitions/Plan"
}
},
"404": {
"description": "plan with planid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku": {
"get": {
"description": "lists all skus",
"tags": [
"skuManagement"
],
"summary": "list SKUs",
"operationId": "listSkus",
"responses": {
"200": {
"description": "list of skus returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Sku"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new sku",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"skuManagement"
],
"summary": "create SKU",
"operationId": "createSku",
"parameters": [
{
"description": "SKU to be added",
"name": "sku",
"in": "body",
"schema": {
"$ref": "#/definitions/Sku"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/bundle": {
"get": {
"description": "lists all sku bundles",
"tags": [
"bundleManagement"
],
"summary": "list SKU Bundles",
"operationId": "listSkuBundles",
"responses": {
"200": {
"description": "list of skus bundles returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SkuBundle"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new sku bundle",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "create SKU bundle",
"operationId": "createSkuBundle",
"parameters": [
{
"description": "SKU bundle to be added",
"name": "bundle",
"in": "body",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/bundle/name/{name}": {
"get": {
"description": "get sku bundle with given name",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "Get specific sku bundle",
"operationId": "getSkuBundleByName",
"parameters": [
{
"type": "string",
"description": "Id of sku bundle to be obtained",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku bundle returned",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
},
"404": {
"description": "sku bundle with name not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/bundle/{id}": {
"get": {
"description": "get sku bundle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "Get specific sku bundle",
"operationId": "getSkuBundle",
"parameters": [
{
"type": "string",
"description": "Id of sku bundle to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku bundle returned",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
},
"404": {
"description": "sku bundle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update sku bundle with given id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"bundleManagement"
],
"summary": "Update specific sku bundle",
"operationId": "updateSkuBundle",
"parameters": [
{
"type": "string",
"description": "Id of sku bundle to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated sku bundle containing all parameters except id",
"name": "bundle",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SkuBundle"
}
}
],
"responses": {
"200": {
"description": "updated sku bundle",
"schema": {
"$ref": "#/definitions/SkuBundle"
}
},
"404": {
"description": "sku bundle with id not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/price": {
"get": {
"description": "lists all sku prices",
"tags": [
"priceManagement"
],
"summary": "list SKU Prices",
"operationId": "listSkuPrices",
"responses": {
"200": {
"description": "list of skus prices returned",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SkuPrice"
}
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"post": {
"description": "Creates a new sku price",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"priceManagement"
],
"summary": "create SKU price",
"operationId": "createSkuPrice",
"parameters": [
{
"description": "SKU price to be added",
"name": "price",
"in": "body",
"schema": {
"$ref": "#/definitions/SkuPrice"
}
}
],
"responses": {
"201": {
"description": "item created",
"schema": {
"$ref": "#/definitions/ItemCreatedResponse"
}
},
"400": {
"description": "invalid input, object invalid"
},
"409": {
"description": "an existing item already exists",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/price/{id}": {
"get": {
"description": "get sku price with given skupriceid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"priceManagement"
],
"summary": "Get specific sku price",
"operationId": "getSkuPrice",
"parameters": [
{
"type": "string",
"description": "Id of sku price to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku price returned",
"schema": {
"$ref": "#/definitions/SkuPrice"
}
},
"404": {
"description": "sku price with skupriceid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update sku price with given skupriceid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"priceManagement"
],
"summary": "Update specific sku price",
"operationId": "updateSkuPrice",
"parameters": [
{
"type": "string",
"description": "Id of sku price to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated sku containing all parameters except id",
"name": "price",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SkuPrice"
}
}
],
"responses": {
"200": {
"description": "updated sku price",
"schema": {
"$ref": "#/definitions/SkuPrice"
}
},
"404": {
"description": "sku price with skupriceid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/sku/{id}": {
"get": {
"description": "get sku with given skuid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"skuManagement"
],
"summary": "Get specific sku",
"operationId": "getSku",
"parameters": [
{
"type": "string",
"description": "Id of sku to be obtained",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "sku returned",
"schema": {
"$ref": "#/definitions/Sku"
}
},
"404": {
"description": "sku with skuid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
},
"put": {
"description": "Update sku with given skuid",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"skuManagement"
],
"summary": "Update specific sku",
"operationId": "updateSku",
"parameters": [
{
"type": "string",
"description": "Id of sku to be obtained",
"name": "id",
"in": "path",
"required": true
},
{
"description": "updated sku containing all parameters except id",
"name": "sku",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Sku"
}
}
],
"responses": {
"200": {
"description": "updated sku",
"schema": {
"$ref": "#/definitions/Sku"
}
},
"404": {
"description": "sku with skuid not found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/status": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"statusManagement"
],
"summary": "Basic status of the system",
"operationId": "showStatus",
"responses": {
"200": {
"description": "Status information of the system",
"schema": {
"$ref": "#/definitions/Status"
}
}
}
}
},
"/status/{id}": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"statusManagement"
],
"summary": "Basic status of the system",
"operationId": "getStatus",
"parameters": [
{
"enum": [
"kafka-receiver",
"kafka-sender",
"status",
"trigger",
"bundle",
"cycle",
"plan",
"price",
"sku"
],
"type": "string",
"description": "Id of the endpoint to be checked",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "Status information of the system",
"schema": {
"$ref": "#/definitions/Status"
}
},
"404": {
"description": "The endpoint provided doesn't exist",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/trigger/sample": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"triggerManagement"
],
"summary": "Sample task trigger",
"operationId": "execSample",
"responses": {
"200": {
"description": "Sample task executed successfully"
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
}
},
"definitions": {
"Cycle": {
"type": "object",
"required": [
"State",
"ResourceType",
"SkuList"
],
"properties": {
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"ResourceType": {
"type": "string"
},
"SkuList": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"State": {
"type": "string"
}
}
},
"ErrorResponse": {
"type": "object",
"required": [
"errorString"
],
"properties": {
"errorString": {
"type": "string"
}
}
},
"ItemCreatedResponse": {
"properties": {
"ID": {
"type": "string"
},
"Link": {
"type": "string"
},
"Message": {
"type": "string"
}
}
},
"Metadata": {
"type": "object",
"x-go-type": {
"import": {
"package": "gitlab.com/cyclops-utilities/datamodels"
},
"type": "JSONdb"
}
},
"Plan": {
"type": "object",
"required": [
"Name",
"OfferedEndDate",
"OfferedStartDate"
],
"properties": {
"Discount": {
"type": "number",
"format": "double",
"default": 0,
"x-go-custom-tag": "gorm:\"type:numeric(23,13);default:0.0\""
},
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"Name": {
"type": "string",
"example": "Standard 3 year plan starting 1/1/2019"
},
"OfferedEndDate": {
"type": "string",
"format": "date",
"x-go-custom-tag": "gorm:\"type:date\"",
"example": "2016-08-29"
},
"OfferedStartDate": {
"type": "string",
"format": "date",
"x-go-custom-tag": "gorm:\"type:date\"",
"example": "2016-08-29"
},
"SkuPrices": {
"type": "array",
"items": {
"$ref": "#/definitions/SkuPrice"
},
"x-go-custom-tag": "gorm:\"-\""
}
}
},
"Sku": {
"type": "object",
"required": [
"Name"
],
"properties": {
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"Name": {
"type": "string",
"example": "Standard 3 year plan starting 1/1/2019"
},
"Unit": {
"type": "string"
}
}
},
"SkuBundle": {
"type": "object",
"required": [
"Name"
],
"properties": {
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"Name": {
"type": "string"
},
"SkuPrices": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
}
}
},
"SkuPrice": {
"type": "object",
"required": [
"PlanID",
"SkuID",
"Unit",
"UnitPrice"
],
"properties": {
"AccountingMode": {
"type": "string",
"default": "CREDIT",
"enum": [
"CREDIT",
"CASH",
"BOTH",
"NONE"
],
"x-go-custom-tag": "gorm:\"index;default:CREDIT\""
},
"Discount": {
"type": "number",
"format": "double",
"default": 0,
"x-go-custom-tag": "gorm:\"type:numeric(23,13);default:0.0\""
},
"ID": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid\""
},
"PlanID": {
"type": "string"
},
"SkuID": {
"type": "string"
},
"SkuName": {
"type": "string"
},
"Unit": {
"type": "string"
},
"UnitCreditPrice": {
"type": "number",
"format": "double",
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
},
"UnitPrice": {
"type": "number",
"format": "double",
"x-go-custom-tag": "gorm:\"type:numeric(23,13)\""
}
}
},
"Status": {
"type": "object",
"required": [
"SystemState"
],
"properties": {
"AverageResponseTime": {
"type": "number",
"format": "double"
},
"DBState": {
"type": "string"
},
"LastRequest": {
"type": "string"
},
"RequestsBoT": {
"type": "integer"
},
"RequestsLastHour": {
"type": "integer"
},
"RequestsToday": {
"type": "integer"
},
"SystemState": {
"type": "string"
}
}
}
},
"securityDefinitions": {
"APIKeyHeader": {
"type": "apiKey",
"name": "X-API-KEY",
"in": "header"
},
"APIKeyParam": {
"type": "apiKey",
"name": "api_key",
"in": "query"
},
"Keycloak": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/auth",
"tokenUrl": "http://localhost:8080/auth/realms/Dev/protocol/openid-connect/token",
"scopes": {
"admin": "Admin scope",
"user": "User scope"
}
}
},
"security": [
{
"Keycloak": [
"admin",
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"tags": [
{
"description": "Actions relating to the reporting of the state of the service",
"name": "statusManagement"
},
{
"description": "Actions relating to the periodics actions to be triggered in the system",
"name": "triggerManagement"
},
{
"description": "Actions relating to management of sku bundles",
"name": "bundleManagement"
},
{
"description": "Actions relating to management of life cycles",
"name": "cycleManagement"
},
{
"description": "Actions relating to management of plans",
"name": "planManagement"
},
{
"description": "Actions relating to management of sku prices",
"name": "priceManagement"
},
{
"description": "Actions relating to management of skus and prices",
"name": "skuManagement"
}
]
}`))
}