{deployment ? actionLabels[deployment.action] + ' ' + deployment.server : 'Provisioning'} | Electric Cherry
{#snippet crumbs()}{/snippet} {#if error}{/if} {#if detail?.collection}← Back to {detail.collection.name} collection{/if} {#if deployment}
{#if deployment.server_deleted_at}Deleted{:else if deployment.server_exists}View server{/if}

{deployment.state === 'done' ? actionCompleted[deployment.action] : deployment.stage}

{explanation}

Total time {duration(deployment.started_at, deployment.finished_at ? new Date(deployment.finished_at).getTime() : now)}{#if active && stageStarted}This step {duration(stageStarted, now)}{/if}
{#if detail?.canResumeVerification && !deployment.server_deleted_at}
{/if} {#if detail?.canResumeRebuild && !deployment.server_deleted_at}
{/if} {#if detail?.canResumeCleanup && !deployment.server_deleted_at}
{/if} {#if detail?.canCancelRemoval && !deployment.server_deleted_at}

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

{/if} {#if deployment.server_exists && !deployment.server_deleted_at && deployment.state !== 'done' && deployment.state !== 'cancelled'}{/if} {#if deployment.error}{/if} {#each warnings as warning}

{warning}

{/each} {#if deployment.expected_map}

Expected map: {deployment.expected_map}

{/if}
Started
{fmt(deployment.started_at)}
Finished
{deployment.finished_at ? fmt(deployment.finished_at) : 'In progress'}
Requested by
{deployment.triggered_by}
{#if detail?.sources.length}{/if}
{#if detail?.recipe}

{detail.blueprintName ? `Launched from ${detail.blueprintName}` : 'Recorded launch files'}

Launch this map with the latest promoted files using a fresh server ID and port. This does not repair the existing server.

{/if} ({label,state:deployment.state === 'cancelled' ? 'pending' : index < currentStep ? 'done' : index === currentStep ? (!active && ['failed','interrupted'].includes(deployment.state) ? 'failed' : 'current') : 'pending'}))} events={detail?.events ?? []} {active} /> {:else if !error}

Loading provisioning operation...

{/if}