Anchorage API reference
    Preparing search index...
    interface BackendSwitchProvider {
        assertCandidateHostPublished(
            input: {
                candidate: ExternalReleaseSnapshot;
                fence: ExternalMutationFence;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        assertCandidateServing(
            input: {
                candidate: ExternalReleaseSnapshot;
                fence: ExternalMutationFence;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        assertFinalizedState(
            input: {
                currentRecord: FleetRecord;
                fence: ExternalMutationFence;
                plan: BridgeMutationPlan;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        assertPlainBridgeServing(
            input: {
                bridge: BridgeSnapshot;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
            },
        ): Promise<void>;
        assertSwitchApplicationR2Detached(
            resource: ApplicationR2Resource,
            fence: ExternalMutationFence,
        ): Promise<void>;
        assertSwitchApplicationR2Empty(
            resource: ApplicationR2Resource,
            fence: ExternalMutationFence,
        ): Promise<void>;
        assertSwitchTrafficRemoved(
            input: { prior: PlainBackendSnapshot; routeHostname: string },
        ): Promise<void>;
        commitFinalizedOwnership(
            input: {
                bridge: BridgeSnapshot;
                currentRecord: FleetRecord;
                fence: ExternalMutationFence;
                target: ExternalPlatformTargetDescription;
            },
        ): Promise<FleetRecord>;
        commitPlainOwnership(
            input: {
                currentRecord: FleetRecord;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
                restoredArtifactVersion: string;
            },
        ): Promise<FleetRecord>;
        commitWorkersForPlatformsOwnership(
            input: {
                bridge: BridgeSnapshot;
                candidate: ExternalReleaseSnapshot;
                currentRecord: FleetRecord;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<FleetRecord>;
        deleteSwitchApplicationR2(
            resource: ApplicationR2Resource,
            fence: ExternalMutationFence,
        ): Promise<void>;
        deleteSwitchDatabase(
            input: {
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        describeBridge(
            input: {
                prior: PlainBackendSnapshot;
                priorSpec: DeploymentSpec;
                targetSpec: DeploymentSpec;
            },
        ): BridgeMutationPlan;
        describeFinalizedBridgeTarget(
            targetSpec: DeploymentSpec,
            currentRecord: FleetRecord,
        ): ExternalPlatformTargetDescription;
        describeFinalizedState(
            input: {
                currentRecord: FleetRecord;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): BridgeMutationPlan;
        detachPlainCustomDomain(
            input: {
                bridge: BridgeSnapshot;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
            },
        ): Promise<void>;
        ensureBridge(
            input: {
                fence: ExternalMutationFence;
                plan: BridgeMutationPlan;
                prior: PlainBackendSnapshot;
                priorSpec: DeploymentSpec;
                secrets: DeploymentSecrets;
                targetSpec: DeploymentSpec;
            },
        ): Promise<BridgeSnapshot>;
        ensureCandidate(
            input: {
                bridge: BridgeSnapshot;
                currentRecord: FleetRecord;
                fence: ExternalMutationFence;
                secrets: DeploymentSecrets;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<BackendSwitchCandidateSnapshot>;
        ensureFinalizedState(
            input: {
                currentRecord: FleetRecord;
                fence: ExternalMutationFence;
                plan: BridgeMutationPlan;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<BridgeSnapshot>;
        ensureStateOnlyBridge(
            input: {
                bridge: BridgeSnapshot;
                fence: ExternalMutationFence;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<BridgeSnapshot>;
        exportSwitchDatabase(
            input: {
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
                targetSpec: DeploymentSpec;
            },
        ): Promise<DatabaseExport>;
        findSwitchApplicationR2(
            resource: ApplicationR2Resource,
        ): Promise<ApplicationR2BucketSnapshot | undefined>;
        privatizeBridge(
            input: { bridge: BridgeSnapshot; fence: ExternalMutationFence },
        ): Promise<BridgeSnapshot>;
        publishCandidateHost(
            input: {
                bridge: BridgeSnapshot;
                candidate: ExternalReleaseSnapshot;
                fence: ExternalMutationFence;
                target: ExternalPlatformTargetDescription;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        recoverBridge(
            input: {
                fence: ExternalMutationFence;
                plan: BridgeMutationPlan;
                prior: PlainBackendSnapshot;
                priorSpec: DeploymentSpec;
                targetSpec: DeploymentSpec;
            },
        ): Promise<BridgeSnapshot | undefined>;
        removeCandidateHostAndDrain(
            input: {
                candidate: ExternalReleaseSnapshot;
                fence: ExternalMutationFence;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        removeSwitchBridge(
            input: {
                allowedArtifactVersions: readonly string[];
                bridge?: BridgeSnapshot;
                fence: ExternalMutationFence;
                plan?: BridgeMutationPlan;
                prior: PlainBackendSnapshot;
                priorSpec: DeploymentSpec;
                targetSpec: DeploymentSpec;
            },
        ): Promise<void>;
        removeSwitchRelease(
            input: {
                environment: string;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
                release: ExternalReleaseSnapshot;
                routeHostname: string;
                tenantTag: string;
            },
        ): Promise<void>;
        removeSwitchTraffic(
            input: {
                allowedArtifactVersions: readonly string[];
                bridge?: BridgeSnapshot;
                environment: string;
                fence: ExternalMutationFence;
                plan?: BridgeMutationPlan;
                prior: PlainBackendSnapshot;
                priorSpec: DeploymentSpec;
                routeHostname: string;
                routeTargets: readonly HostRoutingTarget[];
                targetSpec: DeploymentSpec;
                tenantTag: string;
            },
        ): Promise<void>;
        restorePlainDeployment(
            input: {
                bridge: BridgeSnapshot;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
                priorSpec: DeploymentSpec;
                secrets: DeploymentSecrets;
                targetSpec: DeploymentSpec;
            },
        ): Promise<string>;
        routePlainDomainToBridge(
            input: {
                bridge: BridgeSnapshot;
                fence: ExternalMutationFence;
                prior: PlainBackendSnapshot;
            },
        ): Promise<void>;
        snapshotPlainDeployment(
            priorSpec: DeploymentSpec,
            currentRecord: FleetRecord,
            fence: ExternalMutationFence,
        ): Promise<PlainBackendSnapshot>;
    }

    Implemented by

    Index

    Methods