@cdktf-providers/siderolabs-talos 0.9.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.
Files changed (37) hide show
  1. package/LICENSE +355 -0
  2. package/README.md +19 -0
  3. package/dist/cluster-kubeconfig/index.d.ts +187 -0
  4. package/dist/cluster-kubeconfig/index.js +489 -0
  5. package/dist/data-talos-client-configuration/index.d.ts +121 -0
  6. package/dist/data-talos-client-configuration/index.js +292 -0
  7. package/dist/data-talos-cluster-health/index.d.ts +165 -0
  8. package/dist/data-talos-cluster-health/index.js +414 -0
  9. package/dist/data-talos-cluster-kubeconfig/index.d.ts +176 -0
  10. package/dist/data-talos-cluster-kubeconfig/index.js +461 -0
  11. package/dist/data-talos-image-factory-extensions-versions/index.d.ts +118 -0
  12. package/dist/data-talos-image-factory-extensions-versions/index.js +289 -0
  13. package/dist/data-talos-image-factory-overlays-versions/index.d.ts +117 -0
  14. package/dist/data-talos-image-factory-overlays-versions/index.js +285 -0
  15. package/dist/data-talos-image-factory-urls/index.d.ts +163 -0
  16. package/dist/data-talos-image-factory-urls/index.js +272 -0
  17. package/dist/data-talos-image-factory-versions/index.d.ts +71 -0
  18. package/dist/data-talos-image-factory-versions/index.js +182 -0
  19. package/dist/data-talos-machine-configuration/index.d.ts +521 -0
  20. package/dist/data-talos-machine-configuration/index.js +1424 -0
  21. package/dist/data-talos-machine-disks/index.d.ts +208 -0
  22. package/dist/data-talos-machine-disks/index.js +537 -0
  23. package/dist/image-factory-schematic/index.d.ts +50 -0
  24. package/dist/image-factory-schematic/index.js +95 -0
  25. package/dist/index.d.ts +15 -0
  26. package/dist/index.js +16 -0
  27. package/dist/lazy-index.d.ts +0 -0
  28. package/dist/lazy-index.js +16 -0
  29. package/dist/machine-bootstrap/index.d.ts +144 -0
  30. package/dist/machine-bootstrap/index.js +371 -0
  31. package/dist/machine-configuration-apply/index.d.ts +262 -0
  32. package/dist/machine-configuration-apply/index.js +659 -0
  33. package/dist/machine-secrets/index.d.ts +238 -0
  34. package/dist/machine-secrets/index.js +684 -0
  35. package/dist/provider/index.d.ts +54 -0
  36. package/dist/provider/index.js +108 -0
  37. package/package.json +51 -0
@@ -0,0 +1,537 @@
1
+ // https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/data-sources/machine_disks
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dataTalosMachineDisksClientConfigurationToTerraform(struct) {
5
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
6
+ return struct;
7
+ }
8
+ if (cdktf.isComplexElement(struct)) {
9
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
10
+ }
11
+ return {
12
+ ca_certificate: cdktf.stringToTerraform(struct.caCertificate),
13
+ client_certificate: cdktf.stringToTerraform(struct.clientCertificate),
14
+ client_key: cdktf.stringToTerraform(struct.clientKey),
15
+ };
16
+ }
17
+ export function dataTalosMachineDisksClientConfigurationToHclTerraform(struct) {
18
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
19
+ return struct;
20
+ }
21
+ if (cdktf.isComplexElement(struct)) {
22
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
23
+ }
24
+ const attrs = {
25
+ ca_certificate: {
26
+ value: cdktf.stringToHclTerraform(struct.caCertificate),
27
+ isBlock: false,
28
+ type: "simple",
29
+ storageClassType: "string",
30
+ },
31
+ client_certificate: {
32
+ value: cdktf.stringToHclTerraform(struct.clientCertificate),
33
+ isBlock: false,
34
+ type: "simple",
35
+ storageClassType: "string",
36
+ },
37
+ client_key: {
38
+ value: cdktf.stringToHclTerraform(struct.clientKey),
39
+ isBlock: false,
40
+ type: "simple",
41
+ storageClassType: "string",
42
+ },
43
+ };
44
+ // remove undefined attributes
45
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
46
+ }
47
+ export class DataTalosMachineDisksClientConfigurationOutputReference extends cdktf.ComplexObject {
48
+ isEmptyObject = false;
49
+ resolvableValue;
50
+ /**
51
+ * @param terraformResource The parent resource
52
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
53
+ */
54
+ constructor(terraformResource, terraformAttribute) {
55
+ super(terraformResource, terraformAttribute, false);
56
+ }
57
+ get internalValue() {
58
+ if (this.resolvableValue) {
59
+ return this.resolvableValue;
60
+ }
61
+ let hasAnyValues = this.isEmptyObject;
62
+ const internalValueResult = {};
63
+ if (this._caCertificate !== undefined) {
64
+ hasAnyValues = true;
65
+ internalValueResult.caCertificate = this._caCertificate;
66
+ }
67
+ if (this._clientCertificate !== undefined) {
68
+ hasAnyValues = true;
69
+ internalValueResult.clientCertificate = this._clientCertificate;
70
+ }
71
+ if (this._clientKey !== undefined) {
72
+ hasAnyValues = true;
73
+ internalValueResult.clientKey = this._clientKey;
74
+ }
75
+ return hasAnyValues ? internalValueResult : undefined;
76
+ }
77
+ set internalValue(value) {
78
+ if (value === undefined) {
79
+ this.isEmptyObject = false;
80
+ this.resolvableValue = undefined;
81
+ this._caCertificate = undefined;
82
+ this._clientCertificate = undefined;
83
+ this._clientKey = undefined;
84
+ }
85
+ else if (cdktf.Tokenization.isResolvable(value)) {
86
+ this.isEmptyObject = false;
87
+ this.resolvableValue = value;
88
+ }
89
+ else {
90
+ this.isEmptyObject = Object.keys(value).length === 0;
91
+ this.resolvableValue = undefined;
92
+ this._caCertificate = value.caCertificate;
93
+ this._clientCertificate = value.clientCertificate;
94
+ this._clientKey = value.clientKey;
95
+ }
96
+ }
97
+ // ca_certificate - computed: false, optional: false, required: true
98
+ _caCertificate;
99
+ get caCertificate() {
100
+ return this.getStringAttribute('ca_certificate');
101
+ }
102
+ set caCertificate(value) {
103
+ this._caCertificate = value;
104
+ }
105
+ // Temporarily expose input value. Use with caution.
106
+ get caCertificateInput() {
107
+ return this._caCertificate;
108
+ }
109
+ // client_certificate - computed: false, optional: false, required: true
110
+ _clientCertificate;
111
+ get clientCertificate() {
112
+ return this.getStringAttribute('client_certificate');
113
+ }
114
+ set clientCertificate(value) {
115
+ this._clientCertificate = value;
116
+ }
117
+ // Temporarily expose input value. Use with caution.
118
+ get clientCertificateInput() {
119
+ return this._clientCertificate;
120
+ }
121
+ // client_key - computed: false, optional: false, required: true
122
+ _clientKey;
123
+ get clientKey() {
124
+ return this.getStringAttribute('client_key');
125
+ }
126
+ set clientKey(value) {
127
+ this._clientKey = value;
128
+ }
129
+ // Temporarily expose input value. Use with caution.
130
+ get clientKeyInput() {
131
+ return this._clientKey;
132
+ }
133
+ }
134
+ export function dataTalosMachineDisksDisksToTerraform(struct) {
135
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
136
+ return struct;
137
+ }
138
+ if (cdktf.isComplexElement(struct)) {
139
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
140
+ }
141
+ return {};
142
+ }
143
+ export function dataTalosMachineDisksDisksToHclTerraform(struct) {
144
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
145
+ return struct;
146
+ }
147
+ if (cdktf.isComplexElement(struct)) {
148
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
149
+ }
150
+ const attrs = {};
151
+ return attrs;
152
+ }
153
+ export class DataTalosMachineDisksDisksOutputReference extends cdktf.ComplexObject {
154
+ isEmptyObject = false;
155
+ /**
156
+ * @param terraformResource The parent resource
157
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
158
+ * @param complexObjectIndex the index of this item in the list
159
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
160
+ */
161
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
162
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
163
+ }
164
+ get internalValue() {
165
+ let hasAnyValues = this.isEmptyObject;
166
+ const internalValueResult = {};
167
+ return hasAnyValues ? internalValueResult : undefined;
168
+ }
169
+ set internalValue(value) {
170
+ if (value === undefined) {
171
+ this.isEmptyObject = false;
172
+ }
173
+ else {
174
+ this.isEmptyObject = Object.keys(value).length === 0;
175
+ }
176
+ }
177
+ // bus_path - computed: true, optional: false, required: false
178
+ get busPath() {
179
+ return this.getStringAttribute('bus_path');
180
+ }
181
+ // cdrom - computed: true, optional: false, required: false
182
+ get cdrom() {
183
+ return this.getBooleanAttribute('cdrom');
184
+ }
185
+ // dev_path - computed: true, optional: false, required: false
186
+ get devPath() {
187
+ return this.getStringAttribute('dev_path');
188
+ }
189
+ // io_size - computed: true, optional: false, required: false
190
+ get ioSize() {
191
+ return this.getNumberAttribute('io_size');
192
+ }
193
+ // modalias - computed: true, optional: false, required: false
194
+ get modalias() {
195
+ return this.getStringAttribute('modalias');
196
+ }
197
+ // model - computed: true, optional: false, required: false
198
+ get model() {
199
+ return this.getStringAttribute('model');
200
+ }
201
+ // pretty_size - computed: true, optional: false, required: false
202
+ get prettySize() {
203
+ return this.getStringAttribute('pretty_size');
204
+ }
205
+ // readonly - computed: true, optional: false, required: false
206
+ get readonly() {
207
+ return this.getBooleanAttribute('readonly');
208
+ }
209
+ // rotational - computed: true, optional: false, required: false
210
+ get rotational() {
211
+ return this.getBooleanAttribute('rotational');
212
+ }
213
+ // secondary_disks - computed: true, optional: false, required: false
214
+ get secondaryDisks() {
215
+ return this.getListAttribute('secondary_disks');
216
+ }
217
+ // sector_size - computed: true, optional: false, required: false
218
+ get sectorSize() {
219
+ return this.getNumberAttribute('sector_size');
220
+ }
221
+ // serial - computed: true, optional: false, required: false
222
+ get serial() {
223
+ return this.getStringAttribute('serial');
224
+ }
225
+ // size - computed: true, optional: false, required: false
226
+ get size() {
227
+ return this.getNumberAttribute('size');
228
+ }
229
+ // sub_system - computed: true, optional: false, required: false
230
+ get subSystem() {
231
+ return this.getStringAttribute('sub_system');
232
+ }
233
+ // symlinks - computed: true, optional: false, required: false
234
+ get symlinks() {
235
+ return this.getListAttribute('symlinks');
236
+ }
237
+ // transport - computed: true, optional: false, required: false
238
+ get transport() {
239
+ return this.getStringAttribute('transport');
240
+ }
241
+ // uuid - computed: true, optional: false, required: false
242
+ get uuid() {
243
+ return this.getStringAttribute('uuid');
244
+ }
245
+ // wwid - computed: true, optional: false, required: false
246
+ get wwid() {
247
+ return this.getStringAttribute('wwid');
248
+ }
249
+ }
250
+ export class DataTalosMachineDisksDisksList extends cdktf.ComplexList {
251
+ terraformResource;
252
+ terraformAttribute;
253
+ wrapsSet;
254
+ /**
255
+ * @param terraformResource The parent resource
256
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
257
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
258
+ */
259
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
260
+ super(terraformResource, terraformAttribute, wrapsSet);
261
+ this.terraformResource = terraformResource;
262
+ this.terraformAttribute = terraformAttribute;
263
+ this.wrapsSet = wrapsSet;
264
+ }
265
+ /**
266
+ * @param index the index of the item to return
267
+ */
268
+ get(index) {
269
+ return new DataTalosMachineDisksDisksOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
270
+ }
271
+ }
272
+ export function dataTalosMachineDisksTimeoutsToTerraform(struct) {
273
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
274
+ return struct;
275
+ }
276
+ if (cdktf.isComplexElement(struct)) {
277
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
278
+ }
279
+ return {
280
+ read: cdktf.stringToTerraform(struct.read),
281
+ };
282
+ }
283
+ export function dataTalosMachineDisksTimeoutsToHclTerraform(struct) {
284
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
285
+ return struct;
286
+ }
287
+ if (cdktf.isComplexElement(struct)) {
288
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
289
+ }
290
+ const attrs = {
291
+ read: {
292
+ value: cdktf.stringToHclTerraform(struct.read),
293
+ isBlock: false,
294
+ type: "simple",
295
+ storageClassType: "string",
296
+ },
297
+ };
298
+ // remove undefined attributes
299
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
300
+ }
301
+ export class DataTalosMachineDisksTimeoutsOutputReference extends cdktf.ComplexObject {
302
+ isEmptyObject = false;
303
+ resolvableValue;
304
+ /**
305
+ * @param terraformResource The parent resource
306
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
307
+ */
308
+ constructor(terraformResource, terraformAttribute) {
309
+ super(terraformResource, terraformAttribute, false);
310
+ }
311
+ get internalValue() {
312
+ if (this.resolvableValue) {
313
+ return this.resolvableValue;
314
+ }
315
+ let hasAnyValues = this.isEmptyObject;
316
+ const internalValueResult = {};
317
+ if (this._read !== undefined) {
318
+ hasAnyValues = true;
319
+ internalValueResult.read = this._read;
320
+ }
321
+ return hasAnyValues ? internalValueResult : undefined;
322
+ }
323
+ set internalValue(value) {
324
+ if (value === undefined) {
325
+ this.isEmptyObject = false;
326
+ this.resolvableValue = undefined;
327
+ this._read = undefined;
328
+ }
329
+ else if (cdktf.Tokenization.isResolvable(value)) {
330
+ this.isEmptyObject = false;
331
+ this.resolvableValue = value;
332
+ }
333
+ else {
334
+ this.isEmptyObject = Object.keys(value).length === 0;
335
+ this.resolvableValue = undefined;
336
+ this._read = value.read;
337
+ }
338
+ }
339
+ // read - computed: false, optional: true, required: false
340
+ _read;
341
+ get read() {
342
+ return this.getStringAttribute('read');
343
+ }
344
+ set read(value) {
345
+ this._read = value;
346
+ }
347
+ resetRead() {
348
+ this._read = undefined;
349
+ }
350
+ // Temporarily expose input value. Use with caution.
351
+ get readInput() {
352
+ return this._read;
353
+ }
354
+ }
355
+ /**
356
+ * Represents a {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/data-sources/machine_disks talos_machine_disks}
357
+ */
358
+ export class DataTalosMachineDisks extends cdktf.TerraformDataSource {
359
+ // =================
360
+ // STATIC PROPERTIES
361
+ // =================
362
+ static tfResourceType = "talos_machine_disks";
363
+ // ==============
364
+ // STATIC Methods
365
+ // ==============
366
+ /**
367
+ * Generates CDKTF code for importing a DataTalosMachineDisks resource upon running "cdktf plan <stack-name>"
368
+ * @param scope The scope in which to define this construct
369
+ * @param importToId The construct id used in the generated config for the DataTalosMachineDisks to import
370
+ * @param importFromId The id of the existing DataTalosMachineDisks that should be imported. Refer to the {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/data-sources/machine_disks#import import section} in the documentation of this resource for the id to use
371
+ * @param provider? Optional instance of the provider where the DataTalosMachineDisks to import is found
372
+ */
373
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
374
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "talos_machine_disks", importId: importFromId, provider });
375
+ }
376
+ // ===========
377
+ // INITIALIZER
378
+ // ===========
379
+ /**
380
+ * Create a new {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/data-sources/machine_disks talos_machine_disks} Data Source
381
+ *
382
+ * @param scope The scope in which to define this construct
383
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
384
+ * @param options DataTalosMachineDisksConfig
385
+ */
386
+ constructor(scope, id, config) {
387
+ super(scope, id, {
388
+ terraformResourceType: 'talos_machine_disks',
389
+ terraformGeneratorMetadata: {
390
+ providerName: 'talos',
391
+ providerVersion: '0.9.0',
392
+ providerVersionConstraint: '0.9.0'
393
+ },
394
+ provider: config.provider,
395
+ dependsOn: config.dependsOn,
396
+ count: config.count,
397
+ lifecycle: config.lifecycle,
398
+ provisioners: config.provisioners,
399
+ connection: config.connection,
400
+ forEach: config.forEach
401
+ });
402
+ this._clientConfiguration.internalValue = config.clientConfiguration;
403
+ this._endpoint = config.endpoint;
404
+ this._node = config.nodeAttribute;
405
+ this._selector = config.selector;
406
+ this._timeouts.internalValue = config.timeouts;
407
+ }
408
+ // ==========
409
+ // ATTRIBUTES
410
+ // ==========
411
+ // client_configuration - computed: false, optional: false, required: true
412
+ _clientConfiguration = new DataTalosMachineDisksClientConfigurationOutputReference(this, "client_configuration");
413
+ get clientConfiguration() {
414
+ return this._clientConfiguration;
415
+ }
416
+ putClientConfiguration(value) {
417
+ this._clientConfiguration.internalValue = value;
418
+ }
419
+ // Temporarily expose input value. Use with caution.
420
+ get clientConfigurationInput() {
421
+ return this._clientConfiguration.internalValue;
422
+ }
423
+ // disks - computed: true, optional: false, required: false
424
+ _disks = new DataTalosMachineDisksDisksList(this, "disks", false);
425
+ get disks() {
426
+ return this._disks;
427
+ }
428
+ // endpoint - computed: true, optional: true, required: false
429
+ _endpoint;
430
+ get endpoint() {
431
+ return this.getStringAttribute('endpoint');
432
+ }
433
+ set endpoint(value) {
434
+ this._endpoint = value;
435
+ }
436
+ resetEndpoint() {
437
+ this._endpoint = undefined;
438
+ }
439
+ // Temporarily expose input value. Use with caution.
440
+ get endpointInput() {
441
+ return this._endpoint;
442
+ }
443
+ // id - computed: true, optional: false, required: false
444
+ get id() {
445
+ return this.getStringAttribute('id');
446
+ }
447
+ // node - computed: false, optional: false, required: true
448
+ _node;
449
+ get nodeAttribute() {
450
+ return this.getStringAttribute('node');
451
+ }
452
+ set nodeAttribute(value) {
453
+ this._node = value;
454
+ }
455
+ // Temporarily expose input value. Use with caution.
456
+ get nodeAttributeInput() {
457
+ return this._node;
458
+ }
459
+ // selector - computed: false, optional: true, required: false
460
+ _selector;
461
+ get selector() {
462
+ return this.getStringAttribute('selector');
463
+ }
464
+ set selector(value) {
465
+ this._selector = value;
466
+ }
467
+ resetSelector() {
468
+ this._selector = undefined;
469
+ }
470
+ // Temporarily expose input value. Use with caution.
471
+ get selectorInput() {
472
+ return this._selector;
473
+ }
474
+ // timeouts - computed: false, optional: true, required: false
475
+ _timeouts = new DataTalosMachineDisksTimeoutsOutputReference(this, "timeouts");
476
+ get timeouts() {
477
+ return this._timeouts;
478
+ }
479
+ putTimeouts(value) {
480
+ this._timeouts.internalValue = value;
481
+ }
482
+ resetTimeouts() {
483
+ this._timeouts.internalValue = undefined;
484
+ }
485
+ // Temporarily expose input value. Use with caution.
486
+ get timeoutsInput() {
487
+ return this._timeouts.internalValue;
488
+ }
489
+ // =========
490
+ // SYNTHESIS
491
+ // =========
492
+ synthesizeAttributes() {
493
+ return {
494
+ client_configuration: dataTalosMachineDisksClientConfigurationToTerraform(this._clientConfiguration.internalValue),
495
+ endpoint: cdktf.stringToTerraform(this._endpoint),
496
+ node: cdktf.stringToTerraform(this._node),
497
+ selector: cdktf.stringToTerraform(this._selector),
498
+ timeouts: dataTalosMachineDisksTimeoutsToTerraform(this._timeouts.internalValue),
499
+ };
500
+ }
501
+ synthesizeHclAttributes() {
502
+ const attrs = {
503
+ client_configuration: {
504
+ value: dataTalosMachineDisksClientConfigurationToHclTerraform(this._clientConfiguration.internalValue),
505
+ isBlock: true,
506
+ type: "struct",
507
+ storageClassType: "DataTalosMachineDisksClientConfiguration",
508
+ },
509
+ endpoint: {
510
+ value: cdktf.stringToHclTerraform(this._endpoint),
511
+ isBlock: false,
512
+ type: "simple",
513
+ storageClassType: "string",
514
+ },
515
+ node: {
516
+ value: cdktf.stringToHclTerraform(this._node),
517
+ isBlock: false,
518
+ type: "simple",
519
+ storageClassType: "string",
520
+ },
521
+ selector: {
522
+ value: cdktf.stringToHclTerraform(this._selector),
523
+ isBlock: false,
524
+ type: "simple",
525
+ storageClassType: "string",
526
+ },
527
+ timeouts: {
528
+ value: dataTalosMachineDisksTimeoutsToHclTerraform(this._timeouts.internalValue),
529
+ isBlock: true,
530
+ type: "struct",
531
+ storageClassType: "DataTalosMachineDisksTimeouts",
532
+ },
533
+ };
534
+ // remove undefined attributes
535
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
536
+ }
537
+ }
@@ -0,0 +1,50 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface ImageFactorySchematicConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ *
6
+ * The schematic yaml respresentation to generate the image.
7
+ *
8
+ * If not set, a vanilla Talos image schematic will be generated.
9
+ *
10
+ * > Refer to [image-factory](https://github.com/siderolabs/image-factory?tab=readme-ov-file#post-schematics) for the schema.
11
+ *
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic#schematic ImageFactorySchematic#schematic}
14
+ */
15
+ readonly schematic?: string;
16
+ }
17
+ /**
18
+ * Represents a {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic talos_image_factory_schematic}
19
+ */
20
+ export declare class ImageFactorySchematic extends cdktf.TerraformResource {
21
+ static readonly tfResourceType = "talos_image_factory_schematic";
22
+ /**
23
+ * Generates CDKTF code for importing a ImageFactorySchematic resource upon running "cdktf plan <stack-name>"
24
+ * @param scope The scope in which to define this construct
25
+ * @param importToId The construct id used in the generated config for the ImageFactorySchematic to import
26
+ * @param importFromId The id of the existing ImageFactorySchematic that should be imported. Refer to the {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic#import import section} in the documentation of this resource for the id to use
27
+ * @param provider? Optional instance of the provider where the ImageFactorySchematic to import is found
28
+ */
29
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
30
+ /**
31
+ * Create a new {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic talos_image_factory_schematic} Resource
32
+ *
33
+ * @param scope The scope in which to define this construct
34
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
35
+ * @param options ImageFactorySchematicConfig = {}
36
+ */
37
+ constructor(scope: Construct, id: string, config?: ImageFactorySchematicConfig);
38
+ get id(): any;
39
+ private _schematic?;
40
+ get schematic(): string;
41
+ set schematic(value: string);
42
+ resetSchematic(): void;
43
+ get schematicInput(): string;
44
+ protected synthesizeAttributes(): {
45
+ [name: string]: any;
46
+ };
47
+ protected synthesizeHclAttributes(): {
48
+ [name: string]: any;
49
+ };
50
+ }
@@ -0,0 +1,95 @@
1
+ // https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ /**
5
+ * Represents a {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic talos_image_factory_schematic}
6
+ */
7
+ export class ImageFactorySchematic extends cdktf.TerraformResource {
8
+ // =================
9
+ // STATIC PROPERTIES
10
+ // =================
11
+ static tfResourceType = "talos_image_factory_schematic";
12
+ // ==============
13
+ // STATIC Methods
14
+ // ==============
15
+ /**
16
+ * Generates CDKTF code for importing a ImageFactorySchematic resource upon running "cdktf plan <stack-name>"
17
+ * @param scope The scope in which to define this construct
18
+ * @param importToId The construct id used in the generated config for the ImageFactorySchematic to import
19
+ * @param importFromId The id of the existing ImageFactorySchematic that should be imported. Refer to the {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic#import import section} in the documentation of this resource for the id to use
20
+ * @param provider? Optional instance of the provider where the ImageFactorySchematic to import is found
21
+ */
22
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
23
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "talos_image_factory_schematic", importId: importFromId, provider });
24
+ }
25
+ // ===========
26
+ // INITIALIZER
27
+ // ===========
28
+ /**
29
+ * Create a new {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/image_factory_schematic talos_image_factory_schematic} Resource
30
+ *
31
+ * @param scope The scope in which to define this construct
32
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
33
+ * @param options ImageFactorySchematicConfig = {}
34
+ */
35
+ constructor(scope, id, config = {}) {
36
+ super(scope, id, {
37
+ terraformResourceType: 'talos_image_factory_schematic',
38
+ terraformGeneratorMetadata: {
39
+ providerName: 'talos',
40
+ providerVersion: '0.9.0',
41
+ providerVersionConstraint: '0.9.0'
42
+ },
43
+ provider: config.provider,
44
+ dependsOn: config.dependsOn,
45
+ count: config.count,
46
+ lifecycle: config.lifecycle,
47
+ provisioners: config.provisioners,
48
+ connection: config.connection,
49
+ forEach: config.forEach
50
+ });
51
+ this._schematic = config.schematic;
52
+ }
53
+ // ==========
54
+ // ATTRIBUTES
55
+ // ==========
56
+ // id - computed: true, optional: false, required: false
57
+ get id() {
58
+ return this.getStringAttribute('id');
59
+ }
60
+ // schematic - computed: false, optional: true, required: false
61
+ _schematic;
62
+ get schematic() {
63
+ return this.getStringAttribute('schematic');
64
+ }
65
+ set schematic(value) {
66
+ this._schematic = value;
67
+ }
68
+ resetSchematic() {
69
+ this._schematic = undefined;
70
+ }
71
+ // Temporarily expose input value. Use with caution.
72
+ get schematicInput() {
73
+ return this._schematic;
74
+ }
75
+ // =========
76
+ // SYNTHESIS
77
+ // =========
78
+ synthesizeAttributes() {
79
+ return {
80
+ schematic: cdktf.stringToTerraform(this._schematic),
81
+ };
82
+ }
83
+ synthesizeHclAttributes() {
84
+ const attrs = {
85
+ schematic: {
86
+ value: cdktf.stringToHclTerraform(this._schematic),
87
+ isBlock: false,
88
+ type: "simple",
89
+ storageClassType: "string",
90
+ },
91
+ };
92
+ // remove undefined attributes
93
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
94
+ }
95
+ }