Spectro Cloud overlords API
The overlords API from Spectro Cloud — 29 operation(s) for overlords.
The overlords API from Spectro Cloud — 29 operation(s) for overlords.
swagger: '2.0'
info:
title: Local Management APIs activations overlords API
version: v1
servers:
- url: https://edge-host-ip:5080
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: overlords
x-displayName: Overlords
paths:
/v1/overlords:
get:
operationId: v1OverlordsList
parameters:
- in: query
name: name
type: string
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1Overlords'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves a list of overlords owned by the tenant
tags:
- overlords
/v1/overlords/apache-cloudstack/manifest:
parameters:
- in: query
name: pairingCode
required: true
type: string
get:
operationId: v1OverlordsCloudStackManifest
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1OverlordManifest'
security:
- ApiKey: []
- Authorization: []
summary: Returns the manifests required for the private gateway installation
tags:
- overlords
/v1/overlords/apache-cloudstack/{uid}/account:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidCloudStackAccountCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordCloudStackAccountCreate'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: create the CloudStack cloudaccount for the private gateway
tags:
- overlords
put:
operationId: v1OverlordsUidCloudStackAccountUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordCloudStackAccountEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the CloudStack cloudaccount for the private gateway
tags:
- overlords
/v1/overlords/apache-cloudstack/{uid}/account/validate:
parameters:
- in: path
name: uid
required: true
type: string
post:
description: Validates CloudStack account credentials and domain. Verifies API connectivity and that the specified domain exists.
operationId: v1OverlordsUidCloudStackAccountValidate
parameters:
- in: body
name: body
schema:
properties:
account:
$ref: '#/definitions/v1CloudStackCloudAccount'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: Ok response without content
headers:
AuditUid:
description: Audit uid for the request
type: string
security:
- ApiKey: []
- Authorization: []
summary: validate the CloudStack cloudaccount for the private gateway
tags:
- overlords
/v1/overlords/apache-cloudstack/{uid}/cloudconfig:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidCloudStackCloudConfigCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordCloudStackCloudConfig'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: create the CloudStack cloud config for the private gateway
tags:
- overlords
put:
operationId: v1OverlordsUidCloudStackCloudConfigUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordCloudStackCloudConfig'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the CloudStack cloud config for the private gateway
tags:
- overlords
/v1/overlords/apache-cloudstack/{uid}/clusterprofile:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1OverlordsUidCloudStackClusterProfile
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: OK
schema:
$ref: '#/definitions/v1ClusterProfile'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified CloudStack private gateway cluster profile
tags:
- overlords
/v1/overlords/maas/manifest:
parameters:
- in: query
name: pairingCode
required: true
type: string
get:
operationId: V1OverlordsMaasManifest
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1OverlordManifest'
security:
- ApiKey: []
- Authorization: []
summary: Returns the manifests required for the private gateway installation
tags:
- overlords
/v1/overlords/maas/{uid}/account:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidMaasAccountCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordMaasAccountCreate'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: create the maas cloudaccount for the private gateway
tags:
- overlords
put:
operationId: v1OverlordsUidMaasAccountUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordMaasAccountEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the maas cloudaccount for the private gateway
tags:
- overlords
/v1/overlords/maas/{uid}/account/validate:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidMaasAccountValidate
parameters:
- in: body
name: body
schema:
properties:
account:
$ref: '#/definitions/v1MaasCloudAccount'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: Ok response without content
headers:
AuditUid:
description: Audit uid for the request
type: string
security:
- ApiKey: []
- Authorization: []
summary: validate the maas cloudaccount for the private gateway
tags:
- overlords
/v1/overlords/maas/{uid}/cloudconfig:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: V1OverlordsUidMaasCloudConfigCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordMaasCloudConfig'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: create the maas cloud config for the private gateway
tags:
- overlords
put:
operationId: V1OverlordsUidMaasCloudConfigUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordMaasCloudConfig'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the maas cloud config for the private gateway
tags:
- overlords
/v1/overlords/maas/{uid}/clusterprofile:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1OverlordsUidMaasClusterProfile
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: OK
schema:
$ref: '#/definitions/v1ClusterProfile'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified maas private gateway cluster profile
tags:
- overlords
/v1/overlords/maas/{uid}/pools:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1OverlordsUidMaasPoolsList
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1IpPools'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves a list of IP Pools for the specified maas private gateway
tags:
- overlords
post:
operationId: v1OverlordsUidMaasPoolCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1IpPoolInputEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: Creates an IP pool definition for the specified maas private gateway
tags:
- overlords
/v1/overlords/maas/{uid}/pools/{poolUid}:
parameters:
- in: path
name: uid
required: true
type: string
- in: path
name: poolUid
required: true
type: string
delete:
operationId: v1OverlordsUidMaasPoolDelete
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was deleted successfully
security:
- ApiKey: []
- Authorization: []
summary: Deletes the maas private gateway's specified IP Pool data
tags:
- overlords
put:
operationId: v1OverlordsUidMaasPoolUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1IpPoolInputEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: Updates the maas private gateway's specified IP Pool data
tags:
- overlords
/v1/overlords/migrate:
post:
operationId: V1OverlordsMigrate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordMigrateEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: migrate all the clusters from source overlord to target overlord
tags:
- overlords
/v1/overlords/pairing/code:
get:
operationId: v1OverlordsPairingCode
parameters:
- enum:
- vsphere
- maas
- apache-cloudstack
in: query
name: cloudType
type: string
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1PairingCode'
security:
- ApiKey: []
- Authorization: []
summary: Returns the pairing code for the private gateway
tags:
- overlords
/v1/overlords/vsphere/manifest:
parameters:
- in: query
name: pairingCode
required: true
type: string
get:
operationId: v1OverlordsVsphereManifest
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1OverlordManifest'
security:
- ApiKey: []
- Authorization: []
summary: Returns the manifests required for the private gateway installation
tags:
- overlords
/v1/overlords/vsphere/ova:
get:
operationId: v1OverlordsVsphereOvaGet
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1OverloadVsphereOva'
security:
- ApiKey: []
- Authorization: []
summary: Returns overlord's ova information
tags:
- overlords
/v1/overlords/vsphere/tenants/{tenantUid}/system:
parameters:
- in: path
name: tenantUid
required: true
type: string
post:
operationId: v1OverlordsSystem
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: Creates the system private gateway for the specified tenant
tags:
- overlords
/v1/overlords/vsphere/{uid}/account:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidVsphereAccountCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordVsphereAccountCreate'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: create the vSphere cloudaccount for the private gateway
tags:
- overlords
put:
operationId: v1OverlordsUidVsphereAccountUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordVsphereAccountEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the vSphere cloudaccount for the private gateway
tags:
- overlords
/v1/overlords/vsphere/{uid}/account/validate:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidVsphereAccountValidate
parameters:
- in: body
name: body
schema:
properties:
account:
$ref: '#/definitions/v1VsphereCloudAccount'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: Ok response without content
headers:
AuditUid:
description: Audit uid for the request
type: string
security:
- ApiKey: []
- Authorization: []
summary: validate the vSphere cloudaccount for the private gateway
tags:
- overlords
/v1/overlords/vsphere/{uid}/cloudconfig:
parameters:
- in: path
name: uid
required: true
type: string
post:
operationId: v1OverlordsUidVsphereCloudConfigCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordVsphereCloudConfig'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: create the vSphere cloud config for the private gateway
tags:
- overlords
put:
operationId: v1OverlordsUidVsphereCloudConfigUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1OverlordVsphereCloudConfig'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the vSphere cloud config for the private gateway
tags:
- overlords
/v1/overlords/vsphere/{uid}/clusterprofile:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1OverlordsUidVsphereClusterProfile
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: OK
schema:
$ref: '#/definitions/v1ClusterProfile'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified vsphere private gateway cluster profile
tags:
- overlords
/v1/overlords/vsphere/{uid}/pools:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1OverlordsUidPoolsList
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1IpPools'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves a list of IP Pools for the specified private gateway
tags:
- overlords
post:
operationId: v1OverlordsUidPoolCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1IpPoolInputEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'201':
description: Created successfully
headers:
AuditUid:
description: Audit uid for the request
type: string
schema:
$ref: '#/definitions/v1Uid'
security:
- ApiKey: []
- Authorization: []
summary: Creates an IP pool defintion for the sepcified private gateway
tags:
- overlords
/v1/overlords/vsphere/{uid}/pools/{poolUid}:
parameters:
- in: path
name: uid
required: true
type: string
- in: path
name: poolUid
required: true
type: string
delete:
operationId: v1OverlordsUidPoolDelete
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was deleted successfully
security:
- ApiKey: []
- Authorization: []
summary: Deletes the private gateways's specified IP Pool data
tags:
- overlords
put:
operationId: v1OverlordsUidPoolUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1IpPoolInputEntity'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: Updates the private gateways's specified IP Pool data
tags:
- overlords
/v1/overlords/vsphere/{uid}/properties/computecluster/resources:
parameters:
- in: path
name: uid
required: true
type: string
- in: query
name: datacenter
required: true
type: string
- in: query
name: computecluster
required: true
type: string
get:
operationId: v1OverlordsUidVsphereComputeclusterRes
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1VsphereComputeClusterResources'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves the vSphere computecluster resources for the specified private gateway's account
tags:
- overlords
/v1/overlords/vsphere/{uid}/properties/datacenters:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1OverlordsUidVsphereDatacenters
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1VsphereDatacenters'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves the vSphere datacenters & datacluster for the specified private gateway's account
tags:
- overlords
/v1/overlords/{uid}:
parameters:
- in: path
name: uid
required: true
type: string
delete:
operationId: v1OverlordsUidDelete
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1DeletedMsg'
security:
- ApiKey: []
- Authorization: []
summary: delete the private gateway
tags:
- overlords
get:
operationId: v1OverlordsUidGet
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1Overlord'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified private gateway's for the given uid
tags:
- overlords
/v1/overlords/{uid}/metadata:
parameters:
- in: path
name: uid
required: true
type: string
put:
operationId: v1OverlordsUidMetadataUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1ObjectMetaInputEntitySchema'
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'204':
description: The resource was updated successfully
security:
- ApiKey: []
- Authorization: []
summary: update the private gateway's metadata
tags:
- overlords
/v1/overlords/{uid}/reset:
parameters:
- in: path
name: uid
required: true
type: string
put:
operationId: v1OverlordsUidReset
parameters:
- description: A project UID is required for project-scoped resources and should be omitted when targeting tenant-scoped resources
in: header
name: ProjectUid
type: string
responses:
'200':
description: (empty)
schema:
$ref: '#/definitions/v1UpdatedMsg'
security:
- ApiKey: []
- Authorization: []
summary: reset the private gateway by disaaociating the private gateway's resources
tags:
- overlords
definitions:
v1GpuConfig:
description: GPU configuration for resource allocation
properties:
limit:
description: GPU resource limit
format: int32
minimum: -1
type: integer
x-omitempty: false
provider:
default: nvidia
description: GPU provider (only nvidia is supported currently)
enum:
- nvidia
type: string
v1OverlordVsphereAccountEntity:
properties:
account:
$ref: '#/definitions/v1VsphereCloudAccount'
shareWithProjects:
type: boolean
x-omitempty: false
v1ObjectMeta:
description: ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
properties:
annotations:
additionalProperties:
type: string
description: 'Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
type: object
creationTimestamp:
$ref: '#/definitions/v1Time'
description: 'CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
deletionTimestamp:
$ref: '#/definitions/v1Time'
description: 'DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spectro-cloud/refs/heads/main/openapi/spectro-cloud-overlords-api-openapi.yml