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.
 
 
cyclops-4-hpc/services/udr/restapi/embedded_spec.go

1214 lines
29 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 UDR",
"title": "UDR Management API",
"contact": {
"email": "diego@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": {
"/metrics": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"metricsManagement"
],
"summary": "List of all metric types processed by the service",
"operationId": "getMetrics",
"responses": {
"200": {
"description": "Description of a successfully operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Metric"
}
}
},
"500": {
"description": "Something unexpected happend, error raised",
"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",
"metrics",
"usage"
],
"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/compact": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"triggerManagement"
],
"summary": "Compactation task trigger",
"operationId": "execCompactation",
"parameters": [
{
"type": "string",
"format": "datetime",
"description": "Datetime from which to get the usage report",
"name": "from",
"in": "query"
},
{
"type": "string",
"format": "datetime",
"description": "Datetime until which to get the usage report",
"name": "to",
"in": "query"
},
{
"type": "boolean",
"description": "Switch for using 15m boundaries instead of 8h",
"name": "fast_mode",
"in": "query"
}
],
"responses": {
"200": {
"description": "Compactation task executed successfully."
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/usage": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"usageManagement"
],
"summary": "Detailed report covering all accounts within the specified time window",
"operationId": "getSystemUsage",
"parameters": [
{
"type": "string",
"format": "datetime",
"description": "Datetime from which to get the usage report",
"name": "from",
"in": "query"
},
{
"type": "string",
"format": "datetime",
"description": "Datetime until which to get the usage report",
"name": "to",
"in": "query"
},
{
"type": "string",
"description": "Metric(s) to get the usage report",
"name": "metric",
"in": "query"
},
{
"type": "string",
"description": "List of ids to be queried",
"name": "idlist",
"in": "query"
}
],
"responses": {
"200": {
"description": "Description of a successfully operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UReport"
}
}
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/usage/{id}": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"usageManagement"
],
"summary": "Detailed report covering of the account associated with the id within the specified time window",
"operationId": "getUsage",
"parameters": [
{
"type": "string",
"description": "Id of the account to be checked",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"format": "datetime",
"description": "Datetime from which to get the usage report",
"name": "from",
"in": "query"
},
{
"type": "string",
"format": "datetime",
"description": "Datetime until which to get the usage report",
"name": "to",
"in": "query"
},
{
"type": "string",
"description": "Metric(s) to get the usage report",
"name": "metric",
"in": "query"
}
],
"responses": {
"200": {
"description": "Description of a successfully operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UReport"
}
}
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
}
},
"definitions": {
"ErrorResponse": {
"type": "object",
"required": [
"errorString"
],
"properties": {
"errorString": {
"type": "string"
}
}
},
"Metadata": {
"type": "object",
"x-go-type": {
"import": {
"package": "gitlab.com/cyclops-utilities/datamodels"
},
"type": "JSONdb"
}
},
"Metric": {
"type": "object",
"properties": {
"Metric": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key\""
}
}
},
"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"
}
}
},
"UDRRecord": {
"type": "object",
"properties": {
"AccountId": {
"type": "string",
"x-go-custom-tag": "gorm:\"index\""
},
"Metadata": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"ResourceId": {
"type": "string"
},
"ResourceName": {
"type": "string"
},
"ResourceType": {
"type": "string"
},
"TimeFrom": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"TimeTo": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"Unit": {
"type": "string"
},
"UsageBreakup": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
}
}
},
"UDRReport": {
"type": "object",
"properties": {
"Metadata": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"ResourceId": {
"type": "string"
},
"ResourceName": {
"type": "string"
},
"ResourceType": {
"type": "string"
},
"Unit": {
"type": "string"
},
"UsageBreakup": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
}
}
},
"UReport": {
"type": "object",
"properties": {
"AccountId": {
"type": "string",
"x-go-custom-tag": "gorm:\"index\""
},
"TimeFrom": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"TimeTo": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"Usage": {
"type": "array",
"items": {
"$ref": "#/definitions/UDRReport"
},
"x-go-custom-tag": "gorm:\"-\""
}
}
},
"Usage": {
"type": "object",
"properties": {
"Account": {
"type": "string",
"x-go-custom-tag": "gorm:\"index\""
},
"Metadata": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"ResourceID": {
"type": "string"
},
"ResourceName": {
"type": "string"
},
"ResourceType": {
"type": "string"
},
"Time": {
"type": "integer"
},
"Timedate": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"Unit": {
"type": "string"
},
"Usage": {
"type": "number",
"format": "double",
"default": 0,
"x-go-custom-tag": "gorm:\"type:numeric(23,13);default:0.0\""
}
}
}
},
"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 the metrics used and controlled by the system",
"name": "metricsManagement"
},
{
"description": "Actions relating to the usage reporting of the accounts of the system",
"name": "usageManagement"
}
]
}`))
FlatSwaggerJSON = json.RawMessage([]byte(`{
"schemes": [
"http",
"https"
],
"swagger": "2.0",
"info": {
"description": "An API which supports creation, deletion, listing etc of UDR",
"title": "UDR Management API",
"contact": {
"email": "diego@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": {
"/metrics": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"metricsManagement"
],
"summary": "List of all metric types processed by the service",
"operationId": "getMetrics",
"responses": {
"200": {
"description": "Description of a successfully operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Metric"
}
}
},
"500": {
"description": "Something unexpected happend, error raised",
"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",
"metrics",
"usage"
],
"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/compact": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"triggerManagement"
],
"summary": "Compactation task trigger",
"operationId": "execCompactation",
"parameters": [
{
"type": "string",
"format": "datetime",
"description": "Datetime from which to get the usage report",
"name": "from",
"in": "query"
},
{
"type": "string",
"format": "datetime",
"description": "Datetime until which to get the usage report",
"name": "to",
"in": "query"
},
{
"type": "boolean",
"description": "Switch for using 15m boundaries instead of 8h",
"name": "fast_mode",
"in": "query"
}
],
"responses": {
"200": {
"description": "Compactation task executed successfully."
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/usage": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"usageManagement"
],
"summary": "Detailed report covering all accounts within the specified time window",
"operationId": "getSystemUsage",
"parameters": [
{
"type": "string",
"format": "datetime",
"description": "Datetime from which to get the usage report",
"name": "from",
"in": "query"
},
{
"type": "string",
"format": "datetime",
"description": "Datetime until which to get the usage report",
"name": "to",
"in": "query"
},
{
"type": "string",
"description": "Metric(s) to get the usage report",
"name": "metric",
"in": "query"
},
{
"type": "string",
"description": "List of ids to be queried",
"name": "idlist",
"in": "query"
}
],
"responses": {
"200": {
"description": "Description of a successfully operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UReport"
}
}
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
},
"/usage/{id}": {
"get": {
"security": [
{
"Keycloak": [
"user"
]
},
{
"APIKeyHeader": []
},
{
"APIKeyParam": []
}
],
"produces": [
"application/json"
],
"tags": [
"usageManagement"
],
"summary": "Detailed report covering of the account associated with the id within the specified time window",
"operationId": "getUsage",
"parameters": [
{
"type": "string",
"description": "Id of the account to be checked",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"format": "datetime",
"description": "Datetime from which to get the usage report",
"name": "from",
"in": "query"
},
{
"type": "string",
"format": "datetime",
"description": "Datetime until which to get the usage report",
"name": "to",
"in": "query"
},
{
"type": "string",
"description": "Metric(s) to get the usage report",
"name": "metric",
"in": "query"
}
],
"responses": {
"200": {
"description": "Description of a successfully operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UReport"
}
}
},
"500": {
"description": "Something unexpected happend, error raised",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
}
}
}
},
"definitions": {
"ErrorResponse": {
"type": "object",
"required": [
"errorString"
],
"properties": {
"errorString": {
"type": "string"
}
}
},
"Metadata": {
"type": "object",
"x-go-type": {
"import": {
"package": "gitlab.com/cyclops-utilities/datamodels"
},
"type": "JSONdb"
}
},
"Metric": {
"type": "object",
"properties": {
"Metric": {
"type": "string",
"x-go-custom-tag": "gorm:\"primary_key\""
}
}
},
"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"
}
}
},
"UDRRecord": {
"type": "object",
"properties": {
"AccountId": {
"type": "string",
"x-go-custom-tag": "gorm:\"index\""
},
"Metadata": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"ResourceId": {
"type": "string"
},
"ResourceName": {
"type": "string"
},
"ResourceType": {
"type": "string"
},
"TimeFrom": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"TimeTo": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"Unit": {
"type": "string"
},
"UsageBreakup": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
}
}
},
"UDRReport": {
"type": "object",
"properties": {
"Metadata": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"ResourceId": {
"type": "string"
},
"ResourceName": {
"type": "string"
},
"ResourceType": {
"type": "string"
},
"Unit": {
"type": "string"
},
"UsageBreakup": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
}
}
},
"UReport": {
"type": "object",
"properties": {
"AccountId": {
"type": "string",
"x-go-custom-tag": "gorm:\"index\""
},
"TimeFrom": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"TimeTo": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"Usage": {
"type": "array",
"items": {
"$ref": "#/definitions/UDRReport"
},
"x-go-custom-tag": "gorm:\"-\""
}
}
},
"Usage": {
"type": "object",
"properties": {
"Account": {
"type": "string",
"x-go-custom-tag": "gorm:\"index\""
},
"Metadata": {
"x-go-custom-tag": "gorm:\"type:jsonb\"",
"$ref": "#/definitions/Metadata"
},
"ResourceID": {
"type": "string"
},
"ResourceName": {
"type": "string"
},
"ResourceType": {
"type": "string"
},
"Time": {
"type": "integer"
},
"Timedate": {
"type": "string",
"format": "datetime",
"x-go-custom-tag": "gorm:\"index;type:timestamptz\""
},
"Unit": {
"type": "string"
},
"Usage": {
"type": "number",
"format": "double",
"default": 0,
"x-go-custom-tag": "gorm:\"type:numeric(23,13);default:0.0\""
}
}
}
},
"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 the metrics used and controlled by the system",
"name": "metricsManagement"
},
{
"description": "Actions relating to the usage reporting of the accounts of the system",
"name": "usageManagement"
}
]
}`))
}