Appearance
Variable: AppInstallSaveResult
ts
const AppInstallSaveResult: ZodUnion<readonly [ZodObject<{
change: ZodObject<{
approvalSettings: ZodObject<{
fourEyes: ZodBoolean;
required: ZodBoolean;
}, $strip>;
comment: ZodNullable<ZodString>;
config: ZodRecord<ZodString, ZodUnknown>;
decidedAt: ZodNullable<ZodCoercedDate<unknown>>;
decidedBy: ZodNullable<ZodString>;
decision: ZodNullable<ZodEnum<{
approved: "approved";
rejected: "rejected";
withdrawn: "withdrawn";
}>>;
decisionComment: ZodNullable<ZodString>;
enabled: ZodBoolean;
handlesAdded: ZodArray<ZodEnum<{
handoff: "handoff";
webhook: "webhook";
}>>;
hosts: ZodArray<ZodString>;
hostsAdded: ZodArray<ZodString>;
id: ZodGUID;
installId: ZodGUID;
installName: ZodString;
installUpdatedAt: ZodCoercedDate<unknown>;
needsAdded: ZodArray<ZodEnum<{
documents: "documents";
}>>;
newInstall: ZodBoolean;
origin: ZodEnum<{
auto_upgrade: "auto_upgrade";
save: "save";
}>;
requestedAt: ZodCoercedDate<unknown>;
requestedBy: ZodString;
tenantId: ZodGUID;
versionId: ZodGUID;
}, $strip>;
install: ZodObject<{
aliases: ZodArray<ZodString>;
appName: ZodString;
autoUpgrade: ZodEnum<{
compatible: "compatible";
off: "off";
}>;
circuit: ZodObject<{
defaults: ZodObject<{
failureThreshold: ZodNumber;
openSeconds: ZodNumber;
}, $strip>;
failures: ZodNumber;
settings: ZodObject<{
failureThreshold: ZodNullable<...>;
openSeconds: ZodNullable<...>;
}, $strip>;
since: ZodNullable<ZodCoercedDate<unknown>>;
state: ZodEnum<{
closed: "closed";
half_open: "half_open";
open: "open";
}>;
}, $strip>;
config: ZodRecord<ZodString, ZodUnknown>;
createdAt: ZodCoercedDate<unknown>;
enabled: ZodBoolean;
hosts: ZodArray<ZodString>;
id: ZodGUID;
missingSecrets: ZodArray<ZodString>;
name: ZodString;
pendingChange: ZodNullable<ZodObject<{
approvalSettings: ZodObject<{
fourEyes: ...;
required: ...;
}, $strip>;
comment: ZodNullable<ZodString>;
config: ZodRecord<ZodString, ZodUnknown>;
decidedAt: ZodNullable<ZodCoercedDate<...>>;
decidedBy: ZodNullable<ZodString>;
decision: ZodNullable<ZodEnum<...>>;
decisionComment: ZodNullable<ZodString>;
enabled: ZodBoolean;
handlesAdded: ZodArray<ZodEnum<...>>;
hosts: ZodArray<ZodString>;
hostsAdded: ZodArray<ZodString>;
id: ZodGUID;
installId: ZodGUID;
installName: ZodString;
installUpdatedAt: ZodCoercedDate<unknown>;
needsAdded: ZodArray<ZodEnum<...>>;
newInstall: ZodBoolean;
origin: ZodEnum<{
auto_upgrade: ...;
save: ...;
}>;
requestedAt: ZodCoercedDate<unknown>;
requestedBy: ZodString;
tenantId: ZodGUID;
versionId: ZodGUID;
}, $strip>>;
requiredSecrets: ZodArray<ZodString>;
storedSecrets: ZodArray<ZodString>;
tenantId: ZodGUID;
updateAvailable: ZodBoolean;
updatedAt: ZodCoercedDate<unknown>;
upgrade: ZodNullable<ZodObject<{
actions: ZodArray<ZodObject<..., ...>>;
changeId: ZodNullable<ZodGUID>;
handlesAdded: ZodArray<ZodEnum<...>>;
hostsAdded: ZodArray<ZodString>;
issues: ZodArray<ZodObject<..., ...>>;
missingSecrets: ZodArray<ZodString>;
needsAdded: ZodArray<ZodEnum<...>>;
rollback: ZodBoolean;
target: ZodObject<{
id: ...;
version: ...;
}, $strip>;
waitingFor: ZodNullable<ZodEnum<...>>;
}, $strip>>;
upgradedFromVersionId: ZodNullable<ZodGUID>;
version: ZodObject<{
actions: ZodArray<ZodObject<{
callbackTimeoutSeconds: ...;
description: ...;
idempotent: ...;
inputSchema: ...;
mappable: ...;
name: ...;
outputFromInput: ...;
outputSchema: ...;
retry: ...;
timeoutMs: ...;
}, $strip>>;
capabilities: ZodArray<ZodString>;
category: ZodOptional<ZodString>;
configSchema: ZodRecord<ZodString, ZodUnknown>;
createdAt: ZodCoercedDate<unknown>;
description: ZodOptional<ZodString>;
docsUrl: ZodOptional<ZodString>;
documentsFromConfig: ZodOptional<ZodString>;
handles: ZodObject<{
handoff: ZodOptional<...>;
webhook: ZodDefault<...>;
webhookExternalId: ZodOptional<...>;
webhookExternalIdFromConfig: ZodOptional<...>;
}, $strip>;
hosts: ZodArray<ZodString>;
hostsFromConfig: ZodArray<ZodString>;
id: ZodGUID;
memoryMiB: ZodNumber;
name: ZodString;
needs: ZodArray<ZodEnum<{
documents: ...;
}>>;
platformSource: ZodNullable<ZodEnum<{
operator: ...;
release: ...;
}>>;
pricingNote: ZodOptional<ZodString>;
provenance: ZodNullable<ZodObject<{
kind: ...;
recordedBy: ...;
signedAt: ...;
signer: ...;
source: ...;
transparencyLogIndex: ...;
trusted: ...;
trustedSigner: ...;
verifiedAt: ...;
}, $strip>>;
publishedAt: ZodNullable<ZodCoercedDate<unknown>>;
publisher: ZodEnum<{
platform: "platform";
tenant: "tenant";
}>;
review: ZodNullable<ZodObject<{
comment: ...;
decidedAt: ...;
decidedBy: ...;
id: ...;
requestedAt: ...;
requestedBy: ...;
status: ...;
tenantId: ...;
versionId: ...;
}, $strip>>;
secrets: ZodArray<ZodObject<{
description: ...;
name: ...;
requiredWhen: ...;
}, $strip>>;
secretsFromConfig: ZodOptional<ZodString>;
sha256: ZodString;
sizeBytes: ZodNumber;
status: ZodEnum<{
published: "published";
uploaded: "uploaded";
withdrawn: "withdrawn";
}>;
title: ZodOptional<ZodString>;
vendor: ZodOptional<ZodString>;
version: ZodString;
}, $strip>;
versionId: ZodGUID;
webhookUrl: ZodNullable<ZodURL>;
}, $strip>;
}, $strip>, ZodPipe<ZodObject<{
aliases: ZodArray<ZodString>;
appName: ZodString;
autoUpgrade: ZodEnum<{
compatible: "compatible";
off: "off";
}>;
circuit: ZodObject<{
defaults: ZodObject<{
failureThreshold: ZodNumber;
openSeconds: ZodNumber;
}, $strip>;
failures: ZodNumber;
settings: ZodObject<{
failureThreshold: ZodNullable<ZodNumber>;
openSeconds: ZodNullable<ZodNumber>;
}, $strip>;
since: ZodNullable<ZodCoercedDate<unknown>>;
state: ZodEnum<{
closed: "closed";
half_open: "half_open";
open: "open";
}>;
}, $strip>;
config: ZodRecord<ZodString, ZodUnknown>;
createdAt: ZodCoercedDate<unknown>;
enabled: ZodBoolean;
hosts: ZodArray<ZodString>;
id: ZodGUID;
missingSecrets: ZodArray<ZodString>;
name: ZodString;
pendingChange: ZodNullable<ZodObject<{
approvalSettings: ZodObject<{
fourEyes: ZodBoolean;
required: ZodBoolean;
}, $strip>;
comment: ZodNullable<ZodString>;
config: ZodRecord<ZodString, ZodUnknown>;
decidedAt: ZodNullable<ZodCoercedDate<unknown>>;
decidedBy: ZodNullable<ZodString>;
decision: ZodNullable<ZodEnum<{
approved: ...;
rejected: ...;
withdrawn: ...;
}>>;
decisionComment: ZodNullable<ZodString>;
enabled: ZodBoolean;
handlesAdded: ZodArray<ZodEnum<{
handoff: ...;
webhook: ...;
}>>;
hosts: ZodArray<ZodString>;
hostsAdded: ZodArray<ZodString>;
id: ZodGUID;
installId: ZodGUID;
installName: ZodString;
installUpdatedAt: ZodCoercedDate<unknown>;
needsAdded: ZodArray<ZodEnum<{
documents: ...;
}>>;
newInstall: ZodBoolean;
origin: ZodEnum<{
auto_upgrade: "auto_upgrade";
save: "save";
}>;
requestedAt: ZodCoercedDate<unknown>;
requestedBy: ZodString;
tenantId: ZodGUID;
versionId: ZodGUID;
}, $strip>>;
requiredSecrets: ZodArray<ZodString>;
storedSecrets: ZodArray<ZodString>;
tenantId: ZodGUID;
updateAvailable: ZodBoolean;
updatedAt: ZodCoercedDate<unknown>;
upgrade: ZodNullable<ZodObject<{
actions: ZodArray<ZodObject<{
action: ...;
problem: ...;
usedBy: ...;
}, $strip>>;
changeId: ZodNullable<ZodGUID>;
handlesAdded: ZodArray<ZodEnum<{
handoff: ...;
webhook: ...;
}>>;
hostsAdded: ZodArray<ZodString>;
issues: ZodArray<ZodObject<{
message: ...;
path: ...;
}, $strip>>;
missingSecrets: ZodArray<ZodString>;
needsAdded: ZodArray<ZodEnum<{
documents: ...;
}>>;
rollback: ZodBoolean;
target: ZodObject<{
id: ZodGUID;
version: ZodString;
}, $strip>;
waitingFor: ZodNullable<ZodEnum<{
actions: ...;
approval: ...;
config: ...;
declined: ...;
secrets: ...;
}>>;
}, $strip>>;
upgradedFromVersionId: ZodNullable<ZodGUID>;
version: ZodObject<{
actions: ZodArray<ZodObject<{
callbackTimeoutSeconds: ZodOptional<...>;
description: ZodOptional<...>;
idempotent: ZodBoolean;
inputSchema: ZodRecord<..., ...>;
mappable: ZodOptional<...>;
name: ZodString;
outputFromInput: ZodOptional<...>;
outputSchema: ZodRecord<..., ...>;
retry: ZodOptional<...>;
timeoutMs: ZodNumber;
}, $strip>>;
capabilities: ZodArray<ZodString>;
category: ZodOptional<ZodString>;
configSchema: ZodRecord<ZodString, ZodUnknown>;
createdAt: ZodCoercedDate<unknown>;
description: ZodOptional<ZodString>;
docsUrl: ZodOptional<ZodString>;
documentsFromConfig: ZodOptional<ZodString>;
handles: ZodObject<{
handoff: ZodOptional<ZodBoolean>;
webhook: ZodDefault<ZodBoolean>;
webhookExternalId: ZodOptional<ZodUnion<...>>;
webhookExternalIdFromConfig: ZodOptional<ZodString>;
}, $strip>;
hosts: ZodArray<ZodString>;
hostsFromConfig: ZodArray<ZodString>;
id: ZodGUID;
memoryMiB: ZodNumber;
name: ZodString;
needs: ZodArray<ZodEnum<{
documents: "documents";
}>>;
platformSource: ZodNullable<ZodEnum<{
operator: "operator";
release: "release";
}>>;
pricingNote: ZodOptional<ZodString>;
provenance: ZodNullable<ZodObject<{
kind: ZodEnum<...>;
recordedBy: ZodString;
signedAt: ZodNullable<...>;
signer: ZodNullable<...>;
source: ZodObject<..., ...>;
transparencyLogIndex: ZodNullable<...>;
trusted: ZodBoolean;
trustedSigner: ZodNullable<...>;
verifiedAt: ZodCoercedDate<...>;
}, $strip>>;
publishedAt: ZodNullable<ZodCoercedDate<unknown>>;
publisher: ZodEnum<{
platform: "platform";
tenant: "tenant";
}>;
review: ZodNullable<ZodObject<{
comment: ZodNullable<...>;
decidedAt: ZodNullable<...>;
decidedBy: ZodNullable<...>;
id: ZodGUID;
requestedAt: ZodCoercedDate<...>;
requestedBy: ZodString;
status: ZodEnum<...>;
tenantId: ZodGUID;
versionId: ZodGUID;
}, $strip>>;
secrets: ZodArray<ZodObject<{
description: ZodOptional<...>;
name: ZodString;
requiredWhen: ZodOptional<...>;
}, $strip>>;
secretsFromConfig: ZodOptional<ZodString>;
sha256: ZodString;
sizeBytes: ZodNumber;
status: ZodEnum<{
published: "published";
uploaded: "uploaded";
withdrawn: "withdrawn";
}>;
title: ZodOptional<ZodString>;
vendor: ZodOptional<ZodString>;
version: ZodString;
}, $strip>;
versionId: ZodGUID;
webhookUrl: ZodNullable<ZodURL>;
}, $strip>, ZodTransform<{
change: null;
install: {
aliases: string[];
appName: string;
autoUpgrade: "off" | "compatible";
circuit: {
defaults: {
failureThreshold: number;
openSeconds: number;
};
failures: number;
settings: {
failureThreshold: number | null;
openSeconds: number | null;
};
since: Date | null;
state: "closed" | "open" | "half_open";
};
config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
createdAt: Date;
enabled: boolean;
hosts: string[];
id: string;
missingSecrets: string[];
name: string;
pendingChange: | {
approvalSettings: {
fourEyes: boolean;
required: boolean;
};
comment: string | null;
config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
decidedAt: Date | null;
decidedBy: string | null;
decision: "withdrawn" | "approved" | "rejected" | null;
decisionComment: string | null;
enabled: boolean;
handlesAdded: ("webhook" | "handoff")[];
hosts: string[];
hostsAdded: string[];
id: string;
installId: string;
installName: string;
installUpdatedAt: Date;
needsAdded: "documents"[];
newInstall: boolean;
origin: "save" | "auto_upgrade";
requestedAt: Date;
requestedBy: string;
tenantId: string;
versionId: string;
}
| null;
requiredSecrets: string[];
storedSecrets: string[];
tenantId: string;
updateAvailable: boolean;
updatedAt: Date;
upgrade: | {
actions: object[];
changeId: string | null;
handlesAdded: ("webhook" | "handoff")[];
hostsAdded: string[];
issues: object[];
missingSecrets: string[];
needsAdded: "documents"[];
rollback: boolean;
target: {
id: string;
version: string;
};
waitingFor: "config" | "approval" | "secrets" | "actions" | "declined" | null;
}
| null;
upgradedFromVersionId: string | null;
version: {
actions: object[];
capabilities: string[];
category?: string;
configSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
createdAt: Date;
description?: string;
docsUrl?: string;
documentsFromConfig?: string;
handles: {
handoff?: boolean;
webhook: boolean;
webhookExternalId?: | {
json: string;
}
| {
header: string;
}
| {
query: string;
};
webhookExternalIdFromConfig?: string;
};
hosts: string[];
hostsFromConfig: string[];
id: string;
memoryMiB: number;
name: string;
needs: "documents"[];
platformSource: "operator" | "release" | null;
pricingNote?: string;
provenance: | {
kind: "release" | "signature" | "attestation";
recordedBy: string;
signedAt: Date | null;
signer: | {
identity: ...;
issuer: ...;
type: ...;
}
| {
fingerprint: ...;
hint: ...;
type: ...;
}
| null;
source: {
commit: ... | ...;
ref: ... | ...;
repository: ... | ...;
};
transparencyLogIndex: number | null;
trusted: boolean;
trustedSigner: string | null;
verifiedAt: Date;
}
| null;
publishedAt: Date | null;
publisher: "tenant" | "platform";
review: | {
comment: string | null;
decidedAt: Date | null;
decidedBy: string | null;
id: string;
requestedAt: Date;
requestedBy: string;
status: "pending" | "withdrawn" | "approved" | "rejected";
tenantId: string;
versionId: string;
}
| null;
secrets: object[];
secretsFromConfig?: string;
sha256: string;
sizeBytes: number;
status: "published" | "withdrawn" | "uploaded";
title?: string;
vendor?: string;
version: string;
};
versionId: string;
webhookUrl: string | null;
};
}, {
aliases: string[];
appName: string;
autoUpgrade: "off" | "compatible";
circuit: {
defaults: {
failureThreshold: number;
openSeconds: number;
};
failures: number;
settings: {
failureThreshold: number | null;
openSeconds: number | null;
};
since: Date | null;
state: "closed" | "open" | "half_open";
};
config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
createdAt: Date;
enabled: boolean;
hosts: string[];
id: string;
missingSecrets: string[];
name: string;
pendingChange: | {
approvalSettings: {
fourEyes: boolean;
required: boolean;
};
comment: string | null;
config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
decidedAt: Date | null;
decidedBy: string | null;
decision: "withdrawn" | "approved" | "rejected" | null;
decisionComment: string | null;
enabled: boolean;
handlesAdded: ("webhook" | "handoff")[];
hosts: string[];
hostsAdded: string[];
id: string;
installId: string;
installName: string;
installUpdatedAt: Date;
needsAdded: "documents"[];
newInstall: boolean;
origin: "save" | "auto_upgrade";
requestedAt: Date;
requestedBy: string;
tenantId: string;
versionId: string;
}
| null;
requiredSecrets: string[];
storedSecrets: string[];
tenantId: string;
updateAvailable: boolean;
updatedAt: Date;
upgrade: | {
actions: object[];
changeId: string | null;
handlesAdded: ("webhook" | "handoff")[];
hostsAdded: string[];
issues: object[];
missingSecrets: string[];
needsAdded: "documents"[];
rollback: boolean;
target: {
id: string;
version: string;
};
waitingFor: "config" | "approval" | "secrets" | "actions" | "declined" | null;
}
| null;
upgradedFromVersionId: string | null;
version: {
actions: object[];
capabilities: string[];
category?: string;
configSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
createdAt: Date;
description?: string;
docsUrl?: string;
documentsFromConfig?: string;
handles: {
handoff?: boolean;
webhook: boolean;
webhookExternalId?: | {
json: string;
}
| {
header: string;
}
| {
query: string;
};
webhookExternalIdFromConfig?: string;
};
hosts: string[];
hostsFromConfig: string[];
id: string;
memoryMiB: number;
name: string;
needs: "documents"[];
platformSource: "operator" | "release" | null;
pricingNote?: string;
provenance: | {
kind: "release" | "signature" | "attestation";
recordedBy: string;
signedAt: Date | null;
signer: | {
identity: string;
issuer: string;
type: "keyless";
}
| {
fingerprint: string;
hint: ... | ...;
type: "key";
}
| null;
source: {
commit: string | null;
ref: string | null;
repository: string | null;
};
transparencyLogIndex: number | null;
trusted: boolean;
trustedSigner: string | null;
verifiedAt: Date;
}
| null;
publishedAt: Date | null;
publisher: "tenant" | "platform";
review: | {
comment: string | null;
decidedAt: Date | null;
decidedBy: string | null;
id: string;
requestedAt: Date;
requestedBy: string;
status: "pending" | "withdrawn" | "approved" | "rejected";
tenantId: string;
versionId: string;
}
| null;
secrets: object[];
secretsFromConfig?: string;
sha256: string;
sizeBytes: number;
status: "published" | "withdrawn" | "uploaded";
title?: string;
vendor?: string;
version: string;
};
versionId: string;
webhookUrl: string | null;
}>>]>;A saved install: applied at once, with change null; or, when the save adds hosts and the tenant requires approvals for apps (answered 202), the install as it keeps serving meanwhile (a new one waits disabled and without hosts) and the change that waits for another administrator.