@replicated/portal-components 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/metadata/registry.json +2 -2
- package/components/metadata/registry.md +2 -2
- package/dist/actions/index.d.mts +1 -637
- package/dist/actions/index.d.ts +1 -637
- package/dist/actions/index.js +2 -1
- package/dist/actions/index.js.map +1 -1
- package/dist/airgap-instances.d.mts +5 -3
- package/dist/airgap-instances.d.ts +5 -3
- package/dist/airgap-instances.js +94 -5
- package/dist/airgap-instances.js.map +1 -1
- package/dist/esm/actions/index.js +2 -1
- package/dist/esm/actions/index.js.map +1 -1
- package/dist/esm/airgap-instances.js +90 -5
- package/dist/esm/airgap-instances.js.map +1 -1
- package/dist/esm/helm-install-wizard.js +28 -15
- package/dist/esm/helm-install-wizard.js.map +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/install-actions.js +54 -11
- package/dist/esm/install-actions.js.map +1 -1
- package/dist/esm/instance-card.js +79 -3
- package/dist/esm/instance-card.js.map +1 -1
- package/dist/esm/license-details.js +2 -1
- package/dist/esm/license-details.js.map +1 -1
- package/dist/esm/linux-install-wizard.js +90 -14
- package/dist/esm/linux-install-wizard.js.map +1 -1
- package/dist/esm/online-instance-list.js +90 -5
- package/dist/esm/online-instance-list.js.map +1 -1
- package/dist/esm/pending-installations.js +187 -103
- package/dist/esm/pending-installations.js.map +1 -1
- package/dist/esm/security-card.js +76 -16
- package/dist/esm/security-card.js.map +1 -1
- package/dist/esm/support-card.js +2 -1
- package/dist/esm/support-card.js.map +1 -1
- package/dist/esm/top-nav-user-menu.js +4 -2
- package/dist/esm/top-nav-user-menu.js.map +1 -1
- package/dist/esm/top-nav.js +2 -1
- package/dist/esm/top-nav.js.map +1 -1
- package/dist/esm/update-layout.js +2 -1
- package/dist/esm/update-layout.js.map +1 -1
- package/dist/esm/upload-support-bundle-modal.js +19 -19
- package/dist/esm/upload-support-bundle-modal.js.map +1 -1
- package/dist/esm/utils/index.js +2 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/helm-install-wizard.d.mts +5 -4
- package/dist/helm-install-wizard.d.ts +5 -4
- package/dist/helm-install-wizard.js +28 -15
- package/dist/helm-install-wizard.js.map +1 -1
- package/dist/index-DkjaogsF.d.mts +891 -0
- package/dist/index-DkjaogsF.d.ts +891 -0
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/install-actions.d.mts +2 -3
- package/dist/install-actions.d.ts +2 -3
- package/dist/install-actions.js +54 -10
- package/dist/install-actions.js.map +1 -1
- package/dist/install-card.d.mts +1 -1
- package/dist/install-card.d.ts +1 -1
- package/dist/instance-card.d.mts +5 -3
- package/dist/instance-card.d.ts +5 -3
- package/dist/instance-card.js +83 -3
- package/dist/instance-card.js.map +1 -1
- package/dist/license-card.d.mts +1 -1
- package/dist/license-card.d.ts +1 -1
- package/dist/license-details.js +2 -1
- package/dist/license-details.js.map +1 -1
- package/dist/linux-install-wizard.d.mts +6 -6
- package/dist/linux-install-wizard.d.ts +6 -6
- package/dist/linux-install-wizard.js +90 -14
- package/dist/linux-install-wizard.js.map +1 -1
- package/dist/online-instance-list.d.mts +5 -3
- package/dist/online-instance-list.d.ts +5 -3
- package/dist/online-instance-list.js +94 -5
- package/dist/online-instance-list.js.map +1 -1
- package/dist/pending-installations.d.mts +3 -3
- package/dist/pending-installations.d.ts +3 -3
- package/dist/pending-installations.js +186 -102
- package/dist/pending-installations.js.map +1 -1
- package/dist/security-card.d.mts +3 -2
- package/dist/security-card.d.ts +3 -2
- package/dist/security-card.js +76 -16
- package/dist/security-card.js.map +1 -1
- package/dist/styles.css +43 -0
- package/dist/support-bundles-card.d.mts +1 -1
- package/dist/support-bundles-card.d.ts +1 -1
- package/dist/support-card.js +2 -1
- package/dist/support-card.js.map +1 -1
- package/dist/top-nav-user-menu.d.mts +3 -1
- package/dist/top-nav-user-menu.d.ts +3 -1
- package/dist/top-nav-user-menu.js +4 -2
- package/dist/top-nav-user-menu.js.map +1 -1
- package/dist/top-nav.js +2 -1
- package/dist/top-nav.js.map +1 -1
- package/dist/update-layout.js +2 -1
- package/dist/update-layout.js.map +1 -1
- package/dist/upload-support-bundle-modal.d.mts +7 -3
- package/dist/upload-support-bundle-modal.d.ts +7 -3
- package/dist/upload-support-bundle-modal.js +19 -19
- package/dist/upload-support-bundle-modal.js.map +1 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/install-B19AaKF_.d.mts +0 -233
- package/dist/install-Bi1qJ8Bu.d.ts +0 -233
|
@@ -0,0 +1,891 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install-related server actions for the Linux and Helm installation wizards.
|
|
3
|
+
*
|
|
4
|
+
* These actions handle the complete installation flow including:
|
|
5
|
+
* - Fetching available releases (channel releases)
|
|
6
|
+
* - Creating/updating/fetching install options
|
|
7
|
+
* - Generating installation instructions
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
interface EmbeddedClusterInstallationType {
|
|
11
|
+
version?: string;
|
|
12
|
+
}
|
|
13
|
+
interface HelmInstallationType {
|
|
14
|
+
version?: string;
|
|
15
|
+
}
|
|
16
|
+
interface InstallationTypes {
|
|
17
|
+
embeddedCluster?: EmbeddedClusterInstallationType;
|
|
18
|
+
helm?: HelmInstallationType;
|
|
19
|
+
}
|
|
20
|
+
interface HelmChart {
|
|
21
|
+
name: string;
|
|
22
|
+
version: string;
|
|
23
|
+
weight: number;
|
|
24
|
+
error: string;
|
|
25
|
+
hasPreflightSpec: boolean;
|
|
26
|
+
isKotsInstallerOnly: boolean;
|
|
27
|
+
}
|
|
28
|
+
interface ChannelRelease {
|
|
29
|
+
channelId: string;
|
|
30
|
+
channelName: string;
|
|
31
|
+
channelSlug: string;
|
|
32
|
+
channelSequence: number;
|
|
33
|
+
releaseSequence: number;
|
|
34
|
+
versionLabel: string;
|
|
35
|
+
releaseNotes?: string;
|
|
36
|
+
createdAt: string;
|
|
37
|
+
isRequired?: boolean;
|
|
38
|
+
installationTypes?: InstallationTypes;
|
|
39
|
+
helmCharts?: HelmChart[];
|
|
40
|
+
}
|
|
41
|
+
interface FetchChannelReleasesInput {
|
|
42
|
+
token: string;
|
|
43
|
+
channelId?: string;
|
|
44
|
+
}
|
|
45
|
+
interface FetchChannelReleasesResult {
|
|
46
|
+
channelReleases: ChannelRelease[];
|
|
47
|
+
}
|
|
48
|
+
type NetworkAvailability = "online" | "proxy" | "airgap";
|
|
49
|
+
type InstallType = "linux" | "helm";
|
|
50
|
+
type RegistryAvailability = "online" | "partial" | "offline";
|
|
51
|
+
type KubernetesDistribution = "vanilla" | "openshift" | "rancher" | "aks" | "eks" | "gke";
|
|
52
|
+
type InstallStatus = "in_progress" | "completed" | "discarded";
|
|
53
|
+
interface InstallStep {
|
|
54
|
+
step_number: number;
|
|
55
|
+
step_name: string;
|
|
56
|
+
title: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
commands: string[];
|
|
59
|
+
/** If true, this step can be marked as completed (shows checkmark UI) */
|
|
60
|
+
maybe_completed?: boolean;
|
|
61
|
+
}
|
|
62
|
+
interface InstallInstructions {
|
|
63
|
+
format: "basic" | "mdx";
|
|
64
|
+
install_type: string;
|
|
65
|
+
title: string;
|
|
66
|
+
steps?: InstallStep[];
|
|
67
|
+
mdx_template?: string;
|
|
68
|
+
context?: Record<string, unknown>;
|
|
69
|
+
renderer_version?: number;
|
|
70
|
+
}
|
|
71
|
+
interface InstallOptions {
|
|
72
|
+
id: string;
|
|
73
|
+
customer_id: string;
|
|
74
|
+
install_type: InstallType;
|
|
75
|
+
instance_name: string;
|
|
76
|
+
instance_id?: string;
|
|
77
|
+
service_account_id?: string;
|
|
78
|
+
service_account_email_address?: string;
|
|
79
|
+
license_id?: string;
|
|
80
|
+
started_at: string;
|
|
81
|
+
completed_at?: string;
|
|
82
|
+
network_availability?: NetworkAvailability;
|
|
83
|
+
is_multi_node?: boolean;
|
|
84
|
+
channel_id?: string;
|
|
85
|
+
channel_release_sequence?: number;
|
|
86
|
+
registry_availability?: RegistryAvailability;
|
|
87
|
+
kubernetes_distribution?: KubernetesDistribution;
|
|
88
|
+
admin_console_url?: string;
|
|
89
|
+
status?: InstallStatus;
|
|
90
|
+
}
|
|
91
|
+
interface CreateInstallOptionsInput {
|
|
92
|
+
token: string;
|
|
93
|
+
installType: InstallType;
|
|
94
|
+
instanceName: string;
|
|
95
|
+
serviceAccountId: string;
|
|
96
|
+
networkAvailability: NetworkAvailability;
|
|
97
|
+
isMultiNode?: boolean;
|
|
98
|
+
channelId?: string;
|
|
99
|
+
channelReleaseSequence?: number;
|
|
100
|
+
registryAvailability?: RegistryAvailability;
|
|
101
|
+
kubernetesDistribution?: KubernetesDistribution;
|
|
102
|
+
}
|
|
103
|
+
interface CreateInstallOptionsResult {
|
|
104
|
+
install_options: InstallOptions;
|
|
105
|
+
instructions?: InstallInstructions;
|
|
106
|
+
}
|
|
107
|
+
interface GetInstallOptionsInput {
|
|
108
|
+
token: string;
|
|
109
|
+
installOptionsId: string;
|
|
110
|
+
includeInstructions?: boolean;
|
|
111
|
+
privateRegistryHostname?: string;
|
|
112
|
+
proxyUrl?: string;
|
|
113
|
+
}
|
|
114
|
+
interface GetInstallOptionsResult {
|
|
115
|
+
id: string;
|
|
116
|
+
customer_id: string;
|
|
117
|
+
install_type: InstallType;
|
|
118
|
+
instance_name: string;
|
|
119
|
+
instance_id?: string;
|
|
120
|
+
service_account_id?: string;
|
|
121
|
+
service_account_email_address?: string;
|
|
122
|
+
started_at: string;
|
|
123
|
+
completed_at?: string;
|
|
124
|
+
network_availability?: NetworkAvailability;
|
|
125
|
+
is_multi_node?: boolean;
|
|
126
|
+
channel_id?: string;
|
|
127
|
+
channel_release_sequence?: number;
|
|
128
|
+
registry_availability?: RegistryAvailability;
|
|
129
|
+
kubernetes_distribution?: KubernetesDistribution;
|
|
130
|
+
admin_console_url?: string;
|
|
131
|
+
status?: InstallStatus;
|
|
132
|
+
instructions?: InstallInstructions;
|
|
133
|
+
/** Timestamp when assets were downloaded (for progress tracking) */
|
|
134
|
+
assets_downloaded_at?: string;
|
|
135
|
+
/** Timestamp when registry authentication was completed (for Helm progress tracking) */
|
|
136
|
+
registry_authenticated_at?: string;
|
|
137
|
+
/** Timestamp when images were pulled (for Helm progress tracking) */
|
|
138
|
+
images_pulled_at?: string;
|
|
139
|
+
/** Timestamp when installation was completed (for progress tracking) */
|
|
140
|
+
installation_completed_at?: string;
|
|
141
|
+
}
|
|
142
|
+
interface UpdateInstallOptionsInput {
|
|
143
|
+
token: string;
|
|
144
|
+
installOptionsId: string;
|
|
145
|
+
installType?: InstallType;
|
|
146
|
+
channelId?: string;
|
|
147
|
+
channelReleaseSequence?: number;
|
|
148
|
+
networkAvailability?: NetworkAvailability;
|
|
149
|
+
registryAvailability?: RegistryAvailability;
|
|
150
|
+
kubernetesDistribution?: KubernetesDistribution;
|
|
151
|
+
isMultiNode?: boolean;
|
|
152
|
+
serviceAccountId?: string;
|
|
153
|
+
adminConsoleUrl?: string | null;
|
|
154
|
+
status?: InstallStatus;
|
|
155
|
+
includeInstructions?: boolean;
|
|
156
|
+
privateRegistryHostname?: string;
|
|
157
|
+
proxyUrl?: string;
|
|
158
|
+
}
|
|
159
|
+
interface UpdateInstallOptionsResult {
|
|
160
|
+
install_options: InstallOptions;
|
|
161
|
+
instructions?: InstallInstructions;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Fetches available channel releases for the customer.
|
|
165
|
+
* These are filtered to show only releases that have embedded cluster installers.
|
|
166
|
+
*/
|
|
167
|
+
declare function fetchChannelReleases(input: FetchChannelReleasesInput, context?: PortalActionContext): Promise<FetchChannelReleasesResult>;
|
|
168
|
+
/**
|
|
169
|
+
* Creates a new install options record to track an installation attempt.
|
|
170
|
+
* This is called after creating a service account and before showing install commands.
|
|
171
|
+
*/
|
|
172
|
+
declare function createInstallOptions(input: CreateInstallOptionsInput, context?: PortalActionContext): Promise<CreateInstallOptionsResult>;
|
|
173
|
+
/**
|
|
174
|
+
* Fetches existing install options by ID.
|
|
175
|
+
* Can optionally include generated installation instructions.
|
|
176
|
+
*/
|
|
177
|
+
declare function getInstallOptions(input: GetInstallOptionsInput, context?: PortalActionContext): Promise<GetInstallOptionsResult>;
|
|
178
|
+
/**
|
|
179
|
+
* Updates existing install options.
|
|
180
|
+
* Typically called when user selects a different version or changes settings.
|
|
181
|
+
* Returns updated options with regenerated installation instructions.
|
|
182
|
+
*/
|
|
183
|
+
declare function updateInstallOptions(input: UpdateInstallOptionsInput, context?: PortalActionContext): Promise<UpdateInstallOptionsResult>;
|
|
184
|
+
/**
|
|
185
|
+
* Filters channel releases to only include those with embedded cluster installers.
|
|
186
|
+
* Use this when populating the version dropdown for Linux installs.
|
|
187
|
+
*/
|
|
188
|
+
declare function filterEmbeddedClusterReleases(releases: ChannelRelease[]): ChannelRelease[];
|
|
189
|
+
/**
|
|
190
|
+
* Filters channel releases to only include those with Helm chart support.
|
|
191
|
+
* Use this when populating the version dropdown for Helm installs.
|
|
192
|
+
*
|
|
193
|
+
* Matches the behavior of the old portal which filtered by helm_charts?.length > 0.
|
|
194
|
+
*/
|
|
195
|
+
declare function filterHelmReleases(releases: ChannelRelease[]): ChannelRelease[];
|
|
196
|
+
interface GetUpdateInstructionsInput {
|
|
197
|
+
token: string;
|
|
198
|
+
/** Install options ID (if known) */
|
|
199
|
+
installOptionsId?: string;
|
|
200
|
+
/** Instance ID (used if installOptionsId is not available) */
|
|
201
|
+
instanceId?: string;
|
|
202
|
+
/** Target channel ID for the update */
|
|
203
|
+
targetChannelId: string;
|
|
204
|
+
/** Target channel sequence for the update */
|
|
205
|
+
targetChannelSequence: number;
|
|
206
|
+
/** Private registry hostname (for airgap with private registry) */
|
|
207
|
+
privateRegistryHostname?: string;
|
|
208
|
+
}
|
|
209
|
+
interface UpdateInstructions {
|
|
210
|
+
format: string;
|
|
211
|
+
install_type: string;
|
|
212
|
+
title: string;
|
|
213
|
+
steps: InstallStep[];
|
|
214
|
+
}
|
|
215
|
+
interface GetUpdateInstructionsResult {
|
|
216
|
+
instructions: UpdateInstructions;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Fetches update instructions for an instance.
|
|
220
|
+
* Returns step-by-step commands for updating to a target version.
|
|
221
|
+
*/
|
|
222
|
+
declare function getUpdateInstructions(input: GetUpdateInstructionsInput, context?: PortalActionContext): Promise<GetUpdateInstructionsResult>;
|
|
223
|
+
interface FetchPendingInstallationsInput {
|
|
224
|
+
token: string;
|
|
225
|
+
}
|
|
226
|
+
interface PendingInstallation {
|
|
227
|
+
id: string;
|
|
228
|
+
name: string;
|
|
229
|
+
method: "helm" | "linux";
|
|
230
|
+
startedBy: string;
|
|
231
|
+
startedAt: string;
|
|
232
|
+
}
|
|
233
|
+
interface FetchPendingInstallationsResult {
|
|
234
|
+
installations: PendingInstallation[];
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Fetches pending (in-progress) installations for the current user.
|
|
238
|
+
* Returns up to 5 most recent installations, ordered by creation date descending.
|
|
239
|
+
*/
|
|
240
|
+
declare function fetchPendingInstallations(input: FetchPendingInstallationsInput, context?: PortalActionContext): Promise<FetchPendingInstallationsResult>;
|
|
241
|
+
interface DiscardInstallationInput {
|
|
242
|
+
token: string;
|
|
243
|
+
installOptionsId: string;
|
|
244
|
+
}
|
|
245
|
+
interface DiscardInstallationResult {
|
|
246
|
+
success: boolean;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Discards a pending installation by updating its status to "discarded".
|
|
250
|
+
* This will remove it from the pending installations list.
|
|
251
|
+
*/
|
|
252
|
+
declare function discardInstallation(input: DiscardInstallationInput, context?: PortalActionContext): Promise<DiscardInstallationResult>;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Light-weight type helpers for defining Server Actions that align with the
|
|
256
|
+
* enterprise portal guardrails. The component library does not implement
|
|
257
|
+
* specific actions, but it exports helpers so downstream portals can describe
|
|
258
|
+
* their actions with consistent metadata.
|
|
259
|
+
*/
|
|
260
|
+
/**
|
|
261
|
+
* Gets the base API origin from environment, with trailing slashes removed.
|
|
262
|
+
*/
|
|
263
|
+
declare const getApiOrigin: () => string;
|
|
264
|
+
type PortalActionVisibility = "vendor" | "customer";
|
|
265
|
+
interface PortalActionContext {
|
|
266
|
+
vendorId: string;
|
|
267
|
+
licenseId: string;
|
|
268
|
+
userId: string;
|
|
269
|
+
signal?: AbortSignal;
|
|
270
|
+
}
|
|
271
|
+
interface PortalServerActionDefinition<Input, Output> {
|
|
272
|
+
id: string;
|
|
273
|
+
description: string;
|
|
274
|
+
visibility: PortalActionVisibility;
|
|
275
|
+
tags: string[];
|
|
276
|
+
run: (input: Input, context?: PortalActionContext) => Promise<Output>;
|
|
277
|
+
}
|
|
278
|
+
declare const defineServerAction: <Input, Output>(definition: PortalServerActionDefinition<Input, Output>) => PortalServerActionDefinition<Input, Output>;
|
|
279
|
+
interface CreateServiceAccountInput {
|
|
280
|
+
token: string;
|
|
281
|
+
name: string;
|
|
282
|
+
}
|
|
283
|
+
interface ServiceAccountData {
|
|
284
|
+
id: string;
|
|
285
|
+
customerId: string;
|
|
286
|
+
token: string;
|
|
287
|
+
accountName: string;
|
|
288
|
+
isRevoked: boolean;
|
|
289
|
+
createdAt: string;
|
|
290
|
+
emailAddress: string;
|
|
291
|
+
}
|
|
292
|
+
interface CreateServiceAccountResult {
|
|
293
|
+
service_account: ServiceAccountData;
|
|
294
|
+
token: string;
|
|
295
|
+
}
|
|
296
|
+
declare const createServiceAccount: PortalServerActionDefinition<CreateServiceAccountInput, CreateServiceAccountResult>;
|
|
297
|
+
interface InitiateLoginInput {
|
|
298
|
+
email: string;
|
|
299
|
+
}
|
|
300
|
+
interface InitiateLoginResult {
|
|
301
|
+
status: "ok" | "saml_redirect";
|
|
302
|
+
requestedAt: string;
|
|
303
|
+
message: string;
|
|
304
|
+
/** If SAML redirect is required, this contains the info needed to redirect */
|
|
305
|
+
saml?: {
|
|
306
|
+
redirectRequired: true;
|
|
307
|
+
customerId: string;
|
|
308
|
+
email: string;
|
|
309
|
+
appSlug: string;
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Reference server action for initiating the passwordless login flow.
|
|
314
|
+
* Real portals should replace the simulated delay with a call to their auth API.
|
|
315
|
+
*/
|
|
316
|
+
declare const initiateLogin: PortalServerActionDefinition<InitiateLoginInput, InitiateLoginResult>;
|
|
317
|
+
interface VerifyMagicLinkInput {
|
|
318
|
+
nonce: string;
|
|
319
|
+
}
|
|
320
|
+
interface VerifyMagicLinkResult {
|
|
321
|
+
token: string;
|
|
322
|
+
raw: unknown;
|
|
323
|
+
}
|
|
324
|
+
interface VerifyMagicLinkError {
|
|
325
|
+
code: "invalid_code" | "expired" | "unknown";
|
|
326
|
+
message: string;
|
|
327
|
+
isExpired?: boolean;
|
|
328
|
+
}
|
|
329
|
+
declare const verifyMagicLink: PortalServerActionDefinition<VerifyMagicLinkInput, VerifyMagicLinkResult>;
|
|
330
|
+
interface CustomBrandingResponse {
|
|
331
|
+
brandingData: string;
|
|
332
|
+
documentation: unknown;
|
|
333
|
+
}
|
|
334
|
+
interface PortalLicenseField {
|
|
335
|
+
key: string;
|
|
336
|
+
label: string;
|
|
337
|
+
value: string | null;
|
|
338
|
+
isSecret?: boolean;
|
|
339
|
+
}
|
|
340
|
+
interface PortalLicenseDetails {
|
|
341
|
+
id?: string;
|
|
342
|
+
status?: string;
|
|
343
|
+
statusLabel?: string;
|
|
344
|
+
environment?: string;
|
|
345
|
+
expiresAt?: string | null;
|
|
346
|
+
releaseChannels?: string[];
|
|
347
|
+
installMethods?: string[];
|
|
348
|
+
installNotes?: string;
|
|
349
|
+
customerName?: string;
|
|
350
|
+
customerId?: string;
|
|
351
|
+
customerOrganization?: string;
|
|
352
|
+
fields: PortalLicenseField[];
|
|
353
|
+
}
|
|
354
|
+
interface ListSupportBundlesInput {
|
|
355
|
+
token: string;
|
|
356
|
+
}
|
|
357
|
+
interface SupportBundleInsight {
|
|
358
|
+
level: string;
|
|
359
|
+
primary: string;
|
|
360
|
+
key?: string;
|
|
361
|
+
detail?: string;
|
|
362
|
+
}
|
|
363
|
+
interface SupportBundleSummary {
|
|
364
|
+
id: string;
|
|
365
|
+
createdAt?: string;
|
|
366
|
+
status?: string;
|
|
367
|
+
size?: number;
|
|
368
|
+
instanceId?: string;
|
|
369
|
+
insights?: SupportBundleInsight[];
|
|
370
|
+
metadata?: Record<string, unknown>;
|
|
371
|
+
}
|
|
372
|
+
interface ListSupportBundlesResult {
|
|
373
|
+
bundles: SupportBundleSummary[];
|
|
374
|
+
totalCount: number;
|
|
375
|
+
raw: unknown;
|
|
376
|
+
}
|
|
377
|
+
interface DownloadSupportBundleInput {
|
|
378
|
+
token: string;
|
|
379
|
+
bundleId: string;
|
|
380
|
+
}
|
|
381
|
+
interface DownloadSupportBundleResult {
|
|
382
|
+
signedUrl: string;
|
|
383
|
+
}
|
|
384
|
+
interface DeleteSupportBundleInput {
|
|
385
|
+
token: string;
|
|
386
|
+
bundleId: string;
|
|
387
|
+
}
|
|
388
|
+
interface DeleteSupportBundleResult {
|
|
389
|
+
success: boolean;
|
|
390
|
+
}
|
|
391
|
+
interface UploadSupportBundleInput {
|
|
392
|
+
token: string;
|
|
393
|
+
appId: string;
|
|
394
|
+
}
|
|
395
|
+
interface UploadSupportBundleResult {
|
|
396
|
+
uploadUrl: string;
|
|
397
|
+
appId: string;
|
|
398
|
+
}
|
|
399
|
+
interface UploadSupportBundleCompleteInput {
|
|
400
|
+
token: string;
|
|
401
|
+
appId: string;
|
|
402
|
+
fileContent: ArrayBuffer;
|
|
403
|
+
contentLength: number;
|
|
404
|
+
}
|
|
405
|
+
interface UploadSupportBundleCompleteResult {
|
|
406
|
+
bundleId: string;
|
|
407
|
+
slug: string;
|
|
408
|
+
}
|
|
409
|
+
interface FetchLicenseDetailsInput {
|
|
410
|
+
token: string;
|
|
411
|
+
}
|
|
412
|
+
interface FetchLicenseDetailsResult {
|
|
413
|
+
license: PortalLicenseDetails;
|
|
414
|
+
raw: unknown;
|
|
415
|
+
}
|
|
416
|
+
interface FetchInstallOptionsInput {
|
|
417
|
+
token: string;
|
|
418
|
+
}
|
|
419
|
+
interface FetchInstallOptionsResult {
|
|
420
|
+
showLinux: boolean;
|
|
421
|
+
showHelm: boolean;
|
|
422
|
+
}
|
|
423
|
+
interface FetchLicenseSummaryInput {
|
|
424
|
+
token: string;
|
|
425
|
+
}
|
|
426
|
+
interface FetchLicenseSummaryResult {
|
|
427
|
+
type: string;
|
|
428
|
+
expiresAt: string | null;
|
|
429
|
+
}
|
|
430
|
+
interface FetchCustomersInput {
|
|
431
|
+
token: string;
|
|
432
|
+
}
|
|
433
|
+
interface Customer {
|
|
434
|
+
id: string;
|
|
435
|
+
name: string;
|
|
436
|
+
licenseId: string;
|
|
437
|
+
licenseType: string;
|
|
438
|
+
expiresAt: string;
|
|
439
|
+
isEnterprisePortalEnabled: boolean;
|
|
440
|
+
}
|
|
441
|
+
interface FetchCustomersResult {
|
|
442
|
+
customers: Customer[];
|
|
443
|
+
}
|
|
444
|
+
interface SwitchCustomerInput {
|
|
445
|
+
token: string;
|
|
446
|
+
customerId: string;
|
|
447
|
+
}
|
|
448
|
+
interface SwitchCustomerResult {
|
|
449
|
+
token: string;
|
|
450
|
+
}
|
|
451
|
+
interface ListReleasesInput {
|
|
452
|
+
token: string;
|
|
453
|
+
}
|
|
454
|
+
interface ListReleasesResult {
|
|
455
|
+
status: number;
|
|
456
|
+
body: string | null;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Fetches custom branding for the portal.
|
|
460
|
+
* This function is cached per-request to avoid duplicate API calls when called
|
|
461
|
+
* from multiple components (e.g., TopNav and page components).
|
|
462
|
+
*/
|
|
463
|
+
declare const fetchCustomBranding: () => Promise<CustomBrandingResponse>;
|
|
464
|
+
declare const decodeJwtPayload: (token: string) => Record<string, unknown>;
|
|
465
|
+
/**
|
|
466
|
+
* Extracts customer ID from JWT token. Throws if extraction fails.
|
|
467
|
+
*/
|
|
468
|
+
declare const getCustomerIdFromToken: (token: string) => string;
|
|
469
|
+
declare const listSupportBundles: PortalServerActionDefinition<ListSupportBundlesInput, ListSupportBundlesResult>;
|
|
470
|
+
declare const downloadSupportBundle: PortalServerActionDefinition<DownloadSupportBundleInput, DownloadSupportBundleResult>;
|
|
471
|
+
declare const deleteSupportBundle: PortalServerActionDefinition<DeleteSupportBundleInput, DeleteSupportBundleResult>;
|
|
472
|
+
declare const uploadSupportBundle: PortalServerActionDefinition<UploadSupportBundleCompleteInput, UploadSupportBundleCompleteResult>;
|
|
473
|
+
/**
|
|
474
|
+
* Helper to get the upload endpoint URL for client-side uploads with progress tracking.
|
|
475
|
+
* Use this when you need progress indication - call this to get the URL, then upload directly from client.
|
|
476
|
+
*/
|
|
477
|
+
declare const getSupportBundleUploadUrl: (appId: string) => string;
|
|
478
|
+
declare const listReleases: PortalServerActionDefinition<ListReleasesInput, ListReleasesResult>;
|
|
479
|
+
declare const fetchLicenseDetails: PortalServerActionDefinition<FetchLicenseDetailsInput, FetchLicenseDetailsResult>;
|
|
480
|
+
declare const fetchInstallOptions: PortalServerActionDefinition<FetchInstallOptionsInput, FetchInstallOptionsResult>;
|
|
481
|
+
declare const fetchLicenseSummary: PortalServerActionDefinition<FetchLicenseSummaryInput, FetchLicenseSummaryResult>;
|
|
482
|
+
declare const fetchCustomers: PortalServerActionDefinition<FetchCustomersInput, FetchCustomersResult>;
|
|
483
|
+
declare const switchCustomer: PortalServerActionDefinition<SwitchCustomerInput, SwitchCustomerResult>;
|
|
484
|
+
type SecurityInstallType = "linux" | "helm";
|
|
485
|
+
interface SecurityScanSummary {
|
|
486
|
+
critical: Record<string, string>;
|
|
487
|
+
high: Record<string, string>;
|
|
488
|
+
medium: Record<string, string>;
|
|
489
|
+
low: Record<string, string>;
|
|
490
|
+
}
|
|
491
|
+
interface SecurityScanWrapper {
|
|
492
|
+
input: string;
|
|
493
|
+
digest?: string;
|
|
494
|
+
last_scanned_at?: string;
|
|
495
|
+
result: SecurityScanSummary;
|
|
496
|
+
not_found?: boolean;
|
|
497
|
+
}
|
|
498
|
+
interface SecurityReleaseImage {
|
|
499
|
+
image: string;
|
|
500
|
+
sha: string;
|
|
501
|
+
size: number;
|
|
502
|
+
platforms: {
|
|
503
|
+
os: string;
|
|
504
|
+
architecture: string;
|
|
505
|
+
}[];
|
|
506
|
+
security?: SecurityScanWrapper;
|
|
507
|
+
}
|
|
508
|
+
interface GetSecurityInfoInput {
|
|
509
|
+
token: string;
|
|
510
|
+
installType: SecurityInstallType;
|
|
511
|
+
channelSequence: number;
|
|
512
|
+
isAirgap?: boolean;
|
|
513
|
+
}
|
|
514
|
+
interface GetSecurityInfoResult {
|
|
515
|
+
images: SecurityReleaseImage[];
|
|
516
|
+
activeInstancesByVersion?: Record<string, number>;
|
|
517
|
+
}
|
|
518
|
+
interface SecurityInfoDiff {
|
|
519
|
+
oldTags: string[];
|
|
520
|
+
newTags: string[];
|
|
521
|
+
oldVulns?: SecurityScanSummary;
|
|
522
|
+
newVulns?: SecurityScanSummary;
|
|
523
|
+
added?: SecurityScanSummary;
|
|
524
|
+
removed?: SecurityScanSummary;
|
|
525
|
+
}
|
|
526
|
+
interface GetSecurityInfoDiffInput {
|
|
527
|
+
token: string;
|
|
528
|
+
installType: SecurityInstallType;
|
|
529
|
+
fromChannelSequence: number;
|
|
530
|
+
toChannelSequence: number;
|
|
531
|
+
isAirgap?: boolean;
|
|
532
|
+
}
|
|
533
|
+
interface GetSecurityInfoDiffResult {
|
|
534
|
+
from_channel_sequence: number;
|
|
535
|
+
to_channel_sequence: number;
|
|
536
|
+
images: Record<string, SecurityInfoDiff>;
|
|
537
|
+
}
|
|
538
|
+
interface SBOMMetadata {
|
|
539
|
+
name: string;
|
|
540
|
+
spdxVersion: string;
|
|
541
|
+
packageCount: number;
|
|
542
|
+
fileCount: number;
|
|
543
|
+
created?: string;
|
|
544
|
+
creator?: string;
|
|
545
|
+
source?: string;
|
|
546
|
+
}
|
|
547
|
+
interface GetSecurityInfoSBOMInput {
|
|
548
|
+
token: string;
|
|
549
|
+
installType: SecurityInstallType;
|
|
550
|
+
channelSequence: number;
|
|
551
|
+
isAirgap?: boolean;
|
|
552
|
+
unifiedSbom?: boolean;
|
|
553
|
+
}
|
|
554
|
+
interface GetSecurityInfoSBOMResult {
|
|
555
|
+
sboms: {
|
|
556
|
+
unified?: SBOMMetadata;
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
interface DownloadSBOMInput {
|
|
560
|
+
token: string;
|
|
561
|
+
installType: SecurityInstallType;
|
|
562
|
+
channelSequence: number;
|
|
563
|
+
isAirgap?: boolean;
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Fetches security scan (CVE) information for a specific release.
|
|
567
|
+
*/
|
|
568
|
+
declare const getSecurityInfo: PortalServerActionDefinition<GetSecurityInfoInput, GetSecurityInfoResult>;
|
|
569
|
+
/**
|
|
570
|
+
* Fetches security diff between two releases (fixed/added CVEs).
|
|
571
|
+
*/
|
|
572
|
+
declare const getSecurityInfoDiff: PortalServerActionDefinition<GetSecurityInfoDiffInput, GetSecurityInfoDiffResult>;
|
|
573
|
+
/**
|
|
574
|
+
* Fetches SBOM (Software Bill of Materials) for a specific release.
|
|
575
|
+
*/
|
|
576
|
+
declare const getSecurityInfoSBOM: PortalServerActionDefinition<GetSecurityInfoSBOMInput, GetSecurityInfoSBOMResult>;
|
|
577
|
+
/**
|
|
578
|
+
* Downloads the full SBOM file for a specific release.
|
|
579
|
+
* Returns a download URL that can be used to fetch the SBOM.
|
|
580
|
+
*/
|
|
581
|
+
declare const downloadSecuritySBOM: PortalServerActionDefinition<DownloadSBOMInput, string>;
|
|
582
|
+
interface FetchTeamStatsInput {
|
|
583
|
+
token: string;
|
|
584
|
+
}
|
|
585
|
+
interface ServiceAccountSummary {
|
|
586
|
+
id: string;
|
|
587
|
+
accountName: string;
|
|
588
|
+
customerId: string;
|
|
589
|
+
isRevoked: boolean;
|
|
590
|
+
createdAt: string;
|
|
591
|
+
}
|
|
592
|
+
interface FetchTeamStatsResult {
|
|
593
|
+
userCount: number;
|
|
594
|
+
serviceAccountCount: number;
|
|
595
|
+
}
|
|
596
|
+
interface FetchDashboardInstancesInput {
|
|
597
|
+
token: string;
|
|
598
|
+
}
|
|
599
|
+
interface FetchDashboardInstancesResult {
|
|
600
|
+
onlineActiveCount: number;
|
|
601
|
+
airgapCount: number;
|
|
602
|
+
onlineUpdates: number;
|
|
603
|
+
airgapUpdates: number;
|
|
604
|
+
license?: {
|
|
605
|
+
type: string;
|
|
606
|
+
expiresAt: string | null;
|
|
607
|
+
isEmbeddedClusterDownloadEnabled: boolean;
|
|
608
|
+
isHelmInstallEnabled: boolean;
|
|
609
|
+
};
|
|
610
|
+
teamStats?: {
|
|
611
|
+
userCount: number;
|
|
612
|
+
serviceAccountCount: number;
|
|
613
|
+
supportBundleCount: number;
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* NEW: Fetches all dashboard data using the composite Enterprise Portal API endpoint.
|
|
618
|
+
* This replaces multiple v3 calls with a single call that returns:
|
|
619
|
+
* - Instances
|
|
620
|
+
* - Channel releases (for calculating updates)
|
|
621
|
+
* - Notifications
|
|
622
|
+
* - User/app/branding context
|
|
623
|
+
*/
|
|
624
|
+
declare const fetchDashboardComposite: PortalServerActionDefinition<FetchDashboardInstancesInput, FetchDashboardInstancesResult>;
|
|
625
|
+
/**
|
|
626
|
+
* Fetches team statistics including user count and service account count.
|
|
627
|
+
* Used by the Team Settings dashboard card.
|
|
628
|
+
*/
|
|
629
|
+
declare const fetchTeamStats: PortalServerActionDefinition<FetchTeamStatsInput, FetchTeamStatsResult>;
|
|
630
|
+
/**
|
|
631
|
+
* Fetches instance counts and available updates for the dashboard.
|
|
632
|
+
* Used by the Updates dashboard card.
|
|
633
|
+
*/
|
|
634
|
+
declare const fetchDashboardInstances: PortalServerActionDefinition<FetchDashboardInstancesInput, FetchDashboardInstancesResult>;
|
|
635
|
+
interface FetchCurrentUserInput {
|
|
636
|
+
token: string;
|
|
637
|
+
}
|
|
638
|
+
interface UserProfile {
|
|
639
|
+
emailAddress: string;
|
|
640
|
+
firstName: string;
|
|
641
|
+
lastName: string;
|
|
642
|
+
}
|
|
643
|
+
interface FetchCurrentUserResult {
|
|
644
|
+
user: UserProfile;
|
|
645
|
+
}
|
|
646
|
+
interface UpdateUserInput {
|
|
647
|
+
token: string;
|
|
648
|
+
firstName?: string;
|
|
649
|
+
lastName?: string;
|
|
650
|
+
}
|
|
651
|
+
interface UpdateUserResult {
|
|
652
|
+
success: boolean;
|
|
653
|
+
}
|
|
654
|
+
interface NotificationSetting {
|
|
655
|
+
type: string;
|
|
656
|
+
enabled: boolean;
|
|
657
|
+
}
|
|
658
|
+
interface FetchNotificationsInput {
|
|
659
|
+
token: string;
|
|
660
|
+
customerId: string;
|
|
661
|
+
}
|
|
662
|
+
interface FetchNotificationsResult {
|
|
663
|
+
notifications: NotificationSetting[];
|
|
664
|
+
}
|
|
665
|
+
interface UpdateNotificationsInput {
|
|
666
|
+
token: string;
|
|
667
|
+
customerId: string;
|
|
668
|
+
notifications: NotificationSetting[];
|
|
669
|
+
}
|
|
670
|
+
interface UpdateNotificationsResult {
|
|
671
|
+
notifications: NotificationSetting[];
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Fetches the current user's profile information.
|
|
675
|
+
*/
|
|
676
|
+
declare const fetchCurrentUser: PortalServerActionDefinition<FetchCurrentUserInput, FetchCurrentUserResult>;
|
|
677
|
+
/**
|
|
678
|
+
* Updates the current user's profile information.
|
|
679
|
+
*/
|
|
680
|
+
declare const updateUser: PortalServerActionDefinition<UpdateUserInput, UpdateUserResult>;
|
|
681
|
+
/**
|
|
682
|
+
* Fetches notification preferences for a specific customer/team.
|
|
683
|
+
*/
|
|
684
|
+
declare const fetchNotifications: PortalServerActionDefinition<FetchNotificationsInput, FetchNotificationsResult>;
|
|
685
|
+
/**
|
|
686
|
+
* Updates notification preferences for a specific customer/team.
|
|
687
|
+
*/
|
|
688
|
+
declare const updateNotifications: PortalServerActionDefinition<UpdateNotificationsInput, UpdateNotificationsResult>;
|
|
689
|
+
interface TeamUser {
|
|
690
|
+
id: string;
|
|
691
|
+
email: string;
|
|
692
|
+
name?: string;
|
|
693
|
+
createdAt?: string;
|
|
694
|
+
}
|
|
695
|
+
interface TeamUser {
|
|
696
|
+
id: string;
|
|
697
|
+
emailAddress: string;
|
|
698
|
+
firstAccessedAt?: string;
|
|
699
|
+
lastAccessedAt?: string;
|
|
700
|
+
viewCount?: number;
|
|
701
|
+
pendingInvite: boolean;
|
|
702
|
+
}
|
|
703
|
+
interface FetchTeamUsersInput {
|
|
704
|
+
token: string;
|
|
705
|
+
limit?: number;
|
|
706
|
+
offset?: number;
|
|
707
|
+
}
|
|
708
|
+
interface FetchTeamUsersResult {
|
|
709
|
+
users: TeamUser[];
|
|
710
|
+
total: number;
|
|
711
|
+
}
|
|
712
|
+
interface InviteUserInput {
|
|
713
|
+
token: string;
|
|
714
|
+
email: string;
|
|
715
|
+
}
|
|
716
|
+
interface InviteUserResult {
|
|
717
|
+
success: boolean;
|
|
718
|
+
}
|
|
719
|
+
interface DeleteUserInput {
|
|
720
|
+
token: string;
|
|
721
|
+
id: string;
|
|
722
|
+
isPendingInvite: boolean;
|
|
723
|
+
}
|
|
724
|
+
interface DeleteUserResult {
|
|
725
|
+
success: boolean;
|
|
726
|
+
}
|
|
727
|
+
interface ServiceAccount {
|
|
728
|
+
id: string;
|
|
729
|
+
customerId: string;
|
|
730
|
+
accountName: string;
|
|
731
|
+
emailAddress?: string;
|
|
732
|
+
token: string;
|
|
733
|
+
isRevoked: boolean;
|
|
734
|
+
createdAt: string;
|
|
735
|
+
lastUsedAt?: string;
|
|
736
|
+
tokenRegeneratedAt?: string;
|
|
737
|
+
}
|
|
738
|
+
interface FetchServiceAccountsInput {
|
|
739
|
+
token: string;
|
|
740
|
+
limit?: number;
|
|
741
|
+
offset?: number;
|
|
742
|
+
includeRevoked?: boolean;
|
|
743
|
+
}
|
|
744
|
+
interface FetchServiceAccountsResult {
|
|
745
|
+
serviceAccounts: ServiceAccount[];
|
|
746
|
+
total: number;
|
|
747
|
+
}
|
|
748
|
+
interface RevokeServiceAccountInput {
|
|
749
|
+
token: string;
|
|
750
|
+
accountId: string;
|
|
751
|
+
}
|
|
752
|
+
interface RevokeServiceAccountResult {
|
|
753
|
+
success: boolean;
|
|
754
|
+
}
|
|
755
|
+
interface RotateServiceAccountTokenInput {
|
|
756
|
+
token: string;
|
|
757
|
+
accountId: string;
|
|
758
|
+
}
|
|
759
|
+
interface RotateServiceAccountTokenResult {
|
|
760
|
+
serviceAccount: ServiceAccount;
|
|
761
|
+
helmLoginCommand: string;
|
|
762
|
+
redeployHelm: string[];
|
|
763
|
+
}
|
|
764
|
+
interface Instance {
|
|
765
|
+
id: string;
|
|
766
|
+
serviceAccountId?: string;
|
|
767
|
+
versionLabel?: string;
|
|
768
|
+
channelId?: string;
|
|
769
|
+
channelSequence?: number;
|
|
770
|
+
lastCheckin?: string;
|
|
771
|
+
isAirgap?: boolean;
|
|
772
|
+
embeddedClusterVersion?: string;
|
|
773
|
+
tags?: Array<{
|
|
774
|
+
key: string;
|
|
775
|
+
value: string;
|
|
776
|
+
}>;
|
|
777
|
+
}
|
|
778
|
+
interface FetchInstancesInput {
|
|
779
|
+
token: string;
|
|
780
|
+
}
|
|
781
|
+
interface FetchInstancesResult {
|
|
782
|
+
instances: Instance[];
|
|
783
|
+
}
|
|
784
|
+
interface SAMLConfig {
|
|
785
|
+
samlAllowed: boolean;
|
|
786
|
+
samlEnabled: boolean;
|
|
787
|
+
entityId: string;
|
|
788
|
+
acsUrl: string;
|
|
789
|
+
hasIdpMetadata: boolean;
|
|
790
|
+
hasIdpCert: boolean;
|
|
791
|
+
}
|
|
792
|
+
interface FetchSamlConfigInput {
|
|
793
|
+
token: string;
|
|
794
|
+
}
|
|
795
|
+
interface FetchSamlConfigResult {
|
|
796
|
+
config: SAMLConfig;
|
|
797
|
+
}
|
|
798
|
+
interface UpdateSamlConfigInput {
|
|
799
|
+
token: string;
|
|
800
|
+
idpMetadataXml: string;
|
|
801
|
+
idpPublicCert: string;
|
|
802
|
+
}
|
|
803
|
+
interface UpdateSamlConfigResult {
|
|
804
|
+
success: boolean;
|
|
805
|
+
}
|
|
806
|
+
interface ToggleSamlEnabledInput {
|
|
807
|
+
token: string;
|
|
808
|
+
enabled: boolean;
|
|
809
|
+
}
|
|
810
|
+
interface ToggleSamlEnabledResult {
|
|
811
|
+
success: boolean;
|
|
812
|
+
samlEnabled: boolean;
|
|
813
|
+
}
|
|
814
|
+
interface DeprovisionSamlInput {
|
|
815
|
+
token: string;
|
|
816
|
+
}
|
|
817
|
+
interface DeprovisionSamlResult {
|
|
818
|
+
success: boolean;
|
|
819
|
+
}
|
|
820
|
+
/**
|
|
821
|
+
* Fetches the list of users for a team.
|
|
822
|
+
*/
|
|
823
|
+
declare const fetchTeamUsers: PortalServerActionDefinition<FetchTeamUsersInput, FetchTeamUsersResult>;
|
|
824
|
+
/**
|
|
825
|
+
* Invites a user to the team.
|
|
826
|
+
*/
|
|
827
|
+
declare const inviteUser: PortalServerActionDefinition<InviteUserInput, InviteUserResult>;
|
|
828
|
+
/**
|
|
829
|
+
* Removes a user or pending invite from the team by ID.
|
|
830
|
+
*/
|
|
831
|
+
declare const deleteUser: PortalServerActionDefinition<DeleteUserInput, DeleteUserResult>;
|
|
832
|
+
/**
|
|
833
|
+
* Fetches the list of service accounts for a team.
|
|
834
|
+
*/
|
|
835
|
+
declare const fetchServiceAccounts: PortalServerActionDefinition<FetchServiceAccountsInput, FetchServiceAccountsResult>;
|
|
836
|
+
/**
|
|
837
|
+
* Revokes a service account.
|
|
838
|
+
*/
|
|
839
|
+
declare const revokeServiceAccount: PortalServerActionDefinition<RevokeServiceAccountInput, RevokeServiceAccountResult>;
|
|
840
|
+
/**
|
|
841
|
+
* Rotates a service account token.
|
|
842
|
+
*/
|
|
843
|
+
declare const rotateServiceAccountToken: PortalServerActionDefinition<RotateServiceAccountTokenInput, RotateServiceAccountTokenResult>;
|
|
844
|
+
/**
|
|
845
|
+
* Fetches instances for the customer.
|
|
846
|
+
*/
|
|
847
|
+
declare const fetchInstances: PortalServerActionDefinition<FetchInstancesInput, FetchInstancesResult>;
|
|
848
|
+
/**
|
|
849
|
+
* Fetches SAML configuration for the customer.
|
|
850
|
+
*/
|
|
851
|
+
declare const fetchSamlConfig: PortalServerActionDefinition<FetchSamlConfigInput, FetchSamlConfigResult>;
|
|
852
|
+
/**
|
|
853
|
+
* Updates SAML configuration (uploads IdP metadata and certificate).
|
|
854
|
+
*/
|
|
855
|
+
declare const updateSamlConfig: PortalServerActionDefinition<UpdateSamlConfigInput, UpdateSamlConfigResult>;
|
|
856
|
+
/**
|
|
857
|
+
* Toggles SAML authentication enabled/disabled.
|
|
858
|
+
*/
|
|
859
|
+
declare const toggleSamlEnabled: PortalServerActionDefinition<ToggleSamlEnabledInput, ToggleSamlEnabledResult>;
|
|
860
|
+
/**
|
|
861
|
+
* Removes SAML configuration (deprovisions SAML).
|
|
862
|
+
*/
|
|
863
|
+
declare const deprovisionSaml: PortalServerActionDefinition<DeprovisionSamlInput, DeprovisionSamlResult>;
|
|
864
|
+
interface AcceptInviteInput {
|
|
865
|
+
code: string;
|
|
866
|
+
}
|
|
867
|
+
interface AcceptInviteResult {
|
|
868
|
+
token: string;
|
|
869
|
+
}
|
|
870
|
+
interface AcceptInviteError {
|
|
871
|
+
code: "invalid_code" | "expired" | "unknown";
|
|
872
|
+
message: string;
|
|
873
|
+
}
|
|
874
|
+
/**
|
|
875
|
+
* Accepts a team invitation using the invite code from email.
|
|
876
|
+
* Returns a JWT token on success that can be used to establish a session.
|
|
877
|
+
*/
|
|
878
|
+
declare const acceptInvite: PortalServerActionDefinition<AcceptInviteInput, AcceptInviteResult>;
|
|
879
|
+
interface RefreshInviteInput {
|
|
880
|
+
code: string;
|
|
881
|
+
}
|
|
882
|
+
interface RefreshInviteResult {
|
|
883
|
+
success: boolean;
|
|
884
|
+
}
|
|
885
|
+
/**
|
|
886
|
+
* Refreshes an expired invite by generating a new code and resending the email.
|
|
887
|
+
* The original code is used to identify the invite to refresh.
|
|
888
|
+
*/
|
|
889
|
+
declare const refreshInvite: PortalServerActionDefinition<RefreshInviteInput, RefreshInviteResult>;
|
|
890
|
+
|
|
891
|
+
export { type PortalServerActionDefinition as $, downloadSupportBundle as A, deleteSupportBundle as B, type ChannelRelease as C, type DiscardInstallationResult as D, uploadSupportBundle as E, type FetchChannelReleasesResult as F, type GetSecurityInfoDiffResult as G, getSupportBundleUploadUrl as H, type InstallOptions as I, decodeJwtPayload as J, getCustomerIdFromToken as K, verifyMagicLink as L, fetchDashboardComposite as M, type NetworkAvailability as N, getSecurityInfo as O, type PendingInstallation as P, getSecurityInfoDiff as Q, getSecurityInfoSBOM as R, type SecurityReleaseImage as S, downloadSecuritySBOM as T, type UpdateInstallOptionsInput as U, fetchCurrentUser as V, updateUser as W, fetchNotifications as X, updateNotifications as Y, type PortalActionContext as Z, type PortalActionVisibility as _, type CreateServiceAccountResult as a, type FetchLicenseSummaryInput as a$, type CustomBrandingResponse as a0, type FetchLicenseDetailsInput as a1, type FetchLicenseDetailsResult as a2, type ListReleasesInput as a3, type ListReleasesResult as a4, type PortalLicenseDetails as a5, type PortalLicenseField as a6, type InitiateLoginInput as a7, type InitiateLoginResult as a8, type VerifyMagicLinkInput as a9, type UpdateUserResult as aA, type NotificationSetting as aB, type FetchNotificationsInput as aC, type FetchNotificationsResult as aD, type UpdateNotificationsInput as aE, type UpdateNotificationsResult as aF, fetchPendingInstallations as aG, discardInstallation as aH, getUpdateInstructions as aI, filterHelmReleases as aJ, type EmbeddedClusterInstallationType as aK, type HelmInstallationType as aL, type InstallationTypes as aM, type FetchChannelReleasesInput as aN, type InstallType as aO, type RegistryAvailability as aP, type KubernetesDistribution as aQ, type InstallStatus as aR, type FetchPendingInstallationsInput as aS, type DiscardInstallationInput as aT, type GetUpdateInstructionsInput as aU, type GetUpdateInstructionsResult as aV, type UpdateInstructions as aW, getApiOrigin as aX, type UploadSupportBundleInput as aY, type UploadSupportBundleResult as aZ, type FetchInstallOptionsInput as a_, type VerifyMagicLinkResult as aa, type VerifyMagicLinkError as ab, type ListSupportBundlesInput as ac, type ListSupportBundlesResult as ad, type SupportBundleInsight as ae, type DownloadSupportBundleInput as af, type DownloadSupportBundleResult as ag, type DeleteSupportBundleInput as ah, type DeleteSupportBundleResult as ai, type UploadSupportBundleCompleteInput as aj, type UploadSupportBundleCompleteResult as ak, type SecurityInstallType as al, type SecurityScanSummary as am, type SecurityScanWrapper as an, type GetSecurityInfoInput as ao, type GetSecurityInfoResult as ap, type SecurityInfoDiff as aq, type GetSecurityInfoDiffInput as ar, type SBOMMetadata as as, type GetSecurityInfoSBOMInput as at, type GetSecurityInfoSBOMResult as au, type DownloadSBOMInput as av, type FetchCurrentUserInput as aw, type FetchCurrentUserResult as ax, type UserProfile as ay, type UpdateUserInput as az, type CreateInstallOptionsInput as b, type FetchCustomersInput as b0, type Customer as b1, type FetchCustomersResult as b2, type SwitchCustomerInput as b3, type SwitchCustomerResult as b4, fetchInstallOptions as b5, fetchLicenseSummary as b6, fetchCustomers as b7, switchCustomer as b8, type FetchTeamStatsInput as b9, type UpdateSamlConfigInput as bA, type UpdateSamlConfigResult as bB, type ToggleSamlEnabledInput as bC, type ToggleSamlEnabledResult as bD, type DeprovisionSamlInput as bE, type DeprovisionSamlResult as bF, fetchTeamUsers as bG, inviteUser as bH, deleteUser as bI, fetchServiceAccounts as bJ, revokeServiceAccount as bK, rotateServiceAccountToken as bL, fetchInstances as bM, fetchSamlConfig as bN, updateSamlConfig as bO, toggleSamlEnabled as bP, deprovisionSaml as bQ, type AcceptInviteInput as bR, type AcceptInviteResult as bS, type AcceptInviteError as bT, acceptInvite as bU, type RefreshInviteInput as bV, type RefreshInviteResult as bW, refreshInvite as bX, type TeamUser as ba, type ServiceAccountSummary as bb, type FetchTeamStatsResult as bc, type FetchDashboardInstancesInput as bd, type FetchDashboardInstancesResult as be, fetchTeamStats as bf, fetchDashboardInstances as bg, type FetchTeamUsersInput as bh, type FetchTeamUsersResult as bi, type InviteUserInput as bj, type InviteUserResult as bk, type DeleteUserInput as bl, type DeleteUserResult as bm, type ServiceAccount as bn, type FetchServiceAccountsInput as bo, type FetchServiceAccountsResult as bp, type RevokeServiceAccountInput as bq, type RevokeServiceAccountResult as br, type RotateServiceAccountTokenInput as bs, type RotateServiceAccountTokenResult as bt, type Instance as bu, type FetchInstancesInput as bv, type FetchInstancesResult as bw, type SAMLConfig as bx, type FetchSamlConfigInput as by, type FetchSamlConfigResult as bz, type CreateInstallOptionsResult as c, type GetInstallOptionsInput as d, type GetInstallOptionsResult as e, type UpdateInstallOptionsResult as f, createServiceAccount as g, type CreateServiceAccountInput as h, type ServiceAccountData as i, type FetchInstallOptionsResult as j, type FetchLicenseSummaryResult as k, fetchChannelReleases as l, createInstallOptions as m, getInstallOptions as n, filterEmbeddedClusterReleases as o, type InstallInstructions as p, type InstallStep as q, type FetchPendingInstallationsResult as r, type SupportBundleSummary as s, defineServerAction as t, updateInstallOptions as u, fetchCustomBranding as v, fetchLicenseDetails as w, listReleases as x, initiateLogin as y, listSupportBundles as z };
|