{deployment ? `${actionLabels[deployment.action]} ${deployment.server}` : 'Provisioning'} | Electric Cherry
{#snippet crumbs()}{/snippet} {#snippet actions()}{#if serverHref}{/if}{/snippet}
{#if deployment}
Operation
{/if}
{#if view.loadError}{/if} {#if deployment && detail && outcome}
{#if deployment.server_deleted_at}Deleted identity{/if}{#if detail.progress?.recovery?.state === 'held'}Recovery capacity held{/if}
Operation outcome

{outcome.headline}

{outcome.description}

{#if deployment.error}{/if} {#if detail.activity.failureExcerpt && detail.activity.failureExcerpt.message !== deployment.error && ['failed', 'interrupted'].includes(deployment.state)}

Last failure event · {fmt(detail.activity.failureExcerpt.created_at)}{detail.activity.failureExcerpt.message}

{/if} {#if detail.warningMessages.length}

Recorded warnings

    {#each detail.warningMessages as warning}
  • {warning}
  • {/each}
{/if} {#if detail.canResumeVerification || detail.canResumeCleanup || detail.canResumeRebuild || detail.canCancelRemoval}
{#if detail.canResumeVerification}{/if} {#if detail.canResumeRebuild}{/if} {#if detail.canResumeCleanup}{/if} {#if detail.canCancelRemoval}

Available until removal begins. Cancelling keeps the server and its files.

{/if}
{/if} {#if view.actionError}{/if} {#if view.notice}

{view.notice}

{/if} {#if detail.progress?.blocker?.href}{detail.progress.blocker.label ?? 'View blocking work'} →{/if} {#if detail.progress?.recovery}
{detail.progress.recovery.state === 'held' ? 'Recovery remains in progress' : detail.progress.recovery.state === 'released' ? 'Recovery capacity released' : detail.progress.recovery.state === 'transferred' ? 'Recovery transferred' : 'Recovery state not confirmed'}

{detail.progress.recovery.message}

Recorded {fmt(detail.progress.recovery.at)}{#if detail.progress.recovery.operationId && detail.progress.recovery.operationId !== deployment.id}View recovery operation →{/if}
{/if} {#if serverHref && !['done', 'cancelled'].includes(deployment.state)}
Open server logsDiagnose connection{#if detail.progress?.phase === 'verify-map' || detail.progress?.checks.some(check => check.key === 'map' && check.result !== 'pass')}Review map configuration{/if}
{/if}
{outcome.active ? 'Total elapsed' : 'Recorded duration'}{elapsedTime(deployment.started_at, deployment.finished_at ? Date.parse(deployment.finished_at) : now)}
{#if outcome.active}
Time in phase{elapsedTime(detail.progress?.phaseStartedAt, now)}
{/if}
Last evaluated
Page updated · updates automatically
{#key deployment.id}
{#if detail.recipe}{/if} {/key} {:else}
Loading provisioning operation…
{/if}