Skip to content
Proud to collaborate with Microsoft for Startups

apphost.machine.claim ​

Claim hosted compute for an AppHost site: enforce subscription and live-machine quotas, persist desired_status=allocated. Default placement is shared (no AKS pool). Idempotent per live site.

Claim a hosted Machine for a site (DB desired-state; reconcile allocates).

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes—Hosted site (the AppHost project) this Machine belongs to
skustringNosmallsmall
modestringNosleepablesleepable (default)
placementstringNosharedshared (default, packed pool)

Output Schema ​

FieldTypeRequiredDefaultDescription
machine_uuiduuidYes——
site_uuiduuidYes——
organization_uuiduuidNo——
skustringYes——
modestringYes——
statusstringYes——
desired_statusstringYes——
aks_pool_namestringNo——
placementstringYes——
createdbooleanYes——
already_existsbooleanYes——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—executeClaim accepted; will validate quotas and persist the Machine
completedNoYesYes—Machine claimed (or existing live Machine returned)
failedNoYesNo—Claim rejected

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

Outcomes ​

OutcomeTypeDescriptionState Data Keys
claimedSUCCESSHosted Machine claimed (or existing live Machine returned)machine_uuid, sku, mode, status
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "apphost.machine.claim",
  "initial_data": {
    "site_uuid": "value"
  }
}