Skip to main content

Variable: SetupAnswers

const SetupAnswers: TObject<{ anchor: TOptional<TObject<{ contacts: TOptional<TArray<TString>>; displayName: TString; disputeRoute: TOptional<TString>; frameworkDocument: TOptional<TUnion<[TString, TObject<{ governingAuthority: TObject<...>; name: TWith<..., ...>; roles: TArray<...>; version: TInteger; }>, TObject<{ name: TWith<..., ...>; primaryDocument: TObject<...>; roles: TArray<...>; schemaVersion: TWith<..., ...>; version: TInteger; }>]>>; slug: TString; }>>; deployment: TOptional<TObject<{ airGapped: TOptional<TBoolean>; domain: TString; name: TString; }>>; governance: TOptional<TObject<{ fourEyes: TOptional<TBoolean>; statementLifetimes: TOptional<TObject<{ anchorConfigurationSeconds: TOptional<TWith<TInteger, { description: ...; }>>; entityConfigurationSeconds: TOptional<TWith<TInteger, { description: ...; }>>; subordinateStatementSeconds: TOptional<TWith<TInteger, { description: ...; }>>; }>>; }>>; governingAccount: TOptional<TObject<{ displayName: TString; email: TString; }>>; identifiers: TOptional<TObject<{ anchor: TOptional<TBoolean>; anchorMethod: TOptional<TLiteral<"webvh">>; methods: TOptional<TWith<TArray<TUnsafe<"webvh" | "web">>, { default: readonly ["webvh"]; }>>; registries: TOptional<TArray<TUnsafe<"centralized">>>; }>>; identityProvider: TOptional<TObject<{ adminCredential: TString; invitationLinkHours: TOptional<TInteger>; kind: TUnion<[TLiteral<"keycloak">, TLiteral<"wso2">]>; mail: TOptional<TObject<{ from: TString; fromName: TOptional<TString>; smtp: TString; }>>; mode: TUnion<[TLiteral<"bundled">, TLiteral<"customer-run">, TLiteral<"bring-your-own">]>; publicClients: TOptional<TArray<TObject<{ clientId: TString; offlineAccess: TOptional<TBoolean>; realm: TUnion<[..., ...]>; redirectUris: TArray<TString>; webOrigins: TOptional<TArray<...>>; }>>>; realms: TObject<{ holders: TOptional<TString>; staff: TString; }>; tenantDomains: TOptional<TRecord<"^.*$", TString>>; testRecipients: TOptional<TArray<TObject<{ channel: TUnion<[..., ...]>; code: TString; realm: TUnion<[..., ...]>; recipient: TString; }>>>; }>>; keyStore: TOptional<TObject<{ expectedManufacturer: TOptional<TString>; expectedModel: TOptional<TString>; }>>; machineClients: TOptional<TArray<TObject<{ actsFor: TString; bundle: TOptional<TString>; clientId: TString; secret: TString; }>>>; organizations: TOptional<TArray<TObject<{ displayName: TString; path: TString; }>>>; rootAccount: TOptional<TObject<{ bundle: TOptional<TString>; displayName: TString; email: TString; }>>; }>

Defined in: packages/contracts/src/setup-answers.ts:572

What one wizard step may send: any of the answer file's sections, each replacing the stored section whole. A section left out is left as it is. Which sections a given step may write is the engine's rule (SETUP_STEPS in setup.ts), checked after the shape, so a section sent to the wrong step is refused by name.

Whole sections, not field patches, because a patch language needs a way to say "remove this key" and every such way is a second place a value could hide.