@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,659 @@
1
+ // https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/machine_configuration_apply
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function machineConfigurationApplyClientConfigurationToTerraform(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 machineConfigurationApplyClientConfigurationToHclTerraform(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 MachineConfigurationApplyClientConfigurationOutputReference 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 machineConfigurationApplyOnDestroyToTerraform(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
+ graceful: cdktf.booleanToTerraform(struct.graceful),
143
+ reboot: cdktf.booleanToTerraform(struct.reboot),
144
+ reset: cdktf.booleanToTerraform(struct.reset),
145
+ };
146
+ }
147
+ export function machineConfigurationApplyOnDestroyToHclTerraform(struct) {
148
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
149
+ return struct;
150
+ }
151
+ if (cdktf.isComplexElement(struct)) {
152
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
153
+ }
154
+ const attrs = {
155
+ graceful: {
156
+ value: cdktf.booleanToHclTerraform(struct.graceful),
157
+ isBlock: false,
158
+ type: "simple",
159
+ storageClassType: "boolean",
160
+ },
161
+ reboot: {
162
+ value: cdktf.booleanToHclTerraform(struct.reboot),
163
+ isBlock: false,
164
+ type: "simple",
165
+ storageClassType: "boolean",
166
+ },
167
+ reset: {
168
+ value: cdktf.booleanToHclTerraform(struct.reset),
169
+ isBlock: false,
170
+ type: "simple",
171
+ storageClassType: "boolean",
172
+ },
173
+ };
174
+ // remove undefined attributes
175
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
176
+ }
177
+ export class MachineConfigurationApplyOnDestroyOutputReference extends cdktf.ComplexObject {
178
+ isEmptyObject = false;
179
+ resolvableValue;
180
+ /**
181
+ * @param terraformResource The parent resource
182
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
183
+ */
184
+ constructor(terraformResource, terraformAttribute) {
185
+ super(terraformResource, terraformAttribute, false);
186
+ }
187
+ get internalValue() {
188
+ if (this.resolvableValue) {
189
+ return this.resolvableValue;
190
+ }
191
+ let hasAnyValues = this.isEmptyObject;
192
+ const internalValueResult = {};
193
+ if (this._graceful !== undefined) {
194
+ hasAnyValues = true;
195
+ internalValueResult.graceful = this._graceful;
196
+ }
197
+ if (this._reboot !== undefined) {
198
+ hasAnyValues = true;
199
+ internalValueResult.reboot = this._reboot;
200
+ }
201
+ if (this._reset !== undefined) {
202
+ hasAnyValues = true;
203
+ internalValueResult.reset = this._reset;
204
+ }
205
+ return hasAnyValues ? internalValueResult : undefined;
206
+ }
207
+ set internalValue(value) {
208
+ if (value === undefined) {
209
+ this.isEmptyObject = false;
210
+ this.resolvableValue = undefined;
211
+ this._graceful = undefined;
212
+ this._reboot = undefined;
213
+ this._reset = undefined;
214
+ }
215
+ else if (cdktf.Tokenization.isResolvable(value)) {
216
+ this.isEmptyObject = false;
217
+ this.resolvableValue = value;
218
+ }
219
+ else {
220
+ this.isEmptyObject = Object.keys(value).length === 0;
221
+ this.resolvableValue = undefined;
222
+ this._graceful = value.graceful;
223
+ this._reboot = value.reboot;
224
+ this._reset = value.reset;
225
+ }
226
+ }
227
+ // graceful - computed: true, optional: true, required: false
228
+ _graceful;
229
+ get graceful() {
230
+ return this.getBooleanAttribute('graceful');
231
+ }
232
+ set graceful(value) {
233
+ this._graceful = value;
234
+ }
235
+ resetGraceful() {
236
+ this._graceful = undefined;
237
+ }
238
+ // Temporarily expose input value. Use with caution.
239
+ get gracefulInput() {
240
+ return this._graceful;
241
+ }
242
+ // reboot - computed: true, optional: true, required: false
243
+ _reboot;
244
+ get reboot() {
245
+ return this.getBooleanAttribute('reboot');
246
+ }
247
+ set reboot(value) {
248
+ this._reboot = value;
249
+ }
250
+ resetReboot() {
251
+ this._reboot = undefined;
252
+ }
253
+ // Temporarily expose input value. Use with caution.
254
+ get rebootInput() {
255
+ return this._reboot;
256
+ }
257
+ // reset - computed: true, optional: true, required: false
258
+ _reset;
259
+ get reset() {
260
+ return this.getBooleanAttribute('reset');
261
+ }
262
+ set reset(value) {
263
+ this._reset = value;
264
+ }
265
+ resetReset() {
266
+ this._reset = undefined;
267
+ }
268
+ // Temporarily expose input value. Use with caution.
269
+ get resetInput() {
270
+ return this._reset;
271
+ }
272
+ }
273
+ export function machineConfigurationApplyTimeoutsToTerraform(struct) {
274
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
275
+ return struct;
276
+ }
277
+ if (cdktf.isComplexElement(struct)) {
278
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
279
+ }
280
+ return {
281
+ create: cdktf.stringToTerraform(struct.create),
282
+ delete: cdktf.stringToTerraform(struct.delete),
283
+ update: cdktf.stringToTerraform(struct.update),
284
+ };
285
+ }
286
+ export function machineConfigurationApplyTimeoutsToHclTerraform(struct) {
287
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
288
+ return struct;
289
+ }
290
+ if (cdktf.isComplexElement(struct)) {
291
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
292
+ }
293
+ const attrs = {
294
+ create: {
295
+ value: cdktf.stringToHclTerraform(struct.create),
296
+ isBlock: false,
297
+ type: "simple",
298
+ storageClassType: "string",
299
+ },
300
+ delete: {
301
+ value: cdktf.stringToHclTerraform(struct.delete),
302
+ isBlock: false,
303
+ type: "simple",
304
+ storageClassType: "string",
305
+ },
306
+ update: {
307
+ value: cdktf.stringToHclTerraform(struct.update),
308
+ isBlock: false,
309
+ type: "simple",
310
+ storageClassType: "string",
311
+ },
312
+ };
313
+ // remove undefined attributes
314
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
315
+ }
316
+ export class MachineConfigurationApplyTimeoutsOutputReference extends cdktf.ComplexObject {
317
+ isEmptyObject = false;
318
+ resolvableValue;
319
+ /**
320
+ * @param terraformResource The parent resource
321
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
322
+ */
323
+ constructor(terraformResource, terraformAttribute) {
324
+ super(terraformResource, terraformAttribute, false);
325
+ }
326
+ get internalValue() {
327
+ if (this.resolvableValue) {
328
+ return this.resolvableValue;
329
+ }
330
+ let hasAnyValues = this.isEmptyObject;
331
+ const internalValueResult = {};
332
+ if (this._create !== undefined) {
333
+ hasAnyValues = true;
334
+ internalValueResult.create = this._create;
335
+ }
336
+ if (this._delete !== undefined) {
337
+ hasAnyValues = true;
338
+ internalValueResult.delete = this._delete;
339
+ }
340
+ if (this._update !== undefined) {
341
+ hasAnyValues = true;
342
+ internalValueResult.update = this._update;
343
+ }
344
+ return hasAnyValues ? internalValueResult : undefined;
345
+ }
346
+ set internalValue(value) {
347
+ if (value === undefined) {
348
+ this.isEmptyObject = false;
349
+ this.resolvableValue = undefined;
350
+ this._create = undefined;
351
+ this._delete = undefined;
352
+ this._update = undefined;
353
+ }
354
+ else if (cdktf.Tokenization.isResolvable(value)) {
355
+ this.isEmptyObject = false;
356
+ this.resolvableValue = value;
357
+ }
358
+ else {
359
+ this.isEmptyObject = Object.keys(value).length === 0;
360
+ this.resolvableValue = undefined;
361
+ this._create = value.create;
362
+ this._delete = value.delete;
363
+ this._update = value.update;
364
+ }
365
+ }
366
+ // create - computed: false, optional: true, required: false
367
+ _create;
368
+ get create() {
369
+ return this.getStringAttribute('create');
370
+ }
371
+ set create(value) {
372
+ this._create = value;
373
+ }
374
+ resetCreate() {
375
+ this._create = undefined;
376
+ }
377
+ // Temporarily expose input value. Use with caution.
378
+ get createInput() {
379
+ return this._create;
380
+ }
381
+ // delete - computed: false, optional: true, required: false
382
+ _delete;
383
+ get delete() {
384
+ return this.getStringAttribute('delete');
385
+ }
386
+ set delete(value) {
387
+ this._delete = value;
388
+ }
389
+ resetDelete() {
390
+ this._delete = undefined;
391
+ }
392
+ // Temporarily expose input value. Use with caution.
393
+ get deleteInput() {
394
+ return this._delete;
395
+ }
396
+ // update - computed: false, optional: true, required: false
397
+ _update;
398
+ get update() {
399
+ return this.getStringAttribute('update');
400
+ }
401
+ set update(value) {
402
+ this._update = value;
403
+ }
404
+ resetUpdate() {
405
+ this._update = undefined;
406
+ }
407
+ // Temporarily expose input value. Use with caution.
408
+ get updateInput() {
409
+ return this._update;
410
+ }
411
+ }
412
+ /**
413
+ * Represents a {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/machine_configuration_apply talos_machine_configuration_apply}
414
+ */
415
+ export class MachineConfigurationApply extends cdktf.TerraformResource {
416
+ // =================
417
+ // STATIC PROPERTIES
418
+ // =================
419
+ static tfResourceType = "talos_machine_configuration_apply";
420
+ // ==============
421
+ // STATIC Methods
422
+ // ==============
423
+ /**
424
+ * Generates CDKTF code for importing a MachineConfigurationApply resource upon running "cdktf plan <stack-name>"
425
+ * @param scope The scope in which to define this construct
426
+ * @param importToId The construct id used in the generated config for the MachineConfigurationApply to import
427
+ * @param importFromId The id of the existing MachineConfigurationApply that should be imported. Refer to the {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/machine_configuration_apply#import import section} in the documentation of this resource for the id to use
428
+ * @param provider? Optional instance of the provider where the MachineConfigurationApply to import is found
429
+ */
430
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
431
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "talos_machine_configuration_apply", importId: importFromId, provider });
432
+ }
433
+ // ===========
434
+ // INITIALIZER
435
+ // ===========
436
+ /**
437
+ * Create a new {@link https://registry.terraform.io/providers/siderolabs/talos/0.9.0/docs/resources/machine_configuration_apply talos_machine_configuration_apply} Resource
438
+ *
439
+ * @param scope The scope in which to define this construct
440
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
441
+ * @param options MachineConfigurationApplyConfig
442
+ */
443
+ constructor(scope, id, config) {
444
+ super(scope, id, {
445
+ terraformResourceType: 'talos_machine_configuration_apply',
446
+ terraformGeneratorMetadata: {
447
+ providerName: 'talos',
448
+ providerVersion: '0.9.0',
449
+ providerVersionConstraint: '0.9.0'
450
+ },
451
+ provider: config.provider,
452
+ dependsOn: config.dependsOn,
453
+ count: config.count,
454
+ lifecycle: config.lifecycle,
455
+ provisioners: config.provisioners,
456
+ connection: config.connection,
457
+ forEach: config.forEach
458
+ });
459
+ this._applyMode = config.applyMode;
460
+ this._clientConfiguration.internalValue = config.clientConfiguration;
461
+ this._configPatches = config.configPatches;
462
+ this._endpoint = config.endpoint;
463
+ this._machineConfigurationInput = config.machineConfigurationInput;
464
+ this._node = config.nodeAttribute;
465
+ this._onDestroy.internalValue = config.onDestroy;
466
+ this._timeouts.internalValue = config.timeouts;
467
+ }
468
+ // ==========
469
+ // ATTRIBUTES
470
+ // ==========
471
+ // apply_mode - computed: true, optional: true, required: false
472
+ _applyMode;
473
+ get applyMode() {
474
+ return this.getStringAttribute('apply_mode');
475
+ }
476
+ set applyMode(value) {
477
+ this._applyMode = value;
478
+ }
479
+ resetApplyMode() {
480
+ this._applyMode = undefined;
481
+ }
482
+ // Temporarily expose input value. Use with caution.
483
+ get applyModeInput() {
484
+ return this._applyMode;
485
+ }
486
+ // client_configuration - computed: false, optional: false, required: true
487
+ _clientConfiguration = new MachineConfigurationApplyClientConfigurationOutputReference(this, "client_configuration");
488
+ get clientConfiguration() {
489
+ return this._clientConfiguration;
490
+ }
491
+ putClientConfiguration(value) {
492
+ this._clientConfiguration.internalValue = value;
493
+ }
494
+ // Temporarily expose input value. Use with caution.
495
+ get clientConfigurationInput() {
496
+ return this._clientConfiguration.internalValue;
497
+ }
498
+ // config_patches - computed: false, optional: true, required: false
499
+ _configPatches;
500
+ get configPatches() {
501
+ return this.getListAttribute('config_patches');
502
+ }
503
+ set configPatches(value) {
504
+ this._configPatches = value;
505
+ }
506
+ resetConfigPatches() {
507
+ this._configPatches = undefined;
508
+ }
509
+ // Temporarily expose input value. Use with caution.
510
+ get configPatchesInput() {
511
+ return this._configPatches;
512
+ }
513
+ // endpoint - computed: true, optional: true, required: false
514
+ _endpoint;
515
+ get endpoint() {
516
+ return this.getStringAttribute('endpoint');
517
+ }
518
+ set endpoint(value) {
519
+ this._endpoint = value;
520
+ }
521
+ resetEndpoint() {
522
+ this._endpoint = undefined;
523
+ }
524
+ // Temporarily expose input value. Use with caution.
525
+ get endpointInput() {
526
+ return this._endpoint;
527
+ }
528
+ // id - computed: true, optional: false, required: false
529
+ get id() {
530
+ return this.getStringAttribute('id');
531
+ }
532
+ // machine_configuration - computed: true, optional: false, required: false
533
+ get machineConfiguration() {
534
+ return this.getStringAttribute('machine_configuration');
535
+ }
536
+ // machine_configuration_input - computed: false, optional: false, required: true
537
+ _machineConfigurationInput;
538
+ get machineConfigurationInput() {
539
+ return this.getStringAttribute('machine_configuration_input');
540
+ }
541
+ set machineConfigurationInput(value) {
542
+ this._machineConfigurationInput = value;
543
+ }
544
+ // Temporarily expose input value. Use with caution.
545
+ get machineConfigurationInputInput() {
546
+ return this._machineConfigurationInput;
547
+ }
548
+ // node - computed: false, optional: false, required: true
549
+ _node;
550
+ get nodeAttribute() {
551
+ return this.getStringAttribute('node');
552
+ }
553
+ set nodeAttribute(value) {
554
+ this._node = value;
555
+ }
556
+ // Temporarily expose input value. Use with caution.
557
+ get nodeAttributeInput() {
558
+ return this._node;
559
+ }
560
+ // on_destroy - computed: false, optional: true, required: false
561
+ _onDestroy = new MachineConfigurationApplyOnDestroyOutputReference(this, "on_destroy");
562
+ get onDestroy() {
563
+ return this._onDestroy;
564
+ }
565
+ putOnDestroy(value) {
566
+ this._onDestroy.internalValue = value;
567
+ }
568
+ resetOnDestroy() {
569
+ this._onDestroy.internalValue = undefined;
570
+ }
571
+ // Temporarily expose input value. Use with caution.
572
+ get onDestroyInput() {
573
+ return this._onDestroy.internalValue;
574
+ }
575
+ // timeouts - computed: false, optional: true, required: false
576
+ _timeouts = new MachineConfigurationApplyTimeoutsOutputReference(this, "timeouts");
577
+ get timeouts() {
578
+ return this._timeouts;
579
+ }
580
+ putTimeouts(value) {
581
+ this._timeouts.internalValue = value;
582
+ }
583
+ resetTimeouts() {
584
+ this._timeouts.internalValue = undefined;
585
+ }
586
+ // Temporarily expose input value. Use with caution.
587
+ get timeoutsInput() {
588
+ return this._timeouts.internalValue;
589
+ }
590
+ // =========
591
+ // SYNTHESIS
592
+ // =========
593
+ synthesizeAttributes() {
594
+ return {
595
+ apply_mode: cdktf.stringToTerraform(this._applyMode),
596
+ client_configuration: machineConfigurationApplyClientConfigurationToTerraform(this._clientConfiguration.internalValue),
597
+ config_patches: cdktf.listMapper(cdktf.stringToTerraform, false)(this._configPatches),
598
+ endpoint: cdktf.stringToTerraform(this._endpoint),
599
+ machine_configuration_input: cdktf.stringToTerraform(this._machineConfigurationInput),
600
+ node: cdktf.stringToTerraform(this._node),
601
+ on_destroy: machineConfigurationApplyOnDestroyToTerraform(this._onDestroy.internalValue),
602
+ timeouts: machineConfigurationApplyTimeoutsToTerraform(this._timeouts.internalValue),
603
+ };
604
+ }
605
+ synthesizeHclAttributes() {
606
+ const attrs = {
607
+ apply_mode: {
608
+ value: cdktf.stringToHclTerraform(this._applyMode),
609
+ isBlock: false,
610
+ type: "simple",
611
+ storageClassType: "string",
612
+ },
613
+ client_configuration: {
614
+ value: machineConfigurationApplyClientConfigurationToHclTerraform(this._clientConfiguration.internalValue),
615
+ isBlock: true,
616
+ type: "struct",
617
+ storageClassType: "MachineConfigurationApplyClientConfiguration",
618
+ },
619
+ config_patches: {
620
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._configPatches),
621
+ isBlock: false,
622
+ type: "list",
623
+ storageClassType: "stringList",
624
+ },
625
+ endpoint: {
626
+ value: cdktf.stringToHclTerraform(this._endpoint),
627
+ isBlock: false,
628
+ type: "simple",
629
+ storageClassType: "string",
630
+ },
631
+ machine_configuration_input: {
632
+ value: cdktf.stringToHclTerraform(this._machineConfigurationInput),
633
+ isBlock: false,
634
+ type: "simple",
635
+ storageClassType: "string",
636
+ },
637
+ node: {
638
+ value: cdktf.stringToHclTerraform(this._node),
639
+ isBlock: false,
640
+ type: "simple",
641
+ storageClassType: "string",
642
+ },
643
+ on_destroy: {
644
+ value: machineConfigurationApplyOnDestroyToHclTerraform(this._onDestroy.internalValue),
645
+ isBlock: true,
646
+ type: "struct",
647
+ storageClassType: "MachineConfigurationApplyOnDestroy",
648
+ },
649
+ timeouts: {
650
+ value: machineConfigurationApplyTimeoutsToHclTerraform(this._timeouts.internalValue),
651
+ isBlock: true,
652
+ type: "struct",
653
+ storageClassType: "MachineConfigurationApplyTimeouts",
654
+ },
655
+ };
656
+ // remove undefined attributes
657
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
658
+ }
659
+ }