Retrieves a list of edge host of edge-native cluster
GET/v1/spectroclusters/:uid/edge-native/edgeHosts
Retrieves a list of edge host of edge-native cluster
Request​
Path Parameters
Cluster uid
Header Parameters
Scope the request to the specified project uid
Responses​
- 200
List of edge host device
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- Array [
- Array [
- ]
- ]
- Array [
- Array [
- ]
- Array [
- Array [
- ]
- Array [
- ]
- Array [
- ]
- ]
- ]
- Array [
- Array [
- ]
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- ]
- Array [
- Array [
- ]
- Array [
- Array [
- ]
- ]
- ]
- ]
items undefined[]required
aclmeta object
Resource access control information (Read-only response data)
User or service uid which created the resource
Project's uid if the resource is under a project
Tenant's uid
metadata object
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
annotations object
Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
labels object
Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
Name of the resource
UID is the unique identifier generated for the resource. This is not an input field for any request.
Populated by the system. Read-only.
spec object
EdgeHostDeviceSpec defines the desired state of EdgeHostDevice
cloudProperties object
Additional cloud properties of the edge host (applicable based on the cloud type)
vsphere
Vsphere cloud properties of edge host
datacenters object[]
computeClusters object[]
clusterProfileTemplates object[]
Possible values: [all
, aws
, azure
, gcp
, vsphere
, openstack
, maas
, nested
, baremetal
, eks
, aks
, edge
, edge-native
, libvirt
, tencent
, tke
, coxedge
, generic
, gke
]
Default value: all
packServerRefs object[]
PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette
packs object[]
Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge
annotations object
Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml
digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade
pack is invalid when the associated tag is deleted from the registry
Possible values: [kernel
, os
, k8s
, cni
, csi
, addon
]
manifests object[]
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
pack name
PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.
params object
params passed as env variables to be consumed at installation time
presets object[]
pack registry uid
schema object[]
pack registry server or helm repo
pack tag
Possible values: [spectro
, helm
, manifest
]
type of the pack
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
pack version
version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster
relatedObject object
ObjectReference contains enough information to let you inspect or modify the referred object.
Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
Deprecated. Use profileVersion
device object
DeviceSpec defines the desired state of Device
Possible values: [arm64
, amd64
]
Default value: amd64
Architecture type of the edge host
cpu object
number of cpu cores
disks object[]
partitions object[]
Size in GB
gpus object[]
addresses object
Addresses is a map of PCI device entry name to its addresses. Example entry would be "11:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1eb1] (rev a1)"- > 0000_11_00_0" The address is BDF (Bus Device Function) identifier format seperated by underscores. The first 4 bits are almost always 0000. In the above example 11 is Bus, 00 is Device,0 is function. The values of these addreses are expected in hexadecimal format
Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]
Vendor is the GPU vendor, for eg., NVIDIA or AMD
memory object
memory size in bytes
nics object[]
os object
host object
EdgeHost is the underlying appliance
Set to true if auto register is disabled for the device
HostAddress is a FQDN or IP address of the Host
HostAuthToken to authorize auto registration
HostChecksum is the checksum provided by the edge host, to be persisted in SaaS
hostIdentity
HostIdentity is the identity to access the edge host
CACert is the client CA certificate
Mode indicates a system or session connection to the host
SocketPath is an optional path to the socket on the host, if not using defaults
sshSecret object
SSHSecret to the secret containing ssh-username
SSH secret name
Private Key to access the host
HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS
HostUid is the ID of the EdgeHost
Mac address of edgehost
project object
Object identity meta
properties
Additional properties of edge host
networks object[]
NetworkName of the network where this machine will be connected
Possible values: [default
, bridge
]
NetworkType specifies the type of network
storagePools undefined[]
service object
ServiceSpec defines the specification of service registering edge
Possible values: [libvirt
, vsphere
, edge-native
]
Cloudtype of the provisioned edge host
status object
EdgeHostDeviceStatus defines the observed state of EdgeHostDevice
health
EdgeHostHealth defines the desired health state of EdgeHostDevice
Possible values: [healthy
, unhealthy
]
inUseClusters object[]
packs object[]
condition object
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
Human-readable message indicating details about last transition.
Unique, one-word, CamelCase reason for the condition's last transition.
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
manifests object[]
condition object
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
Human-readable message indicating details about last transition.
Unique, one-word, CamelCase reason for the condition's last transition.
services object[]
IP or Host from svc.Status.LoadBalancerStatus.Ingress
name of the loadbalancer service
ports object[]
port this service exposed
The port that will be exposed by this service.
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
profileStatus object
If it is true then profile pack values has a reference to user defined macros
Possible values: [ready
, unpaired
, in-use
]
listmeta object
ListMeta describes metadata for the resource listing
Next token for the pagination. Next token is equal to empty string indicates end of result set.
Total count of the resources which might change during pagination based on the resources addition or deletion
Number of records feteched
The next offset for the pagination. Starting index for which next request will be placed.
{
"items": [
{
"aclmeta": {
"ownerUid": "string",
"projectUid": "string",
"tenantUid": "string"
},
"metadata": {
"annotations": {},
"creationTimestamp": "2023-12-01T21:31:48.914Z",
"deletionTimestamp": "2023-12-01T21:31:48.914Z",
"labels": {},
"lastModifiedTimestamp": "2023-12-01T21:31:48.914Z",
"name": "string",
"uid": "string"
},
"spec": {
"cloudProperties": {
"vsphere": {
"datacenters": [
{
"computeClusters": [
{
"datastores": [
"string"
],
"name": "string",
"networks": [
"string"
],
"resourcePools": [
"string"
]
}
],
"folders": [
"string"
],
"name": "string"
}
]
}
},
"clusterProfileTemplates": [
{
"cloudType": "all",
"name": "string",
"packServerRefs": [
{
"kind": "string",
"name": "string",
"uid": "string"
}
],
"packServerSecret": "string",
"packs": [
{
"annotations": {},
"digest": "string",
"inValidReason": "string",
"isInvalid": true,
"layer": "kernel",
"manifests": [
{
"kind": "string",
"name": "string",
"uid": "string"
}
],
"name": "string",
"packUid": "string",
"params": {},
"presets": [
{
"add": "string",
"displayName": "string",
"group": "string",
"name": "string",
"remove": [
"string"
]
}
],
"registryUid": "string",
"schema": [
{
"format": "string",
"hints": [
"string"
],
"listOptions": [
"string"
],
"name": "string",
"readonly": true,
"regex": "string",
"required": true,
"type": "string"
}
],
"server": "string",
"tag": "string",
"type": "spectro",
"values": "string",
"version": "string"
}
],
"profileVersion": "string",
"relatedObject": {
"kind": "string",
"name": "string",
"uid": "string"
},
"type": "string",
"uid": "string",
"version": 0
}
],
"device": {
"archType": "amd64",
"cpu": {
"cores": 0
},
"disks": [
{
"controller": "string",
"partitions": [
{
"fileSystemType": "string",
"freeSpace": 0,
"mountPoint": "string",
"totalSpace": 0,
"usedSpace": 0
}
],
"size": 0,
"vendor": "string"
}
],
"gpus": [
{
"addresses": {},
"model": "string",
"vendor": "string"
}
],
"memory": {
"sizeInMB": 0
},
"nics": [
{
"dns": [
"string"
],
"gateway": "string",
"ip": "string",
"isDefault": true,
"macAddr": "string",
"nicName": "string",
"subnet": "string"
}
],
"os": {
"family": "string",
"version": "string"
}
},
"host": {
"disableAutoRegister": true,
"hostAddress": "string",
"hostAuthToken": "string",
"hostChecksum": "string",
"hostIdentity": {
"caCert": "string",
"mode": "string",
"socketPath": "string",
"sshSecret": {
"name": "string",
"privateKey": "string"
}
},
"hostPairingKey": "string",
"hostUid": "string",
"macAddress": "string",
"project": {
"name": "string",
"uid": "string"
}
},
"properties": {
"networks": [
{
"networkName": "string",
"networkType": "default"
}
],
"storagePools": [
{
"name": "string"
}
]
},
"service": {
"name": "string",
"version": "string"
},
"type": "libvirt",
"version": "string"
},
"status": {
"health": {
"agentVersion": "string",
"message": "string",
"state": "healthy"
},
"inUseClusters": [
{
"name": "string",
"uid": "string"
}
],
"packs": [
{
"condition": {
"lastProbeTime": "2023-12-01T21:31:48.915Z",
"lastTransitionTime": "2023-12-01T21:31:48.915Z",
"message": "string",
"reason": "string",
"status": "string",
"type": "string"
},
"endTime": "2023-12-01T21:31:48.915Z",
"manifests": [
{
"condition": {
"lastProbeTime": "2023-12-01T21:31:48.915Z",
"lastTransitionTime": "2023-12-01T21:31:48.915Z",
"message": "string",
"reason": "string",
"status": "string",
"type": "string"
},
"name": "string",
"uid": "string"
}
],
"name": "string",
"profileUid": "string",
"services": [
{
"host": "string",
"name": "string",
"ports": [
{
"port": 0,
"protocol": "string"
}
]
}
],
"startTime": "2023-12-01T21:31:48.915Z",
"type": "string",
"version": "string"
}
],
"profileStatus": {
"hasUserMacros": true
},
"serviceAuthToken": "string",
"state": "ready"
}
}
],
"listmeta": {
"continue": "string",
"count": 0,
"limit": 0,
"offset": 0
}
}