pub enum SandboxHeartbeatData {
Variant0 {
backend: SandboxHeartbeatDataVariant0Backend,
image_identifier: String,
image_state: Option<String>,
status: SandboxHeartbeatStatus,
},
Variant1 {
backend: SandboxHeartbeatDataVariant1Backend,
provisioning_state: Option<String>,
sandbox_group: String,
status: SandboxHeartbeatStatus,
},
Variant2 {
backend: SandboxHeartbeatDataVariant2Backend,
engine: String,
status: SandboxHeartbeatStatus,
template_id: String,
},
Variant3 {
active_sessions: i32,
backend: SandboxHeartbeatDataVariant3Backend,
idle_pods: i32,
namespace: String,
status: SandboxHeartbeatStatus,
},
Variant4 {
active_sessions: i32,
backend: SandboxHeartbeatDataVariant4Backend,
route_serving: bool,
status: SandboxHeartbeatStatus,
},
}Expand description
Content-free telemetry about what a sandbox resource is running.
Never anything from inside a sandbox. A controller reaches only the cloud’s management APIs, and the whole point of the resource is that the control plane cannot see what runs in it.
JSON schema
{
"description": "Content-free telemetry about what a sandbox resource is running.\n\nNever anything from inside a sandbox. A controller reaches only the cloud's management APIs,\nand the whole point of the resource is that the control plane cannot see what runs in it.",
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/AwsMicrovmSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"awsMicrovm"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/AzureSandboxGroupHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"azureSandboxGroup"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/GcpAgentPlatformSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"gcpAgentPlatform"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"kubernetesPods"
]
}
}
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/LocalSandboxHeartbeatData"
},
{
"type": "object",
"required": [
"backend"
],
"properties": {
"backend": {
"type": "string",
"enum": [
"local"
]
}
}
}
]
}
]
}Variants§
Variant0
Fields
backend: SandboxHeartbeatDataVariant0Backendimage_state: Option<String>The image’s own lifecycle state, which is where AWS surfaces base-image deprecation.
No sandbox count sits beside it: counting means lambda:ListMicrovms, which authorizes
against no resource type and so cannot be granted without an account-wide reach the
permission sets refuse. A field only an over-broad grant could fill is a field whose
implementer ships AccessDenied into a customer’s account.
status: SandboxHeartbeatStatusVariant1
Variant2
Fields
backend: SandboxHeartbeatDataVariant2Backendengine: StringReasoning engine the template hangs under, without which the template id names nothing.
status: SandboxHeartbeatStatusVariant3
Variant4
Fields
backend: SandboxHeartbeatDataVariant4Backendroute_serving: boolWhether the loopback route is serving in this process. False after a manager restart until the next tick rebinds it.
status: SandboxHeartbeatStatus