at.happyproto.admin.listHosts
Every host, with what its tenants hold. Staff only.
Details · query
| Kind | query |
|---|---|
| Authority | admin.happyproto.at |
| Indexed |
Checks
Validunlimited-stringdefs.host.properties.idNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.host.properties.nameNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.host.properties.placeablePlans.itemsNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.host.properties.stateNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.unplaceablePlans.itemsNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"host": {
"description": "A host. Never carries its addresses or agent certificate.",
"properties": {
"cpuMillis": {
"type": "integer"
},
"diskGb": {
"type": "integer"
},
"freeDiskGb": {
"description": "diskGb less reservedDiskGb. Negative when the host is over-committed.",
"type": "integer"
},
"freeMemoryMb": {
"description": "memoryMb less reservedMemoryMb. Negative when the host is over-committed.",
"type": "integer"
},
"id": {
"description": "A UUID.",
"type": "string"
},
"lastSeenAt": {
"description": "When its agent last answered. Absent if it never has.",
"format": "datetime",
"type": "string"
},
"memoryMb": {
"type": "integer"
},
"name": {
"type": "string"
},
"placeablePlans": {
"description": "Plans open for new instances that fit in this host's free memory and disk, smallest first. Empty unless the host is active.",
"items": {
"type": "string"
},
"type": "array"
},
"reservedDiskGb": {
"description": "Disk held by the plans of instances placed here and not yet purged. A deleted instance keeps its disk through its recovery window.",
"type": "integer"
},
"reservedMemoryMb": {
"description": "Memory those instances' plans hold.",
"type": "integer"
},
"state": {
"knownValues": [
"active",
"draining",
"degraded",
"retired"
],
"type": "string"
},
"tenantCount": {
"description": "Instances placed here and not deleted.",
"type": "integer"
}
},
"required": [
"id",
"name",
"state",
"memoryMb",
"cpuMillis",
"diskGb",
"tenantCount",
"reservedMemoryMb",
"reservedDiskGb"
],
"type": "object"
},
"main": {
"description": "Every host, with what its tenants hold. Staff only.",
"errors": [
{
"description": "This endpoint requires an authenticated caller.",
"name": "AuthRequired"
},
{
"description": "The caller is not HappyProto staff, or the provisioner does not treat them as staff.",
"name": "Forbidden"
},
{
"description": "The provisioner refused the request as malformed. Not expected from this read; declared because every provisioner refusal is mapped the same way.",
"name": "InvalidRequest"
},
{
"description": "Passed through from the provisioner.",
"name": "NotFound"
},
{
"description": "Passed through from the provisioner.",
"name": "InvalidSlug"
},
{
"description": "Passed through from the provisioner.",
"name": "SlugTaken"
},
{
"description": "Passed through from the provisioner.",
"name": "NotEntitled"
},
{
"description": "Passed through from the provisioner.",
"name": "InstanceLimit"
},
{
"description": "Passed through from the provisioner.",
"name": "NoCapacity"
},
{
"description": "Passed through from the provisioner.",
"name": "OperationInProgress"
},
{
"description": "The provisioner is unreachable, not configured, or answered with an error it does not explain to callers.",
"name": "Upstream"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"hosts": {
"items": {
"ref": "#host",
"type": "ref"
},
"type": "array"
},
"unplaceablePlans": {
"description": "Plans open for new instances that fit on no active host, smallest first. A new instance on one of these fails with NoCapacity. Absent from a provisioner that does not report it.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"hosts"
],
"type": "object"
}
},
"type": "query"
}
},
"id": "at.happyproto.admin.listHosts",
"lexicon": 1
}