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/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"
}
]
}`))
}