@stack-spot/portal-network 0.166.0 → 0.167.0

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.
@@ -43,12 +43,14 @@ export type TenantManifestV1SpecCloudAccountConfigurationIamRoles = {
43
43
  clusterNodeGroup?: string;
44
44
  clusterAdminRoles: string[];
45
45
  crossplane?: string;
46
+ crossAccountRoleArn?: string;
46
47
  argocd?: string;
47
48
  karpenter?: string;
48
49
  externalSecrets?: string;
49
50
  stackspotCloudPlatformAgent?: string;
50
51
  stackspotCloudPlatformManager?: string;
51
52
  stackspotCloudPlatformGateway?: string;
53
+ nodeRole?: string;
52
54
  };
53
55
  export type TenantManifestV1SpecCloudAccountConfiguration = {
54
56
  fromRef?: TenantManifestV1SpecCloudAccountConfigurationFromRef;
@@ -67,19 +69,26 @@ export type TenantManifestV1SpecAddonReference = {
67
69
  [key: string]: object;
68
70
  };
69
71
  };
72
+ export type TenantManifestV1SpecKubernetesNetworkConfig = {
73
+ ipFamily?: string;
74
+ serviceIpv4Cidr?: string;
75
+ };
70
76
  export type TenantManifestV1SpecKubernetes = {
71
77
  publicAccess: boolean;
78
+ privateAccess: boolean;
72
79
  version: string;
73
80
  publicCidrsAllowed: string[];
74
- extraCidrsInbound: string[];
81
+ privateCidrsAllowed?: string[];
82
+ extraCidrsInbound?: string[];
83
+ networkConfig?: TenantManifestV1SpecKubernetesNetworkConfig;
75
84
  };
76
85
  export type TenantManifestV1SpecNodeGroup = {
77
- volumeSize: number;
78
- amiType: string;
79
- capacityType: string;
80
- desiredSize: number;
81
- maxSize: number;
82
- minSize: number;
86
+ volumeSize?: number;
87
+ amiType?: string;
88
+ capacityType?: string;
89
+ desiredSize?: number;
90
+ maxSize?: number;
91
+ minSize?: number;
83
92
  };
84
93
  export type TenantManifestV1SpecStackspotCloudPlatform = {
85
94
  createIamRoles: boolean;
@@ -110,28 +119,248 @@ export type TenantManifestV1SpecSeleneApps = {
110
119
  manager: TenantManifestV1SpecSeleneAppsSeleneApp;
111
120
  platformGatewayUrl: string;
112
121
  };
122
+ export type TenantManifestV1SpecArgoCdMetrics = {
123
+ enabled: boolean;
124
+ };
125
+ export type TenantManifestV1SpecArgoCdComponentConfig = {
126
+ metrics?: TenantManifestV1SpecArgoCdMetrics;
127
+ podAnnotations?: {
128
+ [key: string]: string;
129
+ };
130
+ };
131
+ export type TenantManifestV1SpecArgoCdConfigsSsh = {
132
+ extraHosts: string;
133
+ };
134
+ export type TenantManifestV1SpecArgoCdConfigsTls = {
135
+ certificates: {
136
+ [key: string]: string;
137
+ };
138
+ };
139
+ export type TenantManifestV1SpecArgoCdConfigs = {
140
+ ssh?: TenantManifestV1SpecArgoCdConfigsSsh;
141
+ tls?: TenantManifestV1SpecArgoCdConfigsTls;
142
+ repositories?: {
143
+ [key: string]: object;
144
+ };
145
+ credentialTemplates?: {
146
+ [key: string]: object;
147
+ };
148
+ };
149
+ export type TenantManifestV1SpecArgoCd = {
150
+ chart?: TenantManifestV1SpecHelmResource;
151
+ server?: TenantManifestV1SpecArgoCdComponentConfig;
152
+ controller?: TenantManifestV1SpecArgoCdComponentConfig;
153
+ applicationSet?: TenantManifestV1SpecArgoCdComponentConfig;
154
+ repoServer?: TenantManifestV1SpecArgoCdComponentConfig;
155
+ configs?: TenantManifestV1SpecArgoCdConfigs;
156
+ };
157
+ export type TenantManifestV1SpecKarpenterNodeClass = {
158
+ name?: string;
159
+ amiType?: string;
160
+ amiVersion?: string;
161
+ amiId?: string;
162
+ detailedMonitoring?: boolean;
163
+ volumeSize?: number;
164
+ metadataOptions?: {
165
+ [key: string]: object;
166
+ };
167
+ subnetIds?: string[];
168
+ userData?: string;
169
+ };
170
+ export type TenantManifestV1SpecKarpenterNodePoolLimits = {
171
+ cpu: string;
172
+ memory: string;
173
+ };
174
+ export type TenantManifestV1SpecKarpenterNodePoolInstanceFamilies = {
175
+ amd?: string[];
176
+ arm?: string[];
177
+ };
178
+ export type TenantManifestV1SpecKarpenterNodePool = {
179
+ /** Name of the NodePool */
180
+ name?: string;
181
+ /** Resource limits for the NodePool */
182
+ limits?: TenantManifestV1SpecKarpenterNodePoolLimits;
183
+ /** The amount of time a node can live on the cluster before being deleted by Karpenter */
184
+ expireAfter?: string;
185
+ /** Instance sizes to use with this NodePool */
186
+ instanceSizes?: string[];
187
+ /** Instance families to use with this NodePool */
188
+ instanceFamilies?: TenantManifestV1SpecKarpenterNodePoolInstanceFamilies;
189
+ /** Instance architecture to use with this NodePool (valid values: amd, arm) */
190
+ architecture?: string;
191
+ /** Availability zones to use with this NodePool */
192
+ zones?: string[];
193
+ /** Instance capacity type to use with this NodePool (valid values: spot, on-demand, reserved) */
194
+ capacityType?: string;
195
+ /** Node Class resource to associate this NodePool with */
196
+ nodeClassName?: string;
197
+ /** Configuration for Karpenter to disrupt nodes through your NodePool */
198
+ disruption?: {
199
+ [key: string]: object;
200
+ };
201
+ /** Taints to add to provisioned nodes */
202
+ taints?: {
203
+ [key: string]: object;
204
+ }[];
205
+ };
206
+ export type TenantManifestV1SpecKarpenter = {
207
+ chart?: TenantManifestV1SpecHelmResource;
208
+ customAnnotations?: {
209
+ [key: string]: string;
210
+ };
211
+ replicas?: number;
212
+ podAnnotations?: {
213
+ [key: string]: string;
214
+ };
215
+ defaultNodeClass?: TenantManifestV1SpecKarpenterNodeClass;
216
+ additionalNodeClasses?: TenantManifestV1SpecKarpenterNodeClass[];
217
+ defaultNodePool?: TenantManifestV1SpecKarpenterNodePool;
218
+ additionalNodePools?: TenantManifestV1SpecKarpenterNodePool[];
219
+ };
220
+ export type TenantManifestV1SpecExternalSecretsHelmRepoConfig = {
221
+ url: string;
222
+ username?: string;
223
+ password?: string;
224
+ };
225
+ export type TenantManifestV1SpecExternalSecrets = {
226
+ enabled?: boolean;
227
+ chart?: TenantManifestV1SpecHelmResource;
228
+ helmRepo?: TenantManifestV1SpecExternalSecretsHelmRepoConfig;
229
+ enableMetrics?: boolean;
230
+ podAnnotations?: {
231
+ [key: string]: string;
232
+ };
233
+ };
234
+ export type TenantManifestV1SpecFargateConfiguration = {
235
+ /** Set the Fargate Profile IAM role. If empty, it will be autocreated */
236
+ roleArn?: string;
237
+ /** Define selectors use with the Fargate Profile (defaults to Karpenter and coreDNS) */
238
+ selector?: {
239
+ [key: string]: object;
240
+ }[];
241
+ };
242
+ export type TenantManifestV1SpecCrossplaneMetrics = {
243
+ enabled?: boolean;
244
+ };
245
+ export type TenantManifestV1SpecCrossplaneProvider = {
246
+ services?: string[];
247
+ version: string;
248
+ repo: string;
249
+ };
250
+ export type TenantManifestV1SpecCrossplaneDefaultProvider = {
251
+ aws?: TenantManifestV1SpecCrossplaneProvider;
252
+ kubernetes?: TenantManifestV1SpecCrossplaneProvider;
253
+ };
254
+ export type TenantManifestV1SpecCrossplaneFunction = {
255
+ name: string;
256
+ version: string;
257
+ repo: string;
258
+ };
259
+ export type TenantManifestV1SpecCrossplane = {
260
+ chart?: TenantManifestV1SpecHelmResource;
261
+ replicas?: number;
262
+ registryCaBundleConfig?: {
263
+ [key: string]: object;
264
+ };
265
+ metrics?: TenantManifestV1SpecCrossplaneMetrics;
266
+ customAnnotations?: {
267
+ [key: string]: string;
268
+ };
269
+ defaultProviders?: TenantManifestV1SpecCrossplaneDefaultProvider;
270
+ defaultFunctions?: TenantManifestV1SpecCrossplaneFunction[];
271
+ additionalFunctions?: TenantManifestV1SpecCrossplaneFunction[];
272
+ };
273
+ export type TenantManifestV1SpecDefaultEksAddonsVersions = {
274
+ coreDns?: string;
275
+ podIdentity?: string;
276
+ vpcCni?: string;
277
+ kubeProxy?: string;
278
+ };
279
+ export type TenantManifestV1SpecDefaultEksAddonsConfigurationValues = {
280
+ coreDns?: string;
281
+ podIdentity?: string;
282
+ vpcCni?: string;
283
+ kubeProxy?: string;
284
+ };
285
+ export type TenantManifestV1SpecDefaultEksAddons = {
286
+ versions?: TenantManifestV1SpecDefaultEksAddonsVersions;
287
+ configurationValues?: TenantManifestV1SpecDefaultEksAddonsConfigurationValues;
288
+ };
289
+ export type TenantManifestV1SpecEksAddon = {
290
+ name: string;
291
+ version: string;
292
+ configurationValues?: string;
293
+ };
294
+ export type TenantManifestV1SpecEncryptionConfig = {
295
+ autoCreate?: boolean;
296
+ kmsKeyArn?: string;
297
+ };
298
+ export type TenantManifestV1SpecCustomLogGroup = {
299
+ enabled?: boolean;
300
+ retention?: number;
301
+ kmsKeyArn?: string;
302
+ autoCreateKmsKey?: boolean;
303
+ };
304
+ export type TenantManifestV1SpecSecurityGroupRule = {
305
+ name: string;
306
+ "type": string;
307
+ description: string;
308
+ protocol: string;
309
+ fromPort: number;
310
+ toPort: number;
311
+ sourceCidr?: string;
312
+ sourceIsNodeGroup?: boolean;
313
+ sourcePrefixListId?: string;
314
+ sourceIsCluster?: boolean;
315
+ sourceIsSelf?: boolean;
316
+ destinationCidr?: string;
317
+ };
318
+ export type TenantManifestV1SpecSecurityGroup = {
319
+ autoCreate?: boolean;
320
+ ids?: string[];
321
+ additionalRules?: TenantManifestV1SpecSecurityGroupRule[];
322
+ };
113
323
  export type TenantManifestV1SpecControlPlane = {
114
324
  addons: TenantManifestV1SpecAddonReference[];
115
325
  instanceTypes?: string[];
116
326
  kubernetes: TenantManifestV1SpecKubernetes;
117
- nodeGroup: TenantManifestV1SpecNodeGroup;
327
+ nodeGroup?: TenantManifestV1SpecNodeGroup;
118
328
  stackspotCloudPlatform?: TenantManifestV1SpecStackspotCloudPlatform;
119
329
  crossplaneNamespace: string;
120
330
  eksHelm?: TenantManifestV1SpecHelmResource;
121
331
  seleneHelm?: TenantManifestV1SpecHelmResource;
122
332
  seleneApps?: TenantManifestV1SpecSeleneApps;
123
- iamProvider?: string;
333
+ iamProvider?: "AWS" | "ITAU";
124
334
  postBootstrapUserData?: string;
125
335
  bootstrapClusterCreatorAdminPermissions?: boolean;
126
336
  enabledClusterLogTypes?: string[];
127
- argoConfigs?: {
128
- [key: string]: object;
337
+ argoCd?: TenantManifestV1SpecArgoCd;
338
+ controlPlaneCustomAnnotations?: {
339
+ [key: string]: string;
129
340
  };
341
+ karpenter?: TenantManifestV1SpecKarpenter;
342
+ authenticationMode?: "API" | "API_AND_CONFIG_MAP" | "CONFIG_MAP";
343
+ supportType?: string;
344
+ externalSecrets?: TenantManifestV1SpecExternalSecrets;
345
+ fargateConfiguration?: TenantManifestV1SpecFargateConfiguration;
346
+ crossplane?: TenantManifestV1SpecCrossplane;
347
+ defaultEksAddons?: TenantManifestV1SpecDefaultEksAddons;
348
+ additionalEksAddons?: TenantManifestV1SpecEksAddon[];
349
+ encryptionConfig?: TenantManifestV1SpecEncryptionConfig;
350
+ customLogGroup?: TenantManifestV1SpecCustomLogGroup;
351
+ clusterSecurityGroup?: TenantManifestV1SpecSecurityGroup;
352
+ nodeSecurityGroup?: TenantManifestV1SpecSecurityGroup;
353
+ };
354
+ export type TenantManifestV1SpecItauConfig = {
355
+ iamsrProviderRoleArn: string;
356
+ iamsrApiToken?: string;
357
+ iamsrCerts?: string;
130
358
  };
131
359
  export type TenantManifestV1Spec = {
132
360
  organizationId: string;
133
361
  cloudAccountConfiguration: TenantManifestV1SpecCloudAccountConfiguration;
134
362
  controlPlane: TenantManifestV1SpecControlPlane;
363
+ itau?: TenantManifestV1SpecItauConfig;
135
364
  };
136
365
  export type TenantManifestV1StatusControlPlaneCondition = {
137
366
  id?: string;
@@ -171,6 +400,7 @@ export type RuntimeManifestV1Alpha1SpecCloudAccountConfigurationFromRef = {
171
400
  };
172
401
  export type RuntimeManifestV1Alpha1SpecCloudAccountConfigurationIamRoles = {
173
402
  clusterRole?: string;
403
+ nodeRole?: string;
174
404
  clusterNodeGroup?: string;
175
405
  clusterAdminRoles: string[];
176
406
  karpenter?: string;
@@ -192,19 +422,26 @@ export type RuntimeManifestV1Alpha1SpecControlPlaneAddonReference = {
192
422
  [key: string]: object;
193
423
  };
194
424
  };
425
+ export type RuntimeManifestV1Alpha1SpecKubernetesNetworkConfig = {
426
+ ipFamily?: string;
427
+ serviceIpv4Cidr?: string;
428
+ };
195
429
  export type RuntimeManifestV1Alpha1SpecKubernetes = {
196
430
  publicAccess: boolean;
431
+ privateAccess: boolean;
197
432
  version: string;
198
433
  publicCidrsAllowed: string[];
199
- extraCidrsInbound: string[];
434
+ privateCidrsAllowed?: string[];
435
+ extraCidrsInbound?: string[];
436
+ networkConfig?: RuntimeManifestV1Alpha1SpecKubernetesNetworkConfig;
200
437
  };
201
438
  export type RuntimeManifestV1Alpha1SpecNodeGroup = {
202
- volumeSize: number;
439
+ volumeSize?: number;
203
440
  amiType?: string;
204
- capacityType: string;
205
- desiredSize: number;
206
- maxSize: number;
207
- minSize: number;
441
+ capacityType?: string;
442
+ desiredSize?: number;
443
+ maxSize?: number;
444
+ minSize?: number;
208
445
  };
209
446
  export type RuntimeManifestV1Alpha1SpecStackspotCloudPlatform = {
210
447
  createIamRoles: boolean;
@@ -214,25 +451,161 @@ export type RuntimeManifestV1Alpha1SpecHelmResource = {
214
451
  version: string;
215
452
  repoUrl: string;
216
453
  };
454
+ export type RuntimeManifestV1Alpha1SpecKarpenterNodeClass = {
455
+ name?: string;
456
+ amiType?: string;
457
+ amiVersion?: string;
458
+ amiId?: string;
459
+ detailedMonitoring?: boolean;
460
+ volumeSize?: number;
461
+ metadataOptions?: {
462
+ [key: string]: object;
463
+ };
464
+ subnetIds?: string[];
465
+ userData?: string;
466
+ };
467
+ export type RuntimeManifestV1Alpha1SpecKarpenterNodePoolLimits = {
468
+ cpu: string;
469
+ memory: string;
470
+ };
471
+ export type RuntimeManifestV1Alpha1SpecKarpenterNodePoolInstanceFamilies = {
472
+ amd?: string[];
473
+ arm?: string[];
474
+ };
475
+ export type RuntimeManifestV1Alpha1SpecKarpenterNodePool = {
476
+ /** Name of the NodePool */
477
+ name?: string;
478
+ /** Resource limits for the NodePool */
479
+ limits?: RuntimeManifestV1Alpha1SpecKarpenterNodePoolLimits;
480
+ /** The amount of time a node can live on the cluster before being deleted by Karpenter */
481
+ expireAfter?: string;
482
+ /** Instance sizes to use with this NodePool */
483
+ instanceSizes?: string[];
484
+ /** Instance families to use with this NodePool */
485
+ instanceFamilies?: RuntimeManifestV1Alpha1SpecKarpenterNodePoolInstanceFamilies;
486
+ /** Instance architecture to use with this NodePool (valid values: amd, arm) */
487
+ architecture?: string;
488
+ /** Availability zones to use with this NodePool */
489
+ zones?: string[];
490
+ /** Instance capacity type to use with this NodePool (valid values: spot, on-demand, reserved) */
491
+ capacityType?: string;
492
+ /** Node Class resource to associate this NodePool with */
493
+ nodeClassName?: string;
494
+ /** Configuration for Karpenter to disrupt nodes through your NodePool */
495
+ disruption?: {
496
+ [key: string]: object;
497
+ };
498
+ /** Taints to add to provisioned nodes */
499
+ taints?: {
500
+ [key: string]: object;
501
+ }[];
502
+ };
503
+ export type RuntimeManifestV1Alpha1SpecKarpenter = {
504
+ chart?: RuntimeManifestV1Alpha1SpecHelmResource;
505
+ customAnnotations?: {
506
+ [key: string]: string;
507
+ };
508
+ replicas?: number;
509
+ podAnnotations?: {
510
+ [key: string]: string;
511
+ };
512
+ defaultNodeClass?: RuntimeManifestV1Alpha1SpecKarpenterNodeClass;
513
+ additionalNodeClasses?: RuntimeManifestV1Alpha1SpecKarpenterNodeClass[];
514
+ defaultNodePool?: RuntimeManifestV1Alpha1SpecKarpenterNodePool;
515
+ additionalNodePools?: RuntimeManifestV1Alpha1SpecKarpenterNodePool[];
516
+ };
517
+ export type RuntimeManifestV1Alpha1SpecFargateConfiguration = {
518
+ /** Set the Fargate Profile IAM role. If empty, it will be autocreated */
519
+ roleArn?: string;
520
+ /** Define selectors use with the Fargate Profile (defaults to Karpenter and coreDNS) */
521
+ selector?: {
522
+ [key: string]: object;
523
+ }[];
524
+ };
525
+ export type RuntimeManifestV1Alpha1SpecDefaultEksAddonsVersions = {
526
+ coreDns?: string;
527
+ podIdentity?: string;
528
+ vpcCni?: string;
529
+ kubeProxy?: string;
530
+ };
531
+ export type RuntimeManifestV1Alpha1SpecDefaultEksAddonsConfigurationValues = {
532
+ coreDns?: string;
533
+ podIdentity?: string;
534
+ vpcCni?: string;
535
+ kubeProxy?: string;
536
+ };
537
+ export type RuntimeManifestV1Alpha1SpecDefaultEksAddons = {
538
+ versions?: RuntimeManifestV1Alpha1SpecDefaultEksAddonsVersions;
539
+ configurationValues?: RuntimeManifestV1Alpha1SpecDefaultEksAddonsConfigurationValues;
540
+ };
541
+ export type RuntimeManifestV1Alpha1SpecEksAddon = {
542
+ name: string;
543
+ version: string;
544
+ configurationValues?: string;
545
+ };
546
+ export type RuntimeManifestV1Alpha1SpecEncryptionConfig = {
547
+ autoCreate?: boolean;
548
+ kmsKeyArn?: string;
549
+ };
550
+ export type RuntimeManifestV1Alpha1SpecCustomLogGroup = {
551
+ enabled?: boolean;
552
+ retention?: number;
553
+ kmsKeyArn?: string;
554
+ autoCreateKmsKey?: boolean;
555
+ };
556
+ export type RuntimeManifestV1Alpha1SpecSecurityGroupRule = {
557
+ name: string;
558
+ "type": string;
559
+ description: string;
560
+ protocol: string;
561
+ fromPort: number;
562
+ toPort: number;
563
+ sourceCidr?: string;
564
+ sourceIsNodeGroup?: boolean;
565
+ sourcePrefixListId?: string;
566
+ sourceIsCluster?: boolean;
567
+ sourceIsSelf?: boolean;
568
+ destinationCidr?: string;
569
+ };
570
+ export type RuntimeManifestV1Alpha1SpecSecurityGroup = {
571
+ autoCreate?: boolean;
572
+ ids?: string[];
573
+ additionalRules?: RuntimeManifestV1Alpha1SpecSecurityGroupRule[];
574
+ };
217
575
  export type RuntimeManifestV1Alpha1SpecControlPlane = {
218
576
  addons?: RuntimeManifestV1Alpha1SpecControlPlaneAddonReference[];
219
577
  instanceTypes?: string[];
220
578
  kubernetes: RuntimeManifestV1Alpha1SpecKubernetes;
221
- nodeGroup: RuntimeManifestV1Alpha1SpecNodeGroup;
579
+ nodeGroup?: RuntimeManifestV1Alpha1SpecNodeGroup;
222
580
  stackspotCloudPlatform?: RuntimeManifestV1Alpha1SpecStackspotCloudPlatform;
223
581
  eksHelm?: RuntimeManifestV1Alpha1SpecHelmResource;
224
- iamProvider?: string;
582
+ iamProvider?: "AWS" | "ITAU";
583
+ authenticationMode?: "API" | "API_AND_CONFIG_MAP" | "CONFIG_MAP";
225
584
  postBootstrapUserData?: string;
226
585
  bootstrapClusterCreatorAdminPermissions?: boolean;
227
586
  enabledClusterLogTypes?: string[];
228
587
  argoConfigs?: {
229
588
  [key: string]: object;
230
589
  };
590
+ karpenter?: RuntimeManifestV1Alpha1SpecKarpenter;
591
+ fargateConfiguration?: RuntimeManifestV1Alpha1SpecFargateConfiguration;
592
+ defaultEksAddons?: RuntimeManifestV1Alpha1SpecDefaultEksAddons;
593
+ additionalEksAddons?: RuntimeManifestV1Alpha1SpecEksAddon[];
594
+ encryptionConfig?: RuntimeManifestV1Alpha1SpecEncryptionConfig;
595
+ customLogGroup?: RuntimeManifestV1Alpha1SpecCustomLogGroup;
596
+ clusterSecurityGroup?: RuntimeManifestV1Alpha1SpecSecurityGroup;
597
+ nodeSecurityGroup?: RuntimeManifestV1Alpha1SpecSecurityGroup;
598
+ };
599
+ export type RuntimeManifestV1Alpha1SpecItauConfig = {
600
+ iamsrProviderRoleArn: string;
601
+ iamsrApiToken?: string;
602
+ iamsrCerts?: string;
231
603
  };
232
604
  export type RuntimeManifestV1Alpha1Spec = {
233
605
  tenantId: string;
234
606
  cloudAccountConfiguration: RuntimeManifestV1Alpha1SpecCloudAccountConfiguration;
235
607
  controlPlane: RuntimeManifestV1Alpha1SpecControlPlane;
608
+ itau?: RuntimeManifestV1Alpha1SpecItauConfig;
236
609
  };
237
610
  export type RuntimeManifestV1Alpha1StatusControlPlaneCondition = {
238
611
  id?: string;
@@ -271,6 +644,7 @@ export type ApplicationDeploymentManifestBase = {
271
644
  };
272
645
  export type ApplicationDeploymentManifestV1Spec = {
273
646
  runtimeId: string;
647
+ destinationNamespace?: string;
274
648
  applicationId: string;
275
649
  deployTemplate: string;
276
650
  deployTemplateValues: {
@@ -346,6 +720,20 @@ export type OrganizationManifestV1 = {
346
720
  spec: OrganizationManifestV1Spec;
347
721
  status?: OrganizationManifestV1Status;
348
722
  };
723
+ export type AssociateRuntimeWithWorkspaceEnvironmentRequest = {
724
+ runtimeIds: string[];
725
+ workspaceId: string;
726
+ workspaceName: string;
727
+ environmentId: string;
728
+ environmentName: string;
729
+ };
730
+ export type AssociateRuntimeWithWorkspaceEnvironmentResponse = {
731
+ runtimeId: string;
732
+ workspaceId: string;
733
+ workspaceName: string;
734
+ environmentId: string;
735
+ environmentName: string;
736
+ };
349
737
  export type DeployTemplateManifestV1SpecHelm = {
350
738
  chartName: string;
351
739
  repositoryUrl: string;
@@ -374,6 +762,22 @@ export type AddonManifestV1 = {
374
762
  metadata: MetadataV1;
375
763
  spec: AddonManifestV1Alpha1Spec;
376
764
  };
765
+ export type RuntimeSummary = {
766
+ runtimeName: string;
767
+ runtimeId: string;
768
+ environmentId: string;
769
+ tenantName: string;
770
+ organizationName: string;
771
+ addons: string[];
772
+ };
773
+ export type Association = {
774
+ workspaceId: string;
775
+ environmentId: string;
776
+ runtimes: RuntimeSummary[];
777
+ };
778
+ export type ListRuntimeWorkspaceEnvironmentAssociationsResponse = {
779
+ associations: Association[];
780
+ };
377
781
  export type LogManifestV1Spec = {
378
782
  resourceId: string;
379
783
  controlPlaneId?: string;
@@ -1093,6 +1497,52 @@ export function deploy({ organizationId, tenantId, runtimeId, applicationDeploym
1093
1497
  body: applicationDeploymentManifestV1
1094
1498
  })));
1095
1499
  }
1500
+ /**
1501
+ * Associate a runtime with a workspace's environment
1502
+ */
1503
+ export function associateWithWorkspaceEnvironment({ xAccountId, organizationId, tenantId, associateRuntimeWithWorkspaceEnvironmentRequest }: {
1504
+ xAccountId?: string;
1505
+ organizationId: string;
1506
+ tenantId: string;
1507
+ associateRuntimeWithWorkspaceEnvironmentRequest: AssociateRuntimeWithWorkspaceEnvironmentRequest;
1508
+ }, opts?: Oazapfts.RequestOpts) {
1509
+ return oazapfts.ok(oazapfts.fetchJson<{
1510
+ status: 200;
1511
+ data: AssociateRuntimeWithWorkspaceEnvironmentResponse[];
1512
+ } | {
1513
+ status: 400;
1514
+ data: ErrorBody;
1515
+ } | {
1516
+ status: 401;
1517
+ data: ErrorBody;
1518
+ } | {
1519
+ status: 404;
1520
+ data: ErrorBody;
1521
+ } | {
1522
+ status: 422;
1523
+ data: {
1524
+ code?: string;
1525
+ details?: string;
1526
+ status?: string;
1527
+ validationDetails?: ValidationDetail[];
1528
+ };
1529
+ } | {
1530
+ status: 500;
1531
+ data: {
1532
+ code?: string;
1533
+ details?: string;
1534
+ status?: string;
1535
+ validationDetails?: ValidationDetail[];
1536
+ };
1537
+ }>(`/v1/organizations/${encodeURIComponent(organizationId)}/tenants/${encodeURIComponent(tenantId)}/runtimes/associations`, oazapfts.json({
1538
+ ...opts,
1539
+ method: "POST",
1540
+ body: associateRuntimeWithWorkspaceEnvironmentRequest,
1541
+ headers: oazapfts.mergeHeaders(opts?.headers, {
1542
+ "X-Account-Id": xAccountId
1543
+ })
1544
+ })));
1545
+ }
1096
1546
  /**
1097
1547
  * List DeployTemplate's
1098
1548
  */
@@ -1412,6 +1862,93 @@ export function getRuntime({ id }: {
1412
1862
  ...opts
1413
1863
  }));
1414
1864
  }
1865
+ export function listAssociations({ xAccountId, workspaceId, envId }: {
1866
+ xAccountId?: string;
1867
+ workspaceId: string;
1868
+ envId?: string;
1869
+ }, opts?: Oazapfts.RequestOpts) {
1870
+ return oazapfts.ok(oazapfts.fetchJson<{
1871
+ status: 200;
1872
+ data: ListRuntimeWorkspaceEnvironmentAssociationsResponse;
1873
+ } | {
1874
+ status: 400;
1875
+ data: ErrorBody;
1876
+ } | {
1877
+ status: 401;
1878
+ data: ErrorBody;
1879
+ } | {
1880
+ status: 404;
1881
+ data: ErrorBody;
1882
+ } | {
1883
+ status: 422;
1884
+ data: {
1885
+ code?: string;
1886
+ details?: string;
1887
+ status?: string;
1888
+ validationDetails?: ValidationDetail[];
1889
+ };
1890
+ } | {
1891
+ status: 500;
1892
+ data: {
1893
+ code?: string;
1894
+ details?: string;
1895
+ status?: string;
1896
+ validationDetails?: ValidationDetail[];
1897
+ };
1898
+ }>(`/v1/runtimes/associations/workspaces${QS.query(QS.explode({
1899
+ workspaceId,
1900
+ envId
1901
+ }))}`, {
1902
+ ...opts,
1903
+ headers: oazapfts.mergeHeaders(opts?.headers, {
1904
+ "X-Account-Id": xAccountId
1905
+ })
1906
+ }));
1907
+ }
1908
+ /**
1909
+ * Retrieves associate a runtime with a workspace's environment
1910
+ */
1911
+ export function getAssociationWorkspaceEnvironmentByRuntimeId({ xAccountId, organizationId, tenantId, runtimeId }: {
1912
+ xAccountId?: string;
1913
+ organizationId: string;
1914
+ tenantId: string;
1915
+ runtimeId: string;
1916
+ }, opts?: Oazapfts.RequestOpts) {
1917
+ return oazapfts.ok(oazapfts.fetchJson<{
1918
+ status: 200;
1919
+ data: AssociateRuntimeWithWorkspaceEnvironmentResponse[];
1920
+ } | {
1921
+ status: 400;
1922
+ data: ErrorBody;
1923
+ } | {
1924
+ status: 401;
1925
+ data: ErrorBody;
1926
+ } | {
1927
+ status: 404;
1928
+ data: ErrorBody;
1929
+ } | {
1930
+ status: 422;
1931
+ data: {
1932
+ code?: string;
1933
+ details?: string;
1934
+ status?: string;
1935
+ validationDetails?: ValidationDetail[];
1936
+ };
1937
+ } | {
1938
+ status: 500;
1939
+ data: {
1940
+ code?: string;
1941
+ details?: string;
1942
+ status?: string;
1943
+ validationDetails?: ValidationDetail[];
1944
+ };
1945
+ }>(`/v1/organizations/${encodeURIComponent(organizationId)}/tenants/${encodeURIComponent(tenantId)}/runtimes/${encodeURIComponent(runtimeId)}/associations`, {
1946
+ ...opts,
1947
+ headers: oazapfts.mergeHeaders(opts?.headers, {
1948
+ "X-Account-Id": xAccountId
1949
+ })
1950
+ }));
1951
+ }
1415
1952
  /**
1416
1953
  *
1417
1954
  * Requires one of the following permissions: