@fractal_cloud/sdk 1.5.3 → 2.0.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.
- package/README.md +210 -383
- package/dist/custom_workloads-DdYOZg-e.cjs +1971 -0
- package/dist/index.cjs +119 -17689
- package/dist/index.d.cts +2 -8513
- package/dist/index.d.mts +2 -8513
- package/dist/index.mjs +2 -16657
- package/dist/model/index.cjs +119 -0
- package/dist/model/index.d.cts +767 -0
- package/dist/model/index.d.mts +767 -0
- package/dist/model/index.mjs +1248 -0
- package/package.json +11 -1
|
@@ -0,0 +1,767 @@
|
|
|
1
|
+
//#region src/model/core.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* core.ts — the LOCKED Fractal model engine (see docs/fractal-model.md).
|
|
4
|
+
*
|
|
5
|
+
* Shared by every Component factory (src/model/components/*) and Offer catalogue
|
|
6
|
+
* (src/model/offers/*). This is the canonical engine; the catalogue and the
|
|
7
|
+
* model specs (src/model/*.test.ts) build on it.
|
|
8
|
+
*
|
|
9
|
+
* Decisions encoded here:
|
|
10
|
+
* - Fractal is vendor-agnostic: blueprints reference abstract Components only;
|
|
11
|
+
* offers come from the open Catalogue at LiveSystem time.
|
|
12
|
+
* - Offers carry their own vendor config and declare which Component they satisfy.
|
|
13
|
+
* - Agnostic params are typed `.withXxx()` setters on Component factories;
|
|
14
|
+
* called at design time they are GUARDRAILS (locked; devs cannot override).
|
|
15
|
+
* - Specialization is pure transforms with an immutable fluent `.specialize()`.
|
|
16
|
+
* - A LiveSystem is built EXCLUSIVELY by per-component offer selection
|
|
17
|
+
* (`select`), with no global provider; mixed vendors are normal.
|
|
18
|
+
*/
|
|
19
|
+
type Provider = 'AWS' | 'Azure' | 'GCP' | 'OCI' | 'Hetzner' | 'Aruba' | 'RedHat' | 'VMware';
|
|
20
|
+
type DeliveryModel = 'IaaS' | 'PaaS' | 'CaaS' | 'SaaS' | 'FaaS';
|
|
21
|
+
/**
|
|
22
|
+
* A runtime relationship to another component, on the agent wire contract:
|
|
23
|
+
* `{componentId, settings}`. The agent resolves the target by `componentId` and
|
|
24
|
+
* reads `settings` (e.g. fromPort/protocol for traffic rules; empty for security
|
|
25
|
+
* group / network-policy membership).
|
|
26
|
+
*/
|
|
27
|
+
type ComponentLink = {
|
|
28
|
+
componentId: string;
|
|
29
|
+
settings: Record<string, unknown>;
|
|
30
|
+
};
|
|
31
|
+
/** A child component added under a parent via an application operation (e.g. a
|
|
32
|
+
* database under a DBMS). The parent offer's `instantiate` emits a live
|
|
33
|
+
* component for each child IN ITS OWN VENDOR FAMILY — children are not
|
|
34
|
+
* independently offer-selected; swapping the parent offer swaps the family. */
|
|
35
|
+
type ChildContext = {
|
|
36
|
+
id: string;
|
|
37
|
+
parameters: Record<string, unknown>;
|
|
38
|
+
dependencies: readonly string[];
|
|
39
|
+
links: readonly ComponentLink[];
|
|
40
|
+
};
|
|
41
|
+
type InstantiationContext = {
|
|
42
|
+
id: string;
|
|
43
|
+
parameters: Record<string, unknown>;
|
|
44
|
+
dependencies: readonly string[];
|
|
45
|
+
links: readonly ComponentLink[]; /** Child components the application added under this component. */
|
|
46
|
+
children: readonly ChildContext[];
|
|
47
|
+
};
|
|
48
|
+
type LiveSystemComponent = {
|
|
49
|
+
id: string;
|
|
50
|
+
type: string;
|
|
51
|
+
provider?: Provider;
|
|
52
|
+
deliveryModel: DeliveryModel;
|
|
53
|
+
parameters: Record<string, unknown>;
|
|
54
|
+
dependencies: readonly string[];
|
|
55
|
+
links: readonly ComponentLink[];
|
|
56
|
+
};
|
|
57
|
+
type Offer<C extends string = string, Cfg = unknown> = {
|
|
58
|
+
readonly satisfies: C;
|
|
59
|
+
readonly offerType: string;
|
|
60
|
+
readonly provider?: Provider;
|
|
61
|
+
readonly deliveryModel: DeliveryModel;
|
|
62
|
+
readonly config: Cfg;
|
|
63
|
+
readonly instantiate: (ctx: InstantiationContext) => LiveSystemComponent[];
|
|
64
|
+
};
|
|
65
|
+
/** Build an offer constructor (pure). Default instantiate merges neutral params + vendor config. */
|
|
66
|
+
declare const defineOffer: <C extends string, Cfg>(spec: {
|
|
67
|
+
satisfies: C;
|
|
68
|
+
offerType: string;
|
|
69
|
+
provider?: Provider;
|
|
70
|
+
deliveryModel: DeliveryModel;
|
|
71
|
+
instantiate?: (ctx: InstantiationContext, config: Cfg) => LiveSystemComponent[];
|
|
72
|
+
}) => (config: Cfg) => Offer<C, Cfg>;
|
|
73
|
+
type NodeState = {
|
|
74
|
+
readonly id: string;
|
|
75
|
+
readonly component: string;
|
|
76
|
+
readonly parameters: Readonly<Record<string, unknown>>;
|
|
77
|
+
readonly locked: ReadonlySet<string>;
|
|
78
|
+
readonly dependencies: readonly string[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* A blueprint component node. `Id` and `Component` literals are phantom types
|
|
82
|
+
* (never present at runtime) so `toLiveSystem({select})` is type-checked: each
|
|
83
|
+
* component id maps to the Component it requires, and the selected offer must
|
|
84
|
+
* satisfy that Component.
|
|
85
|
+
*/
|
|
86
|
+
type ComponentNode<Id extends string = string, Component extends string = string> = {
|
|
87
|
+
readonly state: NodeState;
|
|
88
|
+
readonly __id?: Id;
|
|
89
|
+
readonly __component?: Component;
|
|
90
|
+
};
|
|
91
|
+
type AnyNode = ComponentNode;
|
|
92
|
+
/** Authoring primitive: create a fresh node for a Component factory. */
|
|
93
|
+
declare const newNode: (id: string, component: string) => NodeState;
|
|
94
|
+
/** Authoring primitive: set a neutral param AND lock it (guardrail, design time). */
|
|
95
|
+
declare const guardrail: (s: NodeState, key: string, value: unknown) => NodeState;
|
|
96
|
+
/** Authoring primitive: declare a structural dependency on another node. */
|
|
97
|
+
declare const addDependency: (s: NodeState, depId: string) => NodeState;
|
|
98
|
+
/** A link authored in the blueprint: source component → target component + settings. */
|
|
99
|
+
type LinkRecord = {
|
|
100
|
+
sourceId: string;
|
|
101
|
+
targetId: string;
|
|
102
|
+
settings: Record<string, unknown>;
|
|
103
|
+
};
|
|
104
|
+
type FractalState = {
|
|
105
|
+
readonly fractalId: string;
|
|
106
|
+
readonly fractalName: string;
|
|
107
|
+
readonly version: Version;
|
|
108
|
+
readonly boundedContext: OwnerRef;
|
|
109
|
+
readonly nodes: Readonly<Record<string, NodeState>>;
|
|
110
|
+
readonly order: readonly string[];
|
|
111
|
+
readonly links: readonly LinkRecord[]; /** Child component nodes added via operations, keyed by parent component id. */
|
|
112
|
+
readonly children: Readonly<Record<string, readonly NodeState[]>>;
|
|
113
|
+
};
|
|
114
|
+
type Transform = (st: FractalState) => FractalState;
|
|
115
|
+
/** Dev-facing handle exposed to the `operations` author; produces pure transforms. */
|
|
116
|
+
type SlotOps = {
|
|
117
|
+
set: (key: string, value: unknown) => Transform;
|
|
118
|
+
append: (key: string, value: unknown) => Transform;
|
|
119
|
+
/**
|
|
120
|
+
* Add a child component under this component (e.g. a database under a DBMS).
|
|
121
|
+
* The child is emitted by the PARENT's selected offer, in the parent's vendor
|
|
122
|
+
* family — no separate offer selection. Swapping the parent offer swaps the
|
|
123
|
+
* child's family too. The child depends on this parent.
|
|
124
|
+
*/
|
|
125
|
+
addChild: (child: AnyNode) => Transform;
|
|
126
|
+
};
|
|
127
|
+
type SerializedComponent = {
|
|
128
|
+
id: string;
|
|
129
|
+
component: string;
|
|
130
|
+
parameters: Record<string, unknown>;
|
|
131
|
+
locked: string[];
|
|
132
|
+
dependencies: string[];
|
|
133
|
+
links: ComponentLink[];
|
|
134
|
+
};
|
|
135
|
+
type Blueprint = {
|
|
136
|
+
fractalId: string;
|
|
137
|
+
components: SerializedComponent[];
|
|
138
|
+
};
|
|
139
|
+
/** Owner-scoped reference (Bounded Context / Environment). Fields optional so
|
|
140
|
+
* non-deploying tests can omit owner identity; deploy validates them. */
|
|
141
|
+
type OwnerRef = {
|
|
142
|
+
ownerType?: string;
|
|
143
|
+
ownerId?: string;
|
|
144
|
+
name?: string;
|
|
145
|
+
};
|
|
146
|
+
type Version = {
|
|
147
|
+
major: number;
|
|
148
|
+
minor: number;
|
|
149
|
+
patch: number;
|
|
150
|
+
};
|
|
151
|
+
type LiveSystem = {
|
|
152
|
+
name: string;
|
|
153
|
+
fractalId: string;
|
|
154
|
+
fractalName: string;
|
|
155
|
+
version: Version;
|
|
156
|
+
boundedContext: OwnerRef;
|
|
157
|
+
environment: OwnerRef;
|
|
158
|
+
components: LiveSystemComponent[];
|
|
159
|
+
};
|
|
160
|
+
type ToLiveSystemArgs = {
|
|
161
|
+
name: string;
|
|
162
|
+
environment: OwnerRef; /** Per-component offer selection. Key = component id. */
|
|
163
|
+
select: Record<string, Offer>;
|
|
164
|
+
};
|
|
165
|
+
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
166
|
+
/** From the blueprint slots, derive `{ [componentId]: ComponentTag }`. */
|
|
167
|
+
type IdToComponent<Slots> = UnionToIntersection<{ [K in keyof Slots]: Slots[K] extends ComponentNode<infer Id, infer Component> ? { [P in Id]: Component } : never }[keyof Slots]>;
|
|
168
|
+
/** Each component id requires an offer that satisfies that id's Component. */
|
|
169
|
+
type Selection<Slots> = { [Id in keyof IdToComponent<Slots>]: Offer<IdToComponent<Slots>[Id] & string> };
|
|
170
|
+
type TypedToLiveSystemArgs<Slots> = {
|
|
171
|
+
name: string;
|
|
172
|
+
environment: OwnerRef;
|
|
173
|
+
select: Selection<Slots>;
|
|
174
|
+
};
|
|
175
|
+
type OpFactories = Record<string, (...args: never[]) => Transform>;
|
|
176
|
+
type Specialized<Slots, Ops extends OpFactories> = { [K in keyof Ops]: (...args: Parameters<Ops[K]>) => Specialized<Slots, Ops> } & {
|
|
177
|
+
readonly value: FractalState;
|
|
178
|
+
readonly blueprint: Blueprint;
|
|
179
|
+
toLiveSystem: (args: TypedToLiveSystemArgs<Slots>) => LiveSystem;
|
|
180
|
+
};
|
|
181
|
+
type Fractal<Slots, Ops extends OpFactories> = {
|
|
182
|
+
readonly fractalId: string;
|
|
183
|
+
readonly blueprint: Blueprint;
|
|
184
|
+
readonly ops: Ops;
|
|
185
|
+
specialize: () => Specialized<Slots, Ops>;
|
|
186
|
+
toLiveSystem: (args: TypedToLiveSystemArgs<Slots>) => LiveSystem;
|
|
187
|
+
};
|
|
188
|
+
declare function createFractal<Slots extends Record<string, AnyNode>, Ops extends OpFactories>(def: {
|
|
189
|
+
id: string;
|
|
190
|
+
version: Version;
|
|
191
|
+
boundedContextId: OwnerRef;
|
|
192
|
+
description?: string;
|
|
193
|
+
blueprint: (bp: {
|
|
194
|
+
add: <N extends AnyNode>(n: N) => N;
|
|
195
|
+
/**
|
|
196
|
+
* Declare a runtime link: `source` links to `target` with optional settings
|
|
197
|
+
* (e.g. {fromPort, protocol} for a traffic rule; empty for security-group /
|
|
198
|
+
* network-policy membership). Blueprint owns all links — see docs/fractal-model.md.
|
|
199
|
+
*/
|
|
200
|
+
link: (source: AnyNode, target: AnyNode, settings?: Record<string, unknown>) => void;
|
|
201
|
+
}) => Slots;
|
|
202
|
+
operations?: (slots: { [K in keyof Slots]: SlotOps }) => Ops;
|
|
203
|
+
}): Fractal<Slots, Ops>;
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region src/model/service.d.ts
|
|
206
|
+
type Credentials = {
|
|
207
|
+
clientId: string;
|
|
208
|
+
clientSecret: string;
|
|
209
|
+
};
|
|
210
|
+
type DeployOptions = {
|
|
211
|
+
mode: 'wait' | 'fire-and-forget';
|
|
212
|
+
quiet?: boolean;
|
|
213
|
+
pollIntervalMs?: number;
|
|
214
|
+
timeoutMs?: number;
|
|
215
|
+
};
|
|
216
|
+
/** Deploy (create or update) a LiveSystem. `fire-and-forget` submits and returns;
|
|
217
|
+
* `wait` polls until Active (or failure/timeout) emitting wait-mode log lines. */
|
|
218
|
+
declare function deploy(ls: LiveSystem, creds: Credentials, opts?: DeployOptions): Promise<void>;
|
|
219
|
+
/** Destroy a deployed LiveSystem. */
|
|
220
|
+
declare function destroy(ls: LiveSystem, creds: Credentials): Promise<void>;
|
|
221
|
+
//#endregion
|
|
222
|
+
//#region src/model/components/network_and_compute.d.ts
|
|
223
|
+
type Rule = {
|
|
224
|
+
protocol?: string;
|
|
225
|
+
fromPort: number;
|
|
226
|
+
toPort?: number;
|
|
227
|
+
sourceCidr?: string;
|
|
228
|
+
};
|
|
229
|
+
type NodePool = {
|
|
230
|
+
name: string;
|
|
231
|
+
minNodeCount?: number;
|
|
232
|
+
maxNodeCount?: number;
|
|
233
|
+
autoscalingEnabled?: boolean;
|
|
234
|
+
};
|
|
235
|
+
type VirtualNetworkNode<Id extends string = string> = ComponentNode<Id, 'NetworkAndCompute.VirtualNetwork'> & {
|
|
236
|
+
withCidrBlock: (v: string) => VirtualNetworkNode<Id>;
|
|
237
|
+
withRegion: (v: string) => VirtualNetworkNode<Id>;
|
|
238
|
+
withTags: (v: Record<string, string>) => VirtualNetworkNode<Id>;
|
|
239
|
+
};
|
|
240
|
+
declare const VirtualNetwork: <const Id extends string>(cfg: {
|
|
241
|
+
id: Id;
|
|
242
|
+
}) => VirtualNetworkNode<Id>;
|
|
243
|
+
type SubnetNode<Id extends string = string> = ComponentNode<Id, 'NetworkAndCompute.Subnet'> & {
|
|
244
|
+
withCidrBlock: (v: string) => SubnetNode<Id>;
|
|
245
|
+
dependsOn: (other: AnyNode) => SubnetNode<Id>;
|
|
246
|
+
};
|
|
247
|
+
declare const Subnet: <const Id extends string>(cfg: {
|
|
248
|
+
id: Id;
|
|
249
|
+
}) => SubnetNode<Id>;
|
|
250
|
+
type SecurityGroupNode<Id extends string = string> = ComponentNode<Id, 'NetworkAndCompute.SecurityGroup'> & {
|
|
251
|
+
withIngressRules: (v: Rule[]) => SecurityGroupNode<Id>;
|
|
252
|
+
withEgressRules: (v: Rule[]) => SecurityGroupNode<Id>;
|
|
253
|
+
dependsOn: (other: AnyNode) => SecurityGroupNode<Id>;
|
|
254
|
+
};
|
|
255
|
+
declare const SecurityGroup: <const Id extends string>(cfg: {
|
|
256
|
+
id: Id;
|
|
257
|
+
}) => SecurityGroupNode<Id>;
|
|
258
|
+
type VirtualMachineNode<Id extends string = string> = ComponentNode<Id, 'NetworkAndCompute.VirtualMachine'> & {
|
|
259
|
+
withOsType: (v: 'linux' | 'windows') => VirtualMachineNode<Id>;
|
|
260
|
+
withSize: (v: string) => VirtualMachineNode<Id>;
|
|
261
|
+
withTags: (v: Record<string, string>) => VirtualMachineNode<Id>;
|
|
262
|
+
dependsOn: (other: AnyNode) => VirtualMachineNode<Id>;
|
|
263
|
+
};
|
|
264
|
+
declare const VirtualMachine: <const Id extends string>(cfg: {
|
|
265
|
+
id: Id;
|
|
266
|
+
}) => VirtualMachineNode<Id>;
|
|
267
|
+
type ContainerPlatformNode<Id extends string = string> = ComponentNode<Id, 'NetworkAndCompute.ContainerPlatform'> & {
|
|
268
|
+
withNodePools: (v: NodePool[]) => ContainerPlatformNode<Id>;
|
|
269
|
+
withKubernetesVersion: (v: string) => ContainerPlatformNode<Id>;
|
|
270
|
+
withNetworkPolicyProvider: (v: string) => ContainerPlatformNode<Id>;
|
|
271
|
+
dependsOn: (other: AnyNode) => ContainerPlatformNode<Id>;
|
|
272
|
+
};
|
|
273
|
+
declare const ContainerPlatform: <const Id extends string>(cfg: {
|
|
274
|
+
id: Id;
|
|
275
|
+
}) => ContainerPlatformNode<Id>;
|
|
276
|
+
type LoadBalancerNode<Id extends string = string> = ComponentNode<Id, 'NetworkAndCompute.LoadBalancer'> & {
|
|
277
|
+
withScheme: (v: 'internal' | 'internet-facing') => LoadBalancerNode<Id>;
|
|
278
|
+
dependsOn: (other: AnyNode) => LoadBalancerNode<Id>;
|
|
279
|
+
};
|
|
280
|
+
declare const LoadBalancer: <const Id extends string>(cfg: {
|
|
281
|
+
id: Id;
|
|
282
|
+
}) => LoadBalancerNode<Id>;
|
|
283
|
+
//#endregion
|
|
284
|
+
//#region src/model/components/storage.d.ts
|
|
285
|
+
type ObjectStorageNode<Id extends string = string> = ComponentNode<Id, 'Storage.ObjectStorage'> & {
|
|
286
|
+
withVersioningEnabled: (v: boolean) => ObjectStorageNode<Id>;
|
|
287
|
+
withStorageClass: (v: string) => ObjectStorageNode<Id>;
|
|
288
|
+
withPublicAccess: (v: boolean) => ObjectStorageNode<Id>;
|
|
289
|
+
withEncryption: (v: 'at-rest' | 'none') => ObjectStorageNode<Id>;
|
|
290
|
+
withRetentionDays: (v: number) => ObjectStorageNode<Id>;
|
|
291
|
+
withTags: (v: Record<string, string>) => ObjectStorageNode<Id>;
|
|
292
|
+
};
|
|
293
|
+
declare const ObjectStorage: <const Id extends string>(cfg: {
|
|
294
|
+
id: Id;
|
|
295
|
+
}) => ObjectStorageNode<Id>;
|
|
296
|
+
type RelationalDbmsNode<Id extends string = string> = ComponentNode<Id, 'Storage.RelationalDbms'> & {
|
|
297
|
+
withEngineVersion: (v: string) => RelationalDbmsNode<Id>;
|
|
298
|
+
withSizeTier: (v: string) => RelationalDbmsNode<Id>;
|
|
299
|
+
withStorageGb: (v: number) => RelationalDbmsNode<Id>;
|
|
300
|
+
withBackupRetentionDays: (v: number) => RelationalDbmsNode<Id>;
|
|
301
|
+
withHighAvailability: (v: string) => RelationalDbmsNode<Id>;
|
|
302
|
+
};
|
|
303
|
+
declare const RelationalDbms: <const Id extends string>(cfg: {
|
|
304
|
+
id: Id;
|
|
305
|
+
}) => RelationalDbmsNode<Id>;
|
|
306
|
+
type RelationalDatabaseNode<Id extends string = string> = ComponentNode<Id, 'Storage.RelationalDatabase'> & {
|
|
307
|
+
withCharset: (v: string) => RelationalDatabaseNode<Id>;
|
|
308
|
+
withCollation: (v: string) => RelationalDatabaseNode<Id>;
|
|
309
|
+
dependsOn: (other: AnyNode) => RelationalDatabaseNode<Id>;
|
|
310
|
+
};
|
|
311
|
+
declare const RelationalDatabase: <const Id extends string>(cfg: {
|
|
312
|
+
id: Id;
|
|
313
|
+
}) => RelationalDatabaseNode<Id>;
|
|
314
|
+
//#endregion
|
|
315
|
+
//#region src/model/components/big_data.d.ts
|
|
316
|
+
type ComputeClusterNode<Id extends string = string> = ComponentNode<Id, 'BigData.ComputeCluster'> & {
|
|
317
|
+
withClusterName: (v: string) => ComputeClusterNode<Id>;
|
|
318
|
+
withSparkVersion: (v: string) => ComputeClusterNode<Id>;
|
|
319
|
+
withMinWorkers: (v: number) => ComputeClusterNode<Id>;
|
|
320
|
+
withMaxWorkers: (v: number) => ComputeClusterNode<Id>;
|
|
321
|
+
withAutoTerminationMinutes: (v: number) => ComputeClusterNode<Id>;
|
|
322
|
+
withDataSecurityMode: (v: string) => ComputeClusterNode<Id>;
|
|
323
|
+
};
|
|
324
|
+
declare const ComputeCluster: <const Id extends string>(cfg: {
|
|
325
|
+
id: Id;
|
|
326
|
+
}) => ComputeClusterNode<Id>;
|
|
327
|
+
type DataProcessingJobNode<Id extends string = string> = ComponentNode<Id, 'BigData.DataProcessingJob'> & {
|
|
328
|
+
withJobName: (v: string) => DataProcessingJobNode<Id>;
|
|
329
|
+
withTaskType: (v: string) => DataProcessingJobNode<Id>;
|
|
330
|
+
withCronSchedule: (v: string) => DataProcessingJobNode<Id>;
|
|
331
|
+
withMaxRetries: (v: number) => DataProcessingJobNode<Id>;
|
|
332
|
+
dependsOn: (other: AnyNode) => DataProcessingJobNode<Id>;
|
|
333
|
+
};
|
|
334
|
+
declare const DataProcessingJob: <const Id extends string>(cfg: {
|
|
335
|
+
id: Id;
|
|
336
|
+
}) => DataProcessingJobNode<Id>;
|
|
337
|
+
type MlExperimentNode<Id extends string = string> = ComponentNode<Id, 'BigData.MlExperiment'> & {
|
|
338
|
+
withExperimentName: (v: string) => MlExperimentNode<Id>;
|
|
339
|
+
};
|
|
340
|
+
declare const MlExperiment: <const Id extends string>(cfg: {
|
|
341
|
+
id: Id;
|
|
342
|
+
}) => MlExperimentNode<Id>;
|
|
343
|
+
type DatalakeNode<Id extends string = string> = ComponentNode<Id, 'BigData.Datalake'> & {
|
|
344
|
+
withRegion: (v: string) => DatalakeNode<Id>;
|
|
345
|
+
withVersioningEnabled: (v: boolean) => DatalakeNode<Id>;
|
|
346
|
+
withRetentionDays: (v: number) => DatalakeNode<Id>;
|
|
347
|
+
};
|
|
348
|
+
declare const Datalake: <const Id extends string>(cfg: {
|
|
349
|
+
id: Id;
|
|
350
|
+
}) => DatalakeNode<Id>;
|
|
351
|
+
type DistributedDataProcessingNode<Id extends string = string> = ComponentNode<Id, 'BigData.DistributedDataProcessing'> & {
|
|
352
|
+
withWorkspaceName: (v: string) => DistributedDataProcessingNode<Id>;
|
|
353
|
+
};
|
|
354
|
+
declare const DistributedDataProcessing: <const Id extends string>(cfg: {
|
|
355
|
+
id: Id;
|
|
356
|
+
}) => DistributedDataProcessingNode<Id>;
|
|
357
|
+
//#endregion
|
|
358
|
+
//#region src/model/components/messaging.d.ts
|
|
359
|
+
type BrokerNode<Id extends string = string> = ComponentNode<Id, 'Messaging.Broker'> & {
|
|
360
|
+
withTier: (v: string) => BrokerNode<Id>;
|
|
361
|
+
withRegion: (v: string) => BrokerNode<Id>;
|
|
362
|
+
withEncryption: (v: 'at-rest' | 'none') => BrokerNode<Id>;
|
|
363
|
+
};
|
|
364
|
+
declare const Broker: <const Id extends string>(cfg: {
|
|
365
|
+
id: Id;
|
|
366
|
+
}) => BrokerNode<Id>;
|
|
367
|
+
type MessagingEntityNode<Id extends string = string> = ComponentNode<Id, 'Messaging.MessagingEntity'> & {
|
|
368
|
+
withMessageRetentionHours: (v: number) => MessagingEntityNode<Id>;
|
|
369
|
+
withPartitionCount: (v: number) => MessagingEntityNode<Id>;
|
|
370
|
+
withDeadLetterEnabled: (v: boolean) => MessagingEntityNode<Id>;
|
|
371
|
+
withMaxDeliveryAttempts: (v: number) => MessagingEntityNode<Id>;
|
|
372
|
+
dependsOn: (other: AnyNode) => MessagingEntityNode<Id>;
|
|
373
|
+
};
|
|
374
|
+
declare const MessagingEntity: <const Id extends string>(cfg: {
|
|
375
|
+
id: Id;
|
|
376
|
+
}) => MessagingEntityNode<Id>;
|
|
377
|
+
//#endregion
|
|
378
|
+
//#region src/model/components/api_management.d.ts
|
|
379
|
+
type Route = {
|
|
380
|
+
path: string;
|
|
381
|
+
methods?: string[];
|
|
382
|
+
upstream?: string;
|
|
383
|
+
};
|
|
384
|
+
type ApiGatewayNode<Id extends string = string> = ComponentNode<Id, 'APIManagement.ApiGateway'> & {
|
|
385
|
+
withHttpsOnly: (v: boolean) => ApiGatewayNode<Id>;
|
|
386
|
+
withCustomDomain: (v: string) => ApiGatewayNode<Id>;
|
|
387
|
+
withCors: (v: {
|
|
388
|
+
allowOrigins: string[];
|
|
389
|
+
}) => ApiGatewayNode<Id>;
|
|
390
|
+
withRateLimit: (v: {
|
|
391
|
+
requestsPerSecond: number;
|
|
392
|
+
}) => ApiGatewayNode<Id>;
|
|
393
|
+
withRoutes: (v: Route[]) => ApiGatewayNode<Id>;
|
|
394
|
+
};
|
|
395
|
+
declare const ApiGateway: <const Id extends string>(cfg: {
|
|
396
|
+
id: Id;
|
|
397
|
+
}) => ApiGatewayNode<Id>;
|
|
398
|
+
//#endregion
|
|
399
|
+
//#region src/model/components/observability.d.ts
|
|
400
|
+
type MonitoringNode<Id extends string = string> = ComponentNode<Id, 'Observability.Monitoring'> & {
|
|
401
|
+
withRetentionDays: (v: number) => MonitoringNode<Id>;
|
|
402
|
+
withScrapeInterval: (v: number) => MonitoringNode<Id>;
|
|
403
|
+
};
|
|
404
|
+
declare const Monitoring: <const Id extends string>(cfg: {
|
|
405
|
+
id: Id;
|
|
406
|
+
}) => MonitoringNode<Id>;
|
|
407
|
+
type TracingNode<Id extends string = string> = ComponentNode<Id, 'Observability.Tracing'> & {
|
|
408
|
+
withRetentionDays: (v: number) => TracingNode<Id>;
|
|
409
|
+
withSamplingRate: (v: number) => TracingNode<Id>;
|
|
410
|
+
};
|
|
411
|
+
declare const Tracing: <const Id extends string>(cfg: {
|
|
412
|
+
id: Id;
|
|
413
|
+
}) => TracingNode<Id>;
|
|
414
|
+
type LoggingNode<Id extends string = string> = ComponentNode<Id, 'Observability.Logging'> & {
|
|
415
|
+
withRetentionDays: (v: number) => LoggingNode<Id>;
|
|
416
|
+
};
|
|
417
|
+
declare const Logging: <const Id extends string>(cfg: {
|
|
418
|
+
id: Id;
|
|
419
|
+
}) => LoggingNode<Id>;
|
|
420
|
+
//#endregion
|
|
421
|
+
//#region src/model/components/security.d.ts
|
|
422
|
+
type ServiceMeshNode<Id extends string = string> = ComponentNode<Id, 'Security.ServiceMesh'> & {
|
|
423
|
+
withMtlsMode: (v: 'off' | 'permissive' | 'strict') => ServiceMeshNode<Id>;
|
|
424
|
+
withAuthenticationMode: (v: string) => ServiceMeshNode<Id>;
|
|
425
|
+
withTags: (v: Record<string, string>) => ServiceMeshNode<Id>;
|
|
426
|
+
};
|
|
427
|
+
declare const ServiceMesh: <const Id extends string>(cfg: {
|
|
428
|
+
id: Id;
|
|
429
|
+
}) => ServiceMeshNode<Id>;
|
|
430
|
+
type IdentityProviderNode<Id extends string = string> = ComponentNode<Id, 'Security.IdentityProvider'> & {
|
|
431
|
+
withUserDirectoryName: (v: string) => IdentityProviderNode<Id>;
|
|
432
|
+
withPasswordPolicy: (v: {
|
|
433
|
+
minLength: number;
|
|
434
|
+
}) => IdentityProviderNode<Id>;
|
|
435
|
+
withMfaConfiguration: (v: 'OFF' | 'OPTIONAL' | 'ON') => IdentityProviderNode<Id>;
|
|
436
|
+
withSessionDuration: (v: number) => IdentityProviderNode<Id>;
|
|
437
|
+
withTags: (v: Record<string, string>) => IdentityProviderNode<Id>;
|
|
438
|
+
};
|
|
439
|
+
declare const IdentityProvider: <const Id extends string>(cfg: {
|
|
440
|
+
id: Id;
|
|
441
|
+
}) => IdentityProviderNode<Id>;
|
|
442
|
+
//#endregion
|
|
443
|
+
//#region src/model/components/custom_workloads.d.ts
|
|
444
|
+
type WorkloadNode<Id extends string = string> = ComponentNode<Id, 'CustomWorkloads.Workload'> & {
|
|
445
|
+
withImage: (v: string) => WorkloadNode<Id>;
|
|
446
|
+
withPort: (v: number) => WorkloadNode<Id>;
|
|
447
|
+
withReplicas: (v: number) => WorkloadNode<Id>;
|
|
448
|
+
withEnv: (v: Record<string, string>) => WorkloadNode<Id>;
|
|
449
|
+
withCpuRequest: (v: string) => WorkloadNode<Id>;
|
|
450
|
+
withMemoryRequest: (v: string) => WorkloadNode<Id>;
|
|
451
|
+
withMaxReplicas: (v: number) => WorkloadNode<Id>;
|
|
452
|
+
withHealthCheck: (v: {
|
|
453
|
+
path: string;
|
|
454
|
+
port: number;
|
|
455
|
+
}) => WorkloadNode<Id>;
|
|
456
|
+
};
|
|
457
|
+
declare const Workload: <const Id extends string>(cfg: {
|
|
458
|
+
id: Id;
|
|
459
|
+
}) => WorkloadNode<Id>;
|
|
460
|
+
type FunctionNode<Id extends string = string> = ComponentNode<Id, 'CustomWorkloads.Function'> & {
|
|
461
|
+
withSourceArtifact: (v: string) => FunctionNode<Id>;
|
|
462
|
+
withRuntime: (v: string) => FunctionNode<Id>;
|
|
463
|
+
withEnvironment: (v: Record<string, string>) => FunctionNode<Id>;
|
|
464
|
+
withMemory: (v: number) => FunctionNode<Id>;
|
|
465
|
+
withTimeout: (v: number) => FunctionNode<Id>;
|
|
466
|
+
withConcurrency: (v: number) => FunctionNode<Id>;
|
|
467
|
+
};
|
|
468
|
+
declare const Function: <const Id extends string>(cfg: {
|
|
469
|
+
id: Id;
|
|
470
|
+
}) => FunctionNode<Id>;
|
|
471
|
+
//#endregion
|
|
472
|
+
//#region src/model/offers/network_and_compute.d.ts
|
|
473
|
+
declare const AwsVpc: (config: {}) => Offer<"NetworkAndCompute.VirtualNetwork", {}>;
|
|
474
|
+
declare const AzureVnet: (config: {}) => Offer<"NetworkAndCompute.VirtualNetwork", {}>;
|
|
475
|
+
declare const GcpVpc: (config: {}) => Offer<"NetworkAndCompute.VirtualNetwork", {}>;
|
|
476
|
+
declare const AwsSubnet: (config: {}) => Offer<"NetworkAndCompute.Subnet", {}>;
|
|
477
|
+
declare const AzureSubnet: (config: {}) => Offer<"NetworkAndCompute.Subnet", {}>;
|
|
478
|
+
declare const GcpSubnet: (config: {}) => Offer<"NetworkAndCompute.Subnet", {}>;
|
|
479
|
+
declare const AwsSecurityGroup: (config: {}) => Offer<"NetworkAndCompute.SecurityGroup", {}>;
|
|
480
|
+
declare const AzureNsg: (config: {
|
|
481
|
+
location: string;
|
|
482
|
+
resourceGroup: string;
|
|
483
|
+
}) => Offer<"NetworkAndCompute.SecurityGroup", {
|
|
484
|
+
location: string;
|
|
485
|
+
resourceGroup: string;
|
|
486
|
+
}>;
|
|
487
|
+
declare const GcpFirewall: (config: {}) => Offer<"NetworkAndCompute.SecurityGroup", {}>;
|
|
488
|
+
declare const Ec2Instance: (config: {
|
|
489
|
+
amiId: string;
|
|
490
|
+
instanceType: string;
|
|
491
|
+
}) => Offer<"NetworkAndCompute.VirtualMachine", {
|
|
492
|
+
amiId: string;
|
|
493
|
+
instanceType: string;
|
|
494
|
+
}>;
|
|
495
|
+
declare const AzureVm: (config: {
|
|
496
|
+
vmSize: string;
|
|
497
|
+
}) => Offer<"NetworkAndCompute.VirtualMachine", {
|
|
498
|
+
vmSize: string;
|
|
499
|
+
}>;
|
|
500
|
+
declare const GcpVm: (config: {
|
|
501
|
+
machineType: string;
|
|
502
|
+
}) => Offer<"NetworkAndCompute.VirtualMachine", {
|
|
503
|
+
machineType: string;
|
|
504
|
+
}>;
|
|
505
|
+
declare const VsphereVm: (config: {
|
|
506
|
+
template: string;
|
|
507
|
+
}) => Offer<"NetworkAndCompute.VirtualMachine", {
|
|
508
|
+
template: string;
|
|
509
|
+
}>;
|
|
510
|
+
declare const OpenshiftVm: (config: {}) => Offer<"NetworkAndCompute.VirtualMachine", {}>;
|
|
511
|
+
declare const Eks: (config: {}) => Offer<"NetworkAndCompute.ContainerPlatform", {}>;
|
|
512
|
+
declare const Aks: (config: {}) => Offer<"NetworkAndCompute.ContainerPlatform", {}>;
|
|
513
|
+
declare const Gke: (config: {}) => Offer<"NetworkAndCompute.ContainerPlatform", {}>;
|
|
514
|
+
declare const AwsLb: (config: {}) => Offer<"NetworkAndCompute.LoadBalancer", {}>;
|
|
515
|
+
declare const AzureLb: (config: {}) => Offer<"NetworkAndCompute.LoadBalancer", {}>;
|
|
516
|
+
declare const GcpGlb: (config: {}) => Offer<"NetworkAndCompute.LoadBalancer", {}>;
|
|
517
|
+
declare const OciVcn: (config: {}) => Offer<"NetworkAndCompute.VirtualNetwork", {}>;
|
|
518
|
+
declare const OciSubnet: (config: {
|
|
519
|
+
availabilityDomain?: string;
|
|
520
|
+
}) => Offer<"NetworkAndCompute.Subnet", {
|
|
521
|
+
availabilityDomain?: string;
|
|
522
|
+
}>;
|
|
523
|
+
declare const OciSecurityList: (config: {
|
|
524
|
+
compartmentId: string;
|
|
525
|
+
}) => Offer<"NetworkAndCompute.SecurityGroup", {
|
|
526
|
+
compartmentId: string;
|
|
527
|
+
}>;
|
|
528
|
+
declare const OciInstance: (config: {
|
|
529
|
+
shape: string;
|
|
530
|
+
}) => Offer<"NetworkAndCompute.VirtualMachine", {
|
|
531
|
+
shape: string;
|
|
532
|
+
}>;
|
|
533
|
+
declare const HetznerNetwork: (config: {}) => Offer<"NetworkAndCompute.VirtualNetwork", {}>;
|
|
534
|
+
declare const HetznerSubnet: (config: {
|
|
535
|
+
networkZone?: string;
|
|
536
|
+
}) => Offer<"NetworkAndCompute.Subnet", {
|
|
537
|
+
networkZone?: string;
|
|
538
|
+
}>;
|
|
539
|
+
declare const HetznerFirewall: (config: {}) => Offer<"NetworkAndCompute.SecurityGroup", {}>;
|
|
540
|
+
declare const HetznerServer: (config: {
|
|
541
|
+
serverType: string;
|
|
542
|
+
}) => Offer<"NetworkAndCompute.VirtualMachine", {
|
|
543
|
+
serverType: string;
|
|
544
|
+
}>;
|
|
545
|
+
declare const VspherePortGroup: (config: {
|
|
546
|
+
dvSwitchName?: string;
|
|
547
|
+
}) => Offer<"NetworkAndCompute.VirtualNetwork", {
|
|
548
|
+
dvSwitchName?: string;
|
|
549
|
+
}>;
|
|
550
|
+
declare const VsphereVlan: (config: {
|
|
551
|
+
vlanId?: number;
|
|
552
|
+
}) => Offer<"NetworkAndCompute.Subnet", {
|
|
553
|
+
vlanId?: number;
|
|
554
|
+
}>;
|
|
555
|
+
declare const OpenshiftSecurityGroup: (config: {
|
|
556
|
+
name?: string;
|
|
557
|
+
}) => Offer<"NetworkAndCompute.SecurityGroup", {
|
|
558
|
+
name?: string;
|
|
559
|
+
}>;
|
|
560
|
+
declare const OpenshiftService: (config: {}) => Offer<"NetworkAndCompute.LoadBalancer", {}>;
|
|
561
|
+
//#endregion
|
|
562
|
+
//#region src/model/offers/storage.d.ts
|
|
563
|
+
declare const AwsS3: (config: {
|
|
564
|
+
bucketRegion: string;
|
|
565
|
+
}) => Offer<"Storage.ObjectStorage", {
|
|
566
|
+
bucketRegion: string;
|
|
567
|
+
}>;
|
|
568
|
+
declare const AzureBlob: (config: {
|
|
569
|
+
accountTier: string;
|
|
570
|
+
}) => Offer<"Storage.ObjectStorage", {
|
|
571
|
+
accountTier: string;
|
|
572
|
+
}>;
|
|
573
|
+
declare const GcsBucket: (config: {
|
|
574
|
+
location: string;
|
|
575
|
+
}) => Offer<"Storage.ObjectStorage", {
|
|
576
|
+
location: string;
|
|
577
|
+
}>;
|
|
578
|
+
declare const MinIO: (config: {
|
|
579
|
+
storageClass?: string;
|
|
580
|
+
}) => Offer<"Storage.ObjectStorage", {
|
|
581
|
+
storageClass?: string;
|
|
582
|
+
}>;
|
|
583
|
+
declare const AzurePostgresDbms: (config: {
|
|
584
|
+
resourceGroup: string;
|
|
585
|
+
}) => Offer<"Storage.RelationalDbms", {
|
|
586
|
+
resourceGroup: string;
|
|
587
|
+
}>;
|
|
588
|
+
declare const GcpPostgresDbms: (config: {
|
|
589
|
+
tier: string;
|
|
590
|
+
}) => Offer<"Storage.RelationalDbms", {
|
|
591
|
+
tier: string;
|
|
592
|
+
}>;
|
|
593
|
+
declare const ArubaMySqlDbms: (config: {
|
|
594
|
+
region: string;
|
|
595
|
+
}) => Offer<"Storage.RelationalDbms", {
|
|
596
|
+
region: string;
|
|
597
|
+
}>;
|
|
598
|
+
declare const AzurePostgresDatabase: (config: {}) => Offer<"Storage.RelationalDatabase", {}>;
|
|
599
|
+
declare const GcpPostgresDatabase: (config: {}) => Offer<"Storage.RelationalDatabase", {}>;
|
|
600
|
+
declare const OpenshiftPersistentVolume: (config: {
|
|
601
|
+
storageSize?: string;
|
|
602
|
+
storageClassName?: string;
|
|
603
|
+
}) => Offer<"Storage.ObjectStorage", {
|
|
604
|
+
storageSize?: string;
|
|
605
|
+
storageClassName?: string;
|
|
606
|
+
}>;
|
|
607
|
+
//#endregion
|
|
608
|
+
//#region src/model/offers/big_data.d.ts
|
|
609
|
+
declare const AwsDatabricksCluster: (config: Record<string, never>) => Offer<"BigData.ComputeCluster", Record<string, never>>;
|
|
610
|
+
declare const AzureDatabricksCluster: (config: Record<string, never>) => Offer<"BigData.ComputeCluster", Record<string, never>>;
|
|
611
|
+
declare const GcpDatabricksCluster: (config: Record<string, never>) => Offer<"BigData.ComputeCluster", Record<string, never>>;
|
|
612
|
+
declare const CaaSSparkCluster: (config: Record<string, never>) => Offer<"BigData.ComputeCluster", Record<string, never>>;
|
|
613
|
+
declare const AwsDatabricksJob: (config: Record<string, never>) => Offer<"BigData.DataProcessingJob", Record<string, never>>;
|
|
614
|
+
declare const AzureDatabricksJob: (config: Record<string, never>) => Offer<"BigData.DataProcessingJob", Record<string, never>>;
|
|
615
|
+
declare const GcpDatabricksJob: (config: Record<string, never>) => Offer<"BigData.DataProcessingJob", Record<string, never>>;
|
|
616
|
+
declare const CaaSSparkJob: (config: Record<string, never>) => Offer<"BigData.DataProcessingJob", Record<string, never>>;
|
|
617
|
+
declare const AwsDatabricksMlflow: (config: Record<string, never>) => Offer<"BigData.MlExperiment", Record<string, never>>;
|
|
618
|
+
declare const AzureDatabricksMlflow: (config: Record<string, never>) => Offer<"BigData.MlExperiment", Record<string, never>>;
|
|
619
|
+
declare const GcpDatabricksMlflow: (config: Record<string, never>) => Offer<"BigData.MlExperiment", Record<string, never>>;
|
|
620
|
+
declare const CaaSMlflow: (config: Record<string, never>) => Offer<"BigData.MlExperiment", Record<string, never>>;
|
|
621
|
+
declare const AwsS3Datalake: (config: {
|
|
622
|
+
bucket: string;
|
|
623
|
+
}) => Offer<"BigData.Datalake", {
|
|
624
|
+
bucket: string;
|
|
625
|
+
}>;
|
|
626
|
+
declare const AzureDatalake: (config: {
|
|
627
|
+
resourceGroup: string;
|
|
628
|
+
}) => Offer<"BigData.Datalake", {
|
|
629
|
+
resourceGroup: string;
|
|
630
|
+
}>;
|
|
631
|
+
declare const GcpDatalake: (config: {
|
|
632
|
+
bucketName: string;
|
|
633
|
+
}) => Offer<"BigData.Datalake", {
|
|
634
|
+
bucketName: string;
|
|
635
|
+
}>;
|
|
636
|
+
declare const AwsDatabricks: (config: {
|
|
637
|
+
pricingTier: string;
|
|
638
|
+
}) => Offer<"BigData.DistributedDataProcessing", {
|
|
639
|
+
pricingTier: string;
|
|
640
|
+
}>;
|
|
641
|
+
declare const AzureDatabricks: (config: {
|
|
642
|
+
pricingTier: string;
|
|
643
|
+
}) => Offer<"BigData.DistributedDataProcessing", {
|
|
644
|
+
pricingTier: string;
|
|
645
|
+
}>;
|
|
646
|
+
declare const GcpDatabricks: (config: {
|
|
647
|
+
pricingTier: string;
|
|
648
|
+
}) => Offer<"BigData.DistributedDataProcessing", {
|
|
649
|
+
pricingTier: string;
|
|
650
|
+
}>;
|
|
651
|
+
//#endregion
|
|
652
|
+
//#region src/model/offers/messaging.d.ts
|
|
653
|
+
declare const AzureServiceBus: (config: {
|
|
654
|
+
resourceGroup: string;
|
|
655
|
+
}) => Offer<"Messaging.Broker", {
|
|
656
|
+
resourceGroup: string;
|
|
657
|
+
}>;
|
|
658
|
+
declare const GcpPubSub: (config: Record<string, never>) => Offer<"Messaging.Broker", Record<string, never>>;
|
|
659
|
+
/** Vendor-neutral self-hosted Kafka — no `provider`. */
|
|
660
|
+
declare const Kafka: (config: {
|
|
661
|
+
namespace?: string;
|
|
662
|
+
}) => Offer<"Messaging.Broker", {
|
|
663
|
+
namespace?: string;
|
|
664
|
+
}>;
|
|
665
|
+
declare const AzureServiceBusTopic: (config: Record<string, never>) => Offer<"Messaging.MessagingEntity", Record<string, never>>;
|
|
666
|
+
declare const GcpPubSubTopic: (config: Record<string, never>) => Offer<"Messaging.MessagingEntity", Record<string, never>>;
|
|
667
|
+
/** Vendor-neutral self-hosted Kafka topic — no `provider`. */
|
|
668
|
+
declare const KafkaTopic: (config: Record<string, never>) => Offer<"Messaging.MessagingEntity", Record<string, never>>;
|
|
669
|
+
//#endregion
|
|
670
|
+
//#region src/model/offers/api_management.d.ts
|
|
671
|
+
declare const AwsCloudFront: (config: {
|
|
672
|
+
region: string;
|
|
673
|
+
}) => Offer<"APIManagement.ApiGateway", {
|
|
674
|
+
region: string;
|
|
675
|
+
}>;
|
|
676
|
+
declare const AzureApiManagement: (config: {
|
|
677
|
+
publisherEmail: string;
|
|
678
|
+
sku: string;
|
|
679
|
+
}) => Offer<"APIManagement.ApiGateway", {
|
|
680
|
+
publisherEmail: string;
|
|
681
|
+
sku: string;
|
|
682
|
+
}>;
|
|
683
|
+
declare const GcpApiGateway: (config: {}) => Offer<"APIManagement.ApiGateway", {}>;
|
|
684
|
+
declare const Ambassador: (config: {
|
|
685
|
+
namespace?: string;
|
|
686
|
+
}) => Offer<"APIManagement.ApiGateway", {
|
|
687
|
+
namespace?: string;
|
|
688
|
+
}>;
|
|
689
|
+
declare const Traefik: (config: {
|
|
690
|
+
namespace?: string;
|
|
691
|
+
}) => Offer<"APIManagement.ApiGateway", {
|
|
692
|
+
namespace?: string;
|
|
693
|
+
}>;
|
|
694
|
+
//#endregion
|
|
695
|
+
//#region src/model/offers/observability.d.ts
|
|
696
|
+
declare const Prometheus: (config: {
|
|
697
|
+
namespace?: string;
|
|
698
|
+
}) => Offer<"Observability.Monitoring", {
|
|
699
|
+
namespace?: string;
|
|
700
|
+
}>;
|
|
701
|
+
declare const Jaeger: (config: {
|
|
702
|
+
namespace?: string;
|
|
703
|
+
}) => Offer<"Observability.Tracing", {
|
|
704
|
+
namespace?: string;
|
|
705
|
+
}>;
|
|
706
|
+
declare const ObservabilityElastic: (config: {
|
|
707
|
+
namespace?: string;
|
|
708
|
+
elasticVersion?: string;
|
|
709
|
+
}) => Offer<"Observability.Logging", {
|
|
710
|
+
namespace?: string;
|
|
711
|
+
elasticVersion?: string;
|
|
712
|
+
}>;
|
|
713
|
+
//#endregion
|
|
714
|
+
//#region src/model/offers/security.d.ts
|
|
715
|
+
declare const Ocelot: (config: {
|
|
716
|
+
namespace?: string;
|
|
717
|
+
}) => Offer<"Security.ServiceMesh", {
|
|
718
|
+
namespace?: string;
|
|
719
|
+
}>;
|
|
720
|
+
declare const Cognito: (config: {}) => Offer<"Security.IdentityProvider", {}>;
|
|
721
|
+
declare const Keycloak: (config: {
|
|
722
|
+
namespace?: string;
|
|
723
|
+
}) => Offer<"Security.IdentityProvider", {
|
|
724
|
+
namespace?: string;
|
|
725
|
+
}>;
|
|
726
|
+
//#endregion
|
|
727
|
+
//#region src/model/offers/custom_workloads.d.ts
|
|
728
|
+
declare const EcsService: (config: {
|
|
729
|
+
launchType: string;
|
|
730
|
+
}) => Offer<"CustomWorkloads.Workload", {
|
|
731
|
+
launchType: string;
|
|
732
|
+
}>;
|
|
733
|
+
declare const CloudRun: (config: {
|
|
734
|
+
region: string;
|
|
735
|
+
}) => Offer<"CustomWorkloads.Workload", {
|
|
736
|
+
region: string;
|
|
737
|
+
}>;
|
|
738
|
+
declare const AzureContainerApp: (config: {
|
|
739
|
+
resourceGroup: string;
|
|
740
|
+
}) => Offer<"CustomWorkloads.Workload", {
|
|
741
|
+
resourceGroup: string;
|
|
742
|
+
}>;
|
|
743
|
+
declare const OpenshiftWorkload: (config: {
|
|
744
|
+
namespace?: string;
|
|
745
|
+
}) => Offer<"CustomWorkloads.Workload", {
|
|
746
|
+
namespace?: string;
|
|
747
|
+
}>;
|
|
748
|
+
declare const K8sWorkload: (config: {
|
|
749
|
+
namespace?: string;
|
|
750
|
+
}) => Offer<"CustomWorkloads.Workload", {
|
|
751
|
+
namespace?: string;
|
|
752
|
+
}>;
|
|
753
|
+
declare const AwsLambda: (config: {
|
|
754
|
+
roleArn: string;
|
|
755
|
+
handler: string;
|
|
756
|
+
}) => Offer<"CustomWorkloads.Function", {
|
|
757
|
+
roleArn: string;
|
|
758
|
+
handler: string;
|
|
759
|
+
}>;
|
|
760
|
+
declare const AzureFunction: (config: Record<string, never>) => Offer<"CustomWorkloads.Function", Record<string, never>>;
|
|
761
|
+
declare const GcpFunction: (config: {
|
|
762
|
+
entryPoint: string;
|
|
763
|
+
}) => Offer<"CustomWorkloads.Function", {
|
|
764
|
+
entryPoint: string;
|
|
765
|
+
}>;
|
|
766
|
+
//#endregion
|
|
767
|
+
export { Aks, Ambassador, AnyNode, ApiGateway, ApiGatewayNode, ArubaMySqlDbms, AwsCloudFront, AwsDatabricks, AwsDatabricksCluster, AwsDatabricksJob, AwsDatabricksMlflow, AwsLambda, AwsLb, AwsS3, AwsS3Datalake, AwsSecurityGroup, AwsSubnet, AwsVpc, AzureApiManagement, AzureBlob, AzureContainerApp, AzureDatabricks, AzureDatabricksCluster, AzureDatabricksJob, AzureDatabricksMlflow, AzureDatalake, AzureFunction, AzureLb, AzureNsg, AzurePostgresDatabase, AzurePostgresDbms, AzureServiceBus, AzureServiceBusTopic, AzureSubnet, AzureVm, AzureVnet, Blueprint, Broker, BrokerNode, CaaSMlflow, CaaSSparkCluster, CaaSSparkJob, ChildContext, CloudRun, Cognito, ComponentLink, ComponentNode, ComputeCluster, ComputeClusterNode, ContainerPlatform, ContainerPlatformNode, Credentials, DataProcessingJob, DataProcessingJobNode, Datalake, DatalakeNode, DeliveryModel, DeployOptions, DistributedDataProcessing, DistributedDataProcessingNode, Ec2Instance, EcsService, Eks, Fractal, Function, FunctionNode, GcpApiGateway, GcpDatabricks, GcpDatabricksCluster, GcpDatabricksJob, GcpDatabricksMlflow, GcpDatalake, GcpFirewall, GcpFunction, GcpGlb, GcpPostgresDatabase, GcpPostgresDbms, GcpPubSub, GcpPubSubTopic, GcpSubnet, GcpVm, GcpVpc, GcsBucket, Gke, HetznerFirewall, HetznerNetwork, HetznerServer, HetznerSubnet, IdentityProvider, IdentityProviderNode, InstantiationContext, Jaeger, K8sWorkload, Kafka, KafkaTopic, Keycloak, LiveSystem, LiveSystemComponent, LoadBalancer, LoadBalancerNode, Logging, LoggingNode, MessagingEntity, MessagingEntityNode, MinIO, MlExperiment, MlExperimentNode, Monitoring, MonitoringNode, NodePool, NodeState, ObjectStorage, ObjectStorageNode, ObservabilityElastic, Ocelot, OciInstance, OciSecurityList, OciSubnet, OciVcn, Offer, OpenshiftPersistentVolume, OpenshiftSecurityGroup, OpenshiftService, OpenshiftVm, OpenshiftWorkload, OwnerRef, Prometheus, Provider, RelationalDatabase, RelationalDatabaseNode, RelationalDbms, RelationalDbmsNode, Route, Rule, SecurityGroup, SecurityGroupNode, Selection, SerializedComponent, ServiceMesh, ServiceMeshNode, SlotOps, Subnet, SubnetNode, ToLiveSystemArgs, Tracing, TracingNode, Traefik, TypedToLiveSystemArgs, Version, VirtualMachine, VirtualMachineNode, VirtualNetwork, VirtualNetworkNode, VspherePortGroup, VsphereVlan, VsphereVm, Workload, WorkloadNode, addDependency, createFractal, defineOffer, deploy, destroy, guardrail, newNode };
|