Anchorage API reference
    Preparing search index...
    interface BackendSwitchApi {
        assertR2BucketEmpty?(resource: ApplicationR2Binding): Promise<void>;
        attachCustomDomain(
            target: { hostname: string; service: string },
            fence: ExternalMutationFence,
        ): Promise<void>;
        batchDatabase(
            databaseId: string,
            statements: readonly { bindings?: readonly string[]; sql: string }[],
        ): Promise<void>;
        createDatabase(name: string): Promise<DatabaseReference>;
        createR2Bucket?(
            resource: ApplicationR2Binding,
            fence: ExternalMutationFence,
        ): Promise<void>;
        deleteControlSecrets?(
            scriptName: string,
            secretNames: readonly string[],
            fence: ExternalMutationFence,
        ): Promise<void>;
        deleteControlWorker(scriptName: string): Promise<void>;
        deleteDatabase(databaseId: string): Promise<void>;
        deleteDispatchWorker(scriptName: string): Promise<void>;
        deleteHostRouting(
            namespaceId: string,
            hostname: string,
            allowedTargets: readonly Readonly<
                { environment: string; scriptName: string; tenantTag: string },
            >[],
        ): Promise<void>;
        deleteR2Bucket?(
            resource: ApplicationR2Binding,
            fence: ExternalMutationFence,
        ): Promise<void>;
        deleteScriptInventory(
            namespaceId: string,
            expected: ScriptInventoryTarget,
        ): Promise<void>;
        detachCustomDomain(
            domainId: string,
            fence: ExternalMutationFence,
        ): Promise<void>;
        disableControlWorkerPublicAccess(scriptName: string): Promise<void>;
        disableOrdinaryWorkerPublicAccess(
            scriptName: string,
            fence: ExternalMutationFence,
        ): Promise<void>;
        exportDatabase(databaseId: string): Promise<DatabaseExport>;
        findDatabase(name: string): Promise<DatabaseReference | undefined>;
        getDatabase(databaseId: string): Promise<DatabaseReference | undefined>;
        getHostRouting(
            namespaceId: string,
            hostname: string,
        ): Promise<string | undefined>;
        getR2Bucket?(
            bucketName: string,
            jurisdiction: R2Jurisdiction,
        ): Promise<ApplicationR2BucketSnapshot | undefined>;
        getScriptInventory(
            namespaceId: string,
            scriptName: string,
        ): Promise<ScriptInventoryTarget | undefined>;
        hasDurableObjectNamespace(namespaceId: string): Promise<boolean>;
        inspectControlWorker(
            scriptName: string,
        ): Promise<
            | {
                artifactVersion: string;
                databaseIds: readonly string[];
                durableObjectBindings: readonly DurableObjectBindingInventory[];
                kvNamespaceBindings: readonly Readonly<
                    { name: string; namespaceId: string },
                >[];
                plainTextBindings: Readonly<Record<string, string>>;
                previewUrlsEnabled: boolean;
                providerBindingIdentities: readonly ProviderBindingIdentity[];
                queueProducerBindings?: readonly Readonly<
                    { name: string; queueName: string },
                >[];
                r2BucketBindings?: readonly ApplicationR2Binding[];
                routeHostnames: readonly string[];
                secretNames: readonly string[];
                serviceBindings: readonly Readonly<
                    { entrypoint?: string; name: string; service: string },
                >[];
                workersDevEnabled: boolean;
                zoneRoutes: readonly WorkerZoneRoute[];
            }
            | undefined,
        >;
        inspectDispatchWorker(
            scriptName: string,
        ): Promise<
            | {
                artifactVersion: string;
                databaseIds: readonly string[];
                desiredSpecDigest: string;
                durableObjectBindings: readonly DurableObjectBindingInventory[];
                durableObjectTag?: string;
                environment: string;
                plainTextBindings: Readonly<Record<string, string>>;
                providerBindingIdentities: readonly ProviderBindingIdentity[];
                queueProducerBindings?: readonly Readonly<
                    { name: string; queueName: string },
                >[];
                r2BucketBindings?: readonly ApplicationR2Binding[];
                schemaVersion: number;
                secretNames: readonly string[];
                serviceBindings?: readonly Readonly<
                    { entrypoint?: string; name: string; service: string },
                >[];
                tenantTag: string;
            }
            | undefined,
        >;
        inspectOrdinaryWorkerFootprint(
            scriptName: string,
        ): Promise<
            {
                customDomains: readonly Readonly<
                    { hostname: string; id: string; service: string },
                >[];
                previewUrlsEnabled?: boolean;
                scriptPresent: boolean;
                workersDevEnabled?: boolean;
                zoneRoutes: readonly WorkerZoneRoute[];
            },
        >;
        listCustomDomains(): Promise<
            readonly Readonly<{ hostname: string; id: string; service: string }>[],
        >;
        listDurableObjectNamespaces(scriptName: string): Promise<readonly string[]>;
        listWorkerDatabaseAttachments(
            databaseId: string,
        ): Promise<
            readonly Readonly<
                {
                    dispatchNamespace?: string;
                    plane: "ordinary"
                    | "dispatch";
                    scriptName: string;
                },
            >[],
        >;
        listWorkerR2Attachments?(
            bucketName: string,
        ): Promise<
            readonly Readonly<
                {
                    dispatchNamespace?: string;
                    plane: "ordinary"
                    | "dispatch";
                    scriptName: string;
                },
            >[],
        >;
        putControlSecrets(
            scriptName: string,
            secrets: Readonly<Record<string, string>>,
        ): Promise<void>;
        putDispatchSecrets(
            scriptName: string,
            secrets: DeploymentSecrets,
            options?: Readonly<
                {
                    additionalSecrets?: Readonly<Record<string, string>>;
                    includeMaintenanceAdmin?: boolean;
                },
            >,
        ): Promise<void>;
        putHostRouting(
            namespaceId: string,
            hostname: string,
            target: {
                environment: string;
                policyDigest: string;
                policyHosts: readonly string[];
                policyId: string;
                scriptName: string;
                stateEgress?: Readonly<
                    {
                        credentialDigest: string;
                        resourceGroupId: string;
                        stateScriptName: string;
                    },
                >;
                tenantTag: string;
            },
            guard: PromotionGuard,
        ): Promise<void>;
        putScriptInventory(
            namespaceId: string,
            target: ScriptInventoryTarget,
        ): Promise<void>;
        queryDatabase(
            databaseId: string,
            sql: string,
            bindings?: readonly string[],
        ): Promise<readonly Readonly<Record<string, unknown>>[]>;
        revokeControlSecrets(scriptName: string): Promise<void>;
        revokeDispatchSecrets(scriptName: string): Promise<void>;
        uploadControlWorker(
            spec: {
                bindings: readonly Readonly<Record<string, unknown>>[];
                compatibilityDate: string;
                compatibilityFlags?: readonly string[];
                mainModule: string;
                migrations?: Readonly<Record<string, unknown>>;
                modules: readonly WorkerModule[];
                scriptName: string;
                tags?: readonly string[];
            },
        ): Promise<string>;
        uploadDispatchWorker(
            spec: DeploymentSpec,
            database: DatabaseReference,
            physicalScriptName?: string,
            platformResources?: ExternalPlatformResources,
            application?: ApplicationBindingTopology,
        ): Promise<{ artifactVersion: string }>;
        uploadNamespacedStateWorker?(
            options: {
                artifact: TrustedWorkerArtifact;
                artifactDigest: string;
                auditQueueName?: string;
                database: DatabaseReference;
                maintenanceCapabilityPublicKey: string;
                sharedOutboundWorkerName: string;
                spec: DeploymentSpec;
                stateEgressCredentialDigest: string;
            },
        ): Promise<{ artifactVersion: string }>;
        withMutationFence<T>(
            fence: ExternalMutationFence,
            operation: () => Promise<T>,
        ): Promise<T>;
    }

    Hierarchy (View Summary)

    Index

    Methods

    • Parameters

      • namespaceId: string
      • hostname: string
      • allowedTargets: readonly Readonly<
            { environment: string; scriptName: string; tenantTag: string },
        >[]

      Returns Promise<void>

    • Parameters

      • scriptName: string

      Returns Promise<
          | {
              artifactVersion: string;
              databaseIds: readonly string[];
              durableObjectBindings: readonly DurableObjectBindingInventory[];
              kvNamespaceBindings: readonly Readonly<
                  { name: string; namespaceId: string },
              >[];
              plainTextBindings: Readonly<Record<string, string>>;
              previewUrlsEnabled: boolean;
              providerBindingIdentities: readonly ProviderBindingIdentity[];
              queueProducerBindings?: readonly Readonly<
                  { name: string; queueName: string },
              >[];
              r2BucketBindings?: readonly ApplicationR2Binding[];
              routeHostnames: readonly string[];
              secretNames: readonly string[];
              serviceBindings: readonly Readonly<
                  { entrypoint?: string; name: string; service: string },
              >[];
              workersDevEnabled: boolean;
              zoneRoutes: readonly WorkerZoneRoute[];
          }
          | undefined,
      >

    • Parameters

      • scriptName: string

      Returns Promise<
          | {
              artifactVersion: string;
              databaseIds: readonly string[];
              desiredSpecDigest: string;
              durableObjectBindings: readonly DurableObjectBindingInventory[];
              durableObjectTag?: string;
              environment: string;
              plainTextBindings: Readonly<Record<string, string>>;
              providerBindingIdentities: readonly ProviderBindingIdentity[];
              queueProducerBindings?: readonly Readonly<
                  { name: string; queueName: string },
              >[];
              r2BucketBindings?: readonly ApplicationR2Binding[];
              schemaVersion: number;
              secretNames: readonly string[];
              serviceBindings?: readonly Readonly<
                  { entrypoint?: string; name: string; service: string },
              >[];
              tenantTag: string;
          }
          | undefined,
      >

    • Parameters

      • scriptName: string

      Returns Promise<
          {
              customDomains: readonly Readonly<
                  { hostname: string; id: string; service: string },
              >[];
              previewUrlsEnabled?: boolean;
              scriptPresent: boolean;
              workersDevEnabled?: boolean;
              zoneRoutes: readonly WorkerZoneRoute[];
          },
      >

    • Parameters

      • databaseId: string

      Returns Promise<
          readonly Readonly<
              {
                  dispatchNamespace?: string;
                  plane: "ordinary"
                  | "dispatch";
                  scriptName: string;
              },
          >[],
      >

    • Parameters

      • bucketName: string

      Returns Promise<
          readonly Readonly<
              {
                  dispatchNamespace?: string;
                  plane: "ordinary"
                  | "dispatch";
                  scriptName: string;
              },
          >[],
      >

    • Parameters

      • scriptName: string
      • secrets: DeploymentSecrets
      • Optionaloptions: Readonly<
            {
                additionalSecrets?: Readonly<Record<string, string>>;
                includeMaintenanceAdmin?: boolean;
            },
        >

      Returns Promise<void>

    • Parameters

      • namespaceId: string
      • hostname: string
      • target: {
            environment: string;
            policyDigest: string;
            policyHosts: readonly string[];
            policyId: string;
            scriptName: string;
            stateEgress?: Readonly<
                {
                    credentialDigest: string;
                    resourceGroupId: string;
                    stateScriptName: string;
                },
            >;
            tenantTag: string;
        }
      • guard: PromotionGuard

      Returns Promise<void>

    • Parameters

      • spec: {
            bindings: readonly Readonly<Record<string, unknown>>[];
            compatibilityDate: string;
            compatibilityFlags?: readonly string[];
            mainModule: string;
            migrations?: Readonly<Record<string, unknown>>;
            modules: readonly WorkerModule[];
            scriptName: string;
            tags?: readonly string[];
        }

      Returns Promise<string>