HPC Infra Cluster Management API (0.1.0)

Download OpenAPI specification:Download

API for managing clusters across cloud providers with tool and service installation

Requests - List all

Get all requests with status. Limited based on role of requesting user

Authorizations:
(AccessKeyAuthSecretKeyAuth)
query Parameters
status
string
Enum: "pending" "approved" "rejected"
requestedBy
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Requests - Create new

CAD managers can request new clusters

Authorizations:
(AccessKeyAuthSecretKeyAuth)
Request Body schema: application/json
id
string <uuid>
name
required
string
cloudProviderId
required
string <uuid>
required
object
Array of objects (Tool)
Array of objects (Service)
status
string
Default: "pending"
Enum: "pending" "approved" "rejected"
required
object (User)
object (User)
requestedAt
string <date-time>
approvedAt
string <date-time>
Array of objects

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "size": {
    },
  • "tools": [
    ],
  • "services": [
    ],
  • "status": "pending",
  • "requestedBy": {
    },
  • "approvedBy": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "notes": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "size": {
    },
  • "tools": [
    ],
  • "services": [
    ],
  • "status": "pending",
  • "requestedBy": {
    },
  • "approvedBy": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "notes": [
    ]
}

Requests - Get details of individual request

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
requestId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "size": {
    },
  • "tools": [
    ],
  • "services": [
    ],
  • "status": "pending",
  • "requestedBy": {
    },
  • "approvedBy": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "notes": [
    ]
}

Requests - Approve or reject

IT managers can approve or reject requests

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
requestId
required
string <uuid>
Request Body schema: application/json
status
required
string
Enum: "approved" "rejected"
rejectionReason
string

Responses

Request samples

Content type
application/json
{
  • "status": "approved",
  • "rejectionReason": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "size": {
    },
  • "tools": [
    ],
  • "services": [
    ],
  • "status": "pending",
  • "requestedBy": {
    },
  • "approvedBy": {
    },
  • "requestedAt": "2019-08-24T14:15:22Z",
  • "approvedAt": "2019-08-24T14:15:22Z",
  • "notes": [
    ]
}

Requests - Get all notes

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
requestId
required
string <uuid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Requests - Add a note

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
requestId
required
string <uuid>
Request Body schema: application/json
note
required
string

Responses

Request samples

Content type
application/json
{
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "time": "2019-08-24T14:15:22Z",
  • "by": {
    },
  • "note": "string"
}

Cluster - List all clusters

List all clusters created by the current user

Authorizations:
(AccessKeyAuthSecretKeyAuth)
query Parameters
status
string
cloudProviderId
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cluster - Create a new cluster

CAD managers can create new clusters

Authorizations:
(AccessKeyAuthSecretKeyAuth)
Request Body schema: application/json
id
string <uuid>
name
required
string
cloudProviderId
required
string <uuid>
type
string
Value: "slurm"
required
object
status
string
Enum: "pending" "provisioning" "available" "error"
Array of objects (Tool)
Array of objects (Service)
createdAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "type": "slurm",
  • "size": {
    },
  • "status": "pending",
  • "tools": [
    ],
  • "services": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "type": "slurm",
  • "size": {
    },
  • "status": "pending",
  • "tools": [
    ],
  • "services": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z"
}

Cluster - Get cluster details

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
clusterId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "cloudProviderId": "1a2278cb-eaa1-4ddc-b267-06e7b99f872d",
  • "type": "slurm",
  • "size": {
    },
  • "status": "pending",
  • "tools": [
    ],
  • "services": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z"
}

Cluster - Terminate cluster

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
clusterId
required
string <uuid>

Responses

Cluster - Install a tool on the cluster

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
clusterId
required
string <uuid>
Request Body schema: application/json
id
string <uuid>
name
required
string
version
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "iverilog",
  • "version": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "iverilog",
  • "version": "string"
}

Cluster - Deploy a service on the cluster

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
clusterId
required
string <uuid>
Request Body schema: application/json
id
string <uuid>
name
required
string
version
required
string
object
status
string
Enum: "pending" "provisioning" "running" "failed" "stopped"
object

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "postgresql",
  • "version": "string",
  • "config": { },
  • "status": "pending",
  • "credentials": { }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "postgresql",
  • "version": "string",
  • "config": { },
  • "status": "pending",
  • "credentials": { }
}

Analytics - Get cluster metrics over time

Retrieve metrics like CPU, memory, storage utilization and credit consumption

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
clusterId
required
string <uuid>
query Parameters
start
string <date-time>
end
string <date-time>
interval
string
Default: "hour"
Enum: "minute" "hour" "day"

Responses

Response samples

Content type
application/json
{
  • "timeRange": {
    },
  • "metrics": [
    ]
}

Analytics - Get current cluster analytics summary

Get real-time summary of cluster utilization and costs

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
clusterId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "current": {
    },
  • "credits": {
    }
}

Providers - List available cloud providers

Authorizations:
(AccessKeyAuthSecretKeyAuth)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Analytics - Get tenant-wide analytics

Get aggregated analytics across all tenant resources including clusters, costs and utilization

Authorizations:
(AccessKeyAuthSecretKeyAuth)
path Parameters
tenantId
required
string <uuid>
query Parameters
start
string <date-time>
end
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "overview": {
    },
  • "resources": {
    },
  • "credits": {
    },
  • "breakdown": {
    }
}