Spectro Cloud edgehosts API
The edgehosts API from Spectro Cloud — 22 operation(s) for edgehosts.
The edgehosts API from Spectro Cloud — 22 operation(s) for edgehosts.
swagger: '2.0'
info:
title: Local Management APIs activations edgehosts API
version: v1
servers:
- url: https://edge-host-ip:5080
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: edgehosts
x-displayName: Edgehosts
paths:
/v1/edgehosts:
get:
description: Deprecated. Use POST /v1/dashboard/edgehosts/search , to retrieve all the edgehosts without pagination use GET /v1/edgehosts/metadata.
operationId: v1EdgeHostDevicesList
parameters:
- enum:
- edge-native
- vsphere
in: query
name: type
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: An array of edge host device items
schema:
$ref: '#/definitions/v1EdgeHostDevices'
security:
- ApiKey: []
- Authorization: []
summary: Retrieve the Complete Edgehost Metadata List
tags:
- edgehosts
post:
operationId: v1EdgeHostDevicesCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostDeviceEntity'
- 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 edge host device
tags:
- edgehosts
/v1/edgehosts/metadata:
get:
operationId: v1EdgeHostsMetadataQuickFilterGet
parameters:
- enum:
- edge-native
- vsphere
in: query
name: type
type: string
- enum:
- unusedEdgeHosts
in: query
name: quickFilter
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: An array of edge host metadata
schema:
$ref: '#/definitions/v1EdgeHostsMeta'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves a list of edge hosts metadata matching the filter condition
tags:
- edgehosts
/v1/edgehosts/register:
post:
operationId: v1EdgeHostDevicesRegister
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostDevice'
- 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/v1EdgeHostDevice'
security:
- ApiKey: []
- Authorization: []
summary: Registers the edge host device
tags:
- edgehosts
/v1/edgehosts/tags:
get:
operationId: v1EdgeHostsTagsGet
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: An array of edge hosts tags
schema:
$ref: '#/definitions/v1EdgeHostsTags'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves a list of edge hosts tags
tags:
- edgehosts
/v1/edgehosts/tokens:
get:
operationId: v1EdgeTokensList
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: An array of edge tokens
schema:
$ref: '#/definitions/v1EdgeTokens'
security:
- ApiKey: []
- Authorization: []
summary: Retrieves a list of edge tokens
tags:
- edgehosts
post:
operationId: v1EdgeTokensCreate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeTokenEntity'
- 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 edge token
tags:
- edgehosts
/v1/edgehosts/tokens/{uid}:
parameters:
- description: Edge token uid
in: path
name: uid
required: true
type: string
delete:
operationId: v1EdgeTokensUidDelete
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 specified edge token
tags:
- edgehosts
get:
operationId: v1EdgeTokensUidGet
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/v1EdgeToken'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified edge token
tags:
- edgehosts
put:
operationId: v1EdgeTokensUidUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeTokenUpdate'
- 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 specified edge token
tags:
- edgehosts
/v1/edgehosts/tokens/{uid}/state:
parameters:
- description: Edge token uid
in: path
name: uid
required: true
type: string
put:
operationId: v1EdgeTokensUidState
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeTokenActiveState'
- 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: Revoke or re-activate the edge token access
tags:
- edgehosts
/v1/edgehosts/{uid}:
parameters:
- in: path
name: uid
required: true
type: string
delete:
operationId: v1EdgeHostDevicesUidDelete
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 specified edge host device
tags:
- edgehosts
get:
operationId: v1EdgeHostDevicesUidGet
parameters:
- default: false
description: resolve pack values if set to true
in: query
name: resolvePackValues
type: boolean
- 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/v1EdgeHostDevice'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified edge host device
tags:
- edgehosts
put:
operationId: v1EdgeHostDevicesUidUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostDevice'
- 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 specified edge host device
tags:
- edgehosts
/v1/edgehosts/{uid}/cluster/associate:
parameters:
- in: path
name: uid
required: true
type: string
delete:
operationId: v1EdgeHostDevicesUidClusterDeassociate
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: Deassociate the clusters to the edge host
tags:
- edgehosts
patch:
operationId: v1EdgeHostDevicesUidClusterAssociate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostClusterEntity'
- 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: Associate the clusters to the edge host
tags:
- edgehosts
/v1/edgehosts/{uid}/config:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1EdgeHostDevicesUidConfigGet
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/v1EdgeHostConfig'
security:
- ApiKey: []
- Authorization: []
summary: Get the specified edge host device configuration
tags:
- edgehosts
/v1/edgehosts/{uid}/health:
parameters:
- in: path
name: uid
required: true
type: string
patch:
operationId: v1EdgeHostDevicesHealthUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostHealth'
- 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 edge host health
tags:
- edgehosts
/v1/edgehosts/{uid}/hostCheckSum:
parameters:
- in: path
name: uid
required: true
type: string
patch:
operationId: v1EdgeHostDeviceHostCheckSumUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostDeviceHostCheckSum'
- 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 specified edge host device host check sum
tags:
- edgehosts
/v1/edgehosts/{uid}/hostPairingKey:
parameters:
- in: path
name: uid
required: true
type: string
patch:
operationId: v1EdgeHostDeviceHostPairingKeyUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostDeviceHostPairingKey'
- 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 specified edge host device host pairing key
tags:
- edgehosts
/v1/edgehosts/{uid}/meta:
parameters:
- in: path
name: uid
required: true
type: string
put:
operationId: v1EdgeHostDevicesUidMetaUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostDeviceMetaUpdateEntity'
- 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 specified edge host device meta
tags:
- edgehosts
/v1/edgehosts/{uid}/pack/manifests/{manifestUid}:
get:
operationId: v1EdgeHostDevicesUidPackManifestsUidGet
parameters:
- description: edge host uid
in: path
name: uid
required: true
type: string
- description: manifest uid which is part of the pack ref
in: path
name: manifestUid
required: true
type: string
- default: false
description: resolve pack manifest values if set to true
in: query
name: resolveManifestValues
type: boolean
- 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: Pack manifest content
schema:
$ref: '#/definitions/v1Manifest'
security:
- ApiKey: []
- Authorization: []
summary: Returns the specified edge host's manifest
tags:
- edgehosts
/v1/edgehosts/{uid}/packs/status:
parameters:
- in: path
name: uid
required: true
type: string
patch:
operationId: v1EdgeHostDevicesUidPacksStatusPatch
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1SpectroClusterPacksStatusEntity'
- 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: Patch update specified edge host's packs status
tags:
- edgehosts
/v1/edgehosts/{uid}/profiles:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1EdgeHostDevicesUidProfilesGet
parameters:
- description: includes pack meta such as schema, presets
in: query
name: includePackMeta
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: OK
schema:
$ref: '#/definitions/v1SpectroClusterProfileList'
security:
- ApiKey: []
- Authorization: []
summary: Returns the associated profiles of a specified edge host device
tags:
- edgehosts
put:
operationId: v1EdgeHostDevicesUidProfilesUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1SpectroClusterProfiles'
- 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: Associate cluster profiles to the specified edge host device
tags:
- edgehosts
/v1/edgehosts/{uid}/reset:
parameters:
- description: Edge host uid
in: path
name: uid
required: true
type: string
put:
operationId: V1EdgeHostsUidReset
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: Ok response without content
headers:
AuditUid:
description: Audit uid for the request
type: string
security:
- ApiKey: []
- Authorization: []
summary: Reset the cluster through edge host
tags:
- edgehosts
/v1/edgehosts/{uid}/spc/download:
parameters:
- in: path
name: uid
required: true
type: string
get:
operationId: v1EdgeHostDevicesUidSpcDownload
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
produces:
- application/octet-stream
responses:
'200':
description: download spc archive file
headers:
Content-Disposition:
type: string
schema:
format: binary
type: string
security:
- ApiKey: []
- Authorization: []
summary: Download the specified edge host device spc
tags:
- edgehosts
/v1/edgehosts/{uid}/tunnelConfig:
parameters:
- in: path
name: uid
required: true
type: string
patch:
operationId: v1EdgeHostDevicesUidTunnelConfigUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1SpectroTunnelConfig'
- 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 specified edge host device tunnel configuration
tags:
- edgehosts
/v1/edgehosts/{uid}/tunnelStatus:
parameters:
- in: path
name: uid
required: true
type: string
patch:
operationId: v1EdgeHostDevicesUidTunnelStatusUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1SpectroTunnelStatus'
- 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 edge host tunnel status
tags:
- edgehosts
/v1/edgehosts/{uid}/vsphere/properties:
parameters:
- in: path
name: uid
required: true
type: string
put:
operationId: v1EdgeHostDevicesUidVspherePropertiesUpdate
parameters:
- in: body
name: body
schema:
$ref: '#/definitions/v1EdgeHostVsphereCloudProperties'
- 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 specified edge host device vsphere properties
tags:
- edgehosts
definitions:
v1Partition:
properties:
fileSystemType:
type: string
freeSpace:
format: int32
type: integer
mountPoint:
type: string
totalSpace:
format: int32
type: integer
usedSpace:
format: int32
type: integer
type: object
v1EdgeHostIdentity:
properties:
caCert:
description: CACert is the client CA certificate
type: string
mode:
description: Mode indicates a system or session connection to the host
type: string
socketPath:
description: SocketPath is an optional path to the socket on the host, if not using defaults
type: string
sshSecret:
$ref: '#/definitions/v1EdgeHostSSHSecret'
description: SSHSecret to the secret containing ssh-username
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 as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.
Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata'
labels:
additionalProperties:
type: string
description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
type: object
lastModifiedTimestamp:
$ref: '#/definitions/v1Time'
description: 'LastModifiedTimestamp is a timestamp representing the server time when this object was last modified. 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'
name:
description: 'Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
type: string
uid:
description: 'UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
type: string
type: object
v1EdgeHostCloudProperties:
description: Additional cloud properties of the edge host (applicable based on the cloud type)
properties:
vsphere:
$ref: '#/definitions/v1EdgeHostVsphereCloudProperties'
type: object
v1DeviceSpec:
description: DeviceSpec defines the desired state of Device
properties:
archType:
default: amd64
description: Architecture type of the edge host
enum:
- arm64
- amd64
type: string
cpu:
$ref: '#/definitions/v1CPU'
disks:
items:
$ref: '#/definitions/v1Disk'
type: array
gpus:
items:
$ref: '#/definitions/v1GPUDeviceSpec'
type: array
hostState:
default: registration
description: State of edge host device
enum:
- registration
- cluster
- recovery
type: string
hostType:
default: appliance
description: Type of the edge host device
enum:
- appliance
- agent-mode
type: string
memory:
$ref: '#/definitions/v1Memory'
nics:
items:
$ref: '#/definitions/v1Nic'
type: array
os:
$ref: '#/definitions/v1OS'
secureBoot:
default: false
description: Secure boot configuration
type: boolean
type: object
v1PackTemplateParameters:
description: Pack template parameters
properties:
inputParameters:
description: Pack template input parameters array
items:
$ref: '#/definitions/v1PackTemplateParameter'
type: array
outputParameters:
description: Pack template output parameters array
items:
$ref: '#/definitions/v1PackTemplateParameter'
type: array
v1AclMeta:
description: Resource access control information (Read-only response data)
properties:
ownerUid:
description: User or service uid which created the resource
type: string
projectUid:
description: Project's uid if the resource is under a project
type: string
tenantUid:
description: Tenant's uid
type: string
type: object
v1EdgeHostClusterEntity:
properties:
clusterUid:
type: string
type: object
v1VsphereCloudDatacenter:
description: Vsphere datacenter
properties:
computeClusters:
items:
$ref: '#/definitions/v1VsphereComputeCluster'
type: array
folders:
items:
type: string
type: array
name:
type: string
type: object
v1EdgeHostStoragePool:
description: StoragePool is the storage pool for the vm image
properties:
name:
type: string
v1ObjectTagsEntity:
description: Object identity meta with tags
properties:
labels:
additionalProperties:
type: string
type: object
name:
type: string
uid:
type: string
type: object
v1PackRef:
description: PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it
properties:
annotations:
additionalProperties:
type: string
description: Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml
type: object
digest:
description: digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade
type: string
inValidReason:
type: string
isInvalid:
description: pack is invalid when the associated tag is deleted from the registry
type: boolean
layer:
enum:
- kernel
- os
- k8s
- cni
- csi
- addon
type: string
logo:
description: path to the pack logo
type: string
manifests:
items:
$ref: '#/definitions/v1ObjectReference'
type: array
name:
description: pack name
type: string
packUid:
description: PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.
type: string
params:
additionalProperties:
type: string
description: params passed as env variables to be consumed at installation time
type: object
presets:
items:
$ref: '#/definitions/v1PackPreset'
type: array
registryUid:
description: pack registry uid
type: string
schema:
items:
$ref: '#/definitions/v1PackSchema'
type: array
server:
description: pack registry server or helm repo
type: string
tag:
description: pack tag
type: string
type:
description: type of the pack
enum:
- spectro
- helm
- manifest
- oci
type: string
values:
description: values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values
type: string
version:
description: pack version
type: string
required:
- layer
- name
type: object
v1PackValuesEntity:
description: Pack values entity to refer the existing pack for the values override
properties:
manifests:
description: Pack ma
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spectro-cloud/refs/heads/main/openapi/spectro-cloud-edgehosts-api-openapi.yml