at.happyproto.admin.getFleet
Every host, and every tenant with its host, plan, owner and latest metered hour, for the staff fleet view. 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.stateNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.owner.properties.emailNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.plan.properties.idNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.plan.properties.nameNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.tenant.properties.desiredStateNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.tenant.properties.hostIdNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.tenant.properties.idNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.tenant.properties.observedStateNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.tenant.properties.slugNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.tenant.properties.versionNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"host": {
"properties": {
"diskGb": {
"type": "integer"
},
"freeDiskGb": {
"description": "Negative when the host is over-committed.",
"type": "integer"
},
"freeMemoryMb": {
"description": "Negative when the host is over-committed.",
"type": "integer"
},
"id": {
"description": "A UUID.",
"type": "string"
},
"lastSeenAt": {
"description": "Absent until the agent first answers.",
"format": "datetime",
"type": "string"
},
"memoryMb": {
"type": "integer"
},
"name": {
"type": "string"
},
"reservedDiskGb": {
"type": "integer"
},
"reservedMemoryMb": {
"type": "integer"
},
"state": {
"knownValues": [
"active",
"draining",
"degraded",
"retired"
],
"type": "string"
},
"tenantCount": {
"type": "integer"
}
},
"required": [
"id",
"name",
"state",
"memoryMb",
"diskGb",
"tenantCount",
"reservedMemoryMb",
"reservedDiskGb"
],
"type": "object"
},
"main": {
"description": "Every host, and every tenant with its host, plan, owner and latest metered hour, for the staff fleet view. 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": "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"
},
{
"description": "The provisioner refused the request as malformed.",
"name": "InvalidRequest"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"hosts": {
"items": {
"ref": "#host",
"type": "ref"
},
"type": "array"
},
"tenants": {
"items": {
"ref": "#tenant",
"type": "ref"
},
"type": "array"
}
},
"required": [
"hosts",
"tenants"
],
"type": "object"
}
},
"type": "query"
},
"owner": {
"properties": {
"did": {
"format": "did",
"type": "string"
},
"email": {
"description": "The address the owner shared, when they did.",
"type": "string"
},
"emailConfirmed": {
"description": "Whether the owner's PDS says the address is confirmed. Present only with email.",
"type": "boolean"
}
},
"required": [
"did"
],
"type": "object"
},
"plan": {
"properties": {
"diskGb": {
"description": "Its disk quota.",
"type": "integer"
},
"id": {
"type": "string"
},
"memoryMb": {
"description": "Its memory limit.",
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"tenant": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"desiredState": {
"type": "string"
},
"hostId": {
"description": "The host it is placed on. Absent when it never was.",
"type": "string"
},
"id": {
"description": "A UUID.",
"type": "string"
},
"observedState": {
"type": "string"
},
"owner": {
"ref": "#owner",
"type": "ref"
},
"plan": {
"ref": "#plan",
"type": "ref"
},
"slug": {
"type": "string"
},
"usage": {
"description": "Its latest metered hour. Absent when it has none yet: never zeros.",
"ref": "#usage",
"type": "ref"
},
"version": {
"description": "The HappyView release it runs.",
"type": "string"
}
},
"required": [
"id",
"slug",
"desiredState",
"observedState",
"version",
"createdAt",
"plan",
"owner"
],
"type": "object"
},
"usage": {
"properties": {
"apiClients": {
"type": "integer"
},
"diskAvgBytes": {
"type": "integer"
},
"diskPeakBytes": {
"type": "integer"
},
"hour": {
"description": "The metered hour these are from.",
"format": "datetime",
"type": "string"
},
"memAvgBytes": {
"description": "Average over the hour's running time.",
"type": "integer"
},
"memPeakBytes": {
"type": "integer"
},
"partial": {
"description": "Whether the hour has gaps in its samples.",
"type": "boolean"
},
"seats": {
"type": "integer"
}
},
"required": [
"hour",
"partial"
],
"type": "object"
}
},
"id": "at.happyproto.admin.getFleet",
"lexicon": 1
}