@cdktf-providers/edge-center-edgecenter 0.10.4

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 (173) hide show
  1. package/LICENSE +355 -0
  2. package/README.md +19 -0
  3. package/dist/baremetal/index.d.ts +528 -0
  4. package/dist/baremetal/index.js +1250 -0
  5. package/dist/cdn-lecert/index.d.ts +76 -0
  6. package/dist/cdn-lecert/index.js +157 -0
  7. package/dist/cdn-origingroup/index.d.ts +237 -0
  8. package/dist/cdn-origingroup/index.js +560 -0
  9. package/dist/cdn-resource/index.d.ts +2223 -0
  10. package/dist/cdn-resource/index.js +5865 -0
  11. package/dist/cdn-rule/index.d.ts +2037 -0
  12. package/dist/cdn-rule/index.js +5381 -0
  13. package/dist/cdn-shielding/index.d.ts +64 -0
  14. package/dist/cdn-shielding/index.js +131 -0
  15. package/dist/cdn-sslcert/index.d.ts +76 -0
  16. package/dist/cdn-sslcert/index.js +159 -0
  17. package/dist/data-edgecenter-availability-zone/index.d.ts +67 -0
  18. package/dist/data-edgecenter-availability-zone/index.js +141 -0
  19. package/dist/data-edgecenter-cdn-shielding-location/index.d.ts +54 -0
  20. package/dist/data-edgecenter-cdn-shielding-location/index.js +111 -0
  21. package/dist/data-edgecenter-floatingip/index.d.ts +183 -0
  22. package/dist/data-edgecenter-floatingip/index.js +378 -0
  23. package/dist/data-edgecenter-image/index.d.ts +183 -0
  24. package/dist/data-edgecenter-image/index.js +378 -0
  25. package/dist/data-edgecenter-instance/index.d.ts +312 -0
  26. package/dist/data-edgecenter-instance/index.js +690 -0
  27. package/dist/data-edgecenter-instance-port-security/index.d.ts +110 -0
  28. package/dist/data-edgecenter-instance-port-security/index.js +231 -0
  29. package/dist/data-edgecenter-instance-v2/index.d.ts +222 -0
  30. package/dist/data-edgecenter-instance-v2/index.js +501 -0
  31. package/dist/data-edgecenter-k8s/index.d.ts +167 -0
  32. package/dist/data-edgecenter-k8s/index.js +412 -0
  33. package/dist/data-edgecenter-k8s-client-config/index.d.ts +100 -0
  34. package/dist/data-edgecenter-k8s-client-config/index.js +211 -0
  35. package/dist/data-edgecenter-k8s-pool/index.d.ts +120 -0
  36. package/dist/data-edgecenter-k8s-pool/index.js +271 -0
  37. package/dist/data-edgecenter-lb-l7policy/index.d.ts +114 -0
  38. package/dist/data-edgecenter-lb-l7policy/index.js +258 -0
  39. package/dist/data-edgecenter-lb-l7rule/index.d.ts +120 -0
  40. package/dist/data-edgecenter-lb-l7rule/index.js +262 -0
  41. package/dist/data-edgecenter-lblistener/index.d.ts +122 -0
  42. package/dist/data-edgecenter-lblistener/index.js +269 -0
  43. package/dist/data-edgecenter-lbpool/index.d.ts +204 -0
  44. package/dist/data-edgecenter-lbpool/index.js +454 -0
  45. package/dist/data-edgecenter-loadbalancer/index.d.ts +203 -0
  46. package/dist/data-edgecenter-loadbalancer/index.js +427 -0
  47. package/dist/data-edgecenter-loadbalancerv2/index.d.ts +169 -0
  48. package/dist/data-edgecenter-loadbalancerv2/index.js +343 -0
  49. package/dist/data-edgecenter-network/index.d.ts +270 -0
  50. package/dist/data-edgecenter-network/index.js +589 -0
  51. package/dist/data-edgecenter-project/index.d.ts +72 -0
  52. package/dist/data-edgecenter-project/index.js +153 -0
  53. package/dist/data-edgecenter-region/index.d.ts +54 -0
  54. package/dist/data-edgecenter-region/index.js +111 -0
  55. package/dist/data-edgecenter-reseller-images/index.d.ts +91 -0
  56. package/dist/data-edgecenter-reseller-images/index.js +198 -0
  57. package/dist/data-edgecenter-reseller-images-v2/index.d.ts +101 -0
  58. package/dist/data-edgecenter-reseller-images-v2/index.js +218 -0
  59. package/dist/data-edgecenter-reseller-networks/index.d.ts +269 -0
  60. package/dist/data-edgecenter-reseller-networks/index.js +610 -0
  61. package/dist/data-edgecenter-reservedfixedip/index.d.ts +141 -0
  62. package/dist/data-edgecenter-reservedfixedip/index.js +311 -0
  63. package/dist/data-edgecenter-router/index.d.ts +245 -0
  64. package/dist/data-edgecenter-router/index.js +538 -0
  65. package/dist/data-edgecenter-secret/index.d.ts +109 -0
  66. package/dist/data-edgecenter-secret/index.js +235 -0
  67. package/dist/data-edgecenter-securitygroup/index.d.ts +211 -0
  68. package/dist/data-edgecenter-securitygroup/index.js +450 -0
  69. package/dist/data-edgecenter-servergroup/index.d.ts +137 -0
  70. package/dist/data-edgecenter-servergroup/index.js +289 -0
  71. package/dist/data-edgecenter-snapshot/index.d.ts +129 -0
  72. package/dist/data-edgecenter-snapshot/index.js +281 -0
  73. package/dist/data-edgecenter-storage-s3/index.d.ts +71 -0
  74. package/dist/data-edgecenter-storage-s3/index.js +157 -0
  75. package/dist/data-edgecenter-storage-s3-bucket/index.d.ts +64 -0
  76. package/dist/data-edgecenter-storage-s3-bucket/index.js +131 -0
  77. package/dist/data-edgecenter-subnet/index.d.ts +253 -0
  78. package/dist/data-edgecenter-subnet/index.js +536 -0
  79. package/dist/data-edgecenter-useractions-subscription-amqp/index.d.ts +48 -0
  80. package/dist/data-edgecenter-useractions-subscription-amqp/index.js +107 -0
  81. package/dist/data-edgecenter-useractions-subscription-log/index.d.ts +47 -0
  82. package/dist/data-edgecenter-useractions-subscription-log/index.js +103 -0
  83. package/dist/data-edgecenter-volume/index.d.ts +169 -0
  84. package/dist/data-edgecenter-volume/index.js +343 -0
  85. package/dist/dns-zone/index.d.ts +54 -0
  86. package/dist/dns-zone/index.js +111 -0
  87. package/dist/dns-zone-record/index.d.ts +494 -0
  88. package/dist/dns-zone-record/index.js +1217 -0
  89. package/dist/floatingip/index.d.ts +185 -0
  90. package/dist/floatingip/index.js +394 -0
  91. package/dist/index.d.ts +83 -0
  92. package/dist/index.js +84 -0
  93. package/dist/instance/index.d.ts +830 -0
  94. package/dist/instance/index.js +1948 -0
  95. package/dist/instance-port-security/index.d.ts +229 -0
  96. package/dist/instance-port-security/index.js +564 -0
  97. package/dist/instance-v2/index.d.ts +552 -0
  98. package/dist/instance-v2/index.js +1244 -0
  99. package/dist/k8s/index.d.ts +342 -0
  100. package/dist/k8s/index.js +856 -0
  101. package/dist/k8s-pool/index.d.ts +227 -0
  102. package/dist/k8s-pool/index.js +514 -0
  103. package/dist/keypair/index.d.ts +88 -0
  104. package/dist/keypair/index.js +185 -0
  105. package/dist/lazy-index.d.ts +0 -0
  106. package/dist/lazy-index.js +84 -0
  107. package/dist/lb-l7policy/index.d.ts +244 -0
  108. package/dist/lb-l7policy/index.js +566 -0
  109. package/dist/lb-l7rule/index.d.ts +219 -0
  110. package/dist/lb-l7rule/index.js +506 -0
  111. package/dist/lblistener/index.d.ts +264 -0
  112. package/dist/lblistener/index.js +597 -0
  113. package/dist/lbmember/index.d.ts +207 -0
  114. package/dist/lbmember/index.js +473 -0
  115. package/dist/lbpool/index.d.ts +387 -0
  116. package/dist/lbpool/index.js +934 -0
  117. package/dist/lifecyclepolicy/index.d.ts +476 -0
  118. package/dist/lifecyclepolicy/index.js +1188 -0
  119. package/dist/loadbalancer/index.d.ts +341 -0
  120. package/dist/loadbalancer/index.js +851 -0
  121. package/dist/loadbalancerv2/index.d.ts +253 -0
  122. package/dist/loadbalancerv2/index.js +562 -0
  123. package/dist/network/index.d.ts +187 -0
  124. package/dist/network/index.js +382 -0
  125. package/dist/project/index.d.ts +68 -0
  126. package/dist/project/index.js +150 -0
  127. package/dist/protection-resource/index.d.ts +179 -0
  128. package/dist/protection-resource/index.js +381 -0
  129. package/dist/protection-resource-alias/index.d.ts +64 -0
  130. package/dist/protection-resource-alias/index.js +131 -0
  131. package/dist/protection-resource-alias-certificate/index.d.ts +88 -0
  132. package/dist/protection-resource-alias-certificate/index.js +185 -0
  133. package/dist/protection-resource-blacklist-entry/index.d.ts +64 -0
  134. package/dist/protection-resource-blacklist-entry/index.js +131 -0
  135. package/dist/protection-resource-certificate/index.d.ts +88 -0
  136. package/dist/protection-resource-certificate/index.js +185 -0
  137. package/dist/protection-resource-header/index.d.ts +74 -0
  138. package/dist/protection-resource-header/index.js +151 -0
  139. package/dist/protection-resource-origin/index.d.ts +119 -0
  140. package/dist/protection-resource-origin/index.js +246 -0
  141. package/dist/protection-resource-whitelist-entry/index.d.ts +64 -0
  142. package/dist/protection-resource-whitelist-entry/index.js +131 -0
  143. package/dist/provider/index.d.ts +182 -0
  144. package/dist/provider/index.js +384 -0
  145. package/dist/reseller-images/index.d.ts +120 -0
  146. package/dist/reseller-images/index.js +272 -0
  147. package/dist/reseller-images-v2/index.d.ts +130 -0
  148. package/dist/reseller-images-v2/index.js +292 -0
  149. package/dist/reservedfixedip/index.d.ts +230 -0
  150. package/dist/reservedfixedip/index.js +513 -0
  151. package/dist/router/index.d.ts +322 -0
  152. package/dist/router/index.js +755 -0
  153. package/dist/secret/index.d.ts +146 -0
  154. package/dist/secret/index.js +311 -0
  155. package/dist/securitygroup/index.d.ts +291 -0
  156. package/dist/securitygroup/index.js +654 -0
  157. package/dist/servergroup/index.d.ts +143 -0
  158. package/dist/servergroup/index.js +302 -0
  159. package/dist/snapshot/index.d.ts +185 -0
  160. package/dist/snapshot/index.js +383 -0
  161. package/dist/storage-s3/index.d.ts +141 -0
  162. package/dist/storage-s3/index.js +292 -0
  163. package/dist/storage-s3-bucket/index.d.ts +64 -0
  164. package/dist/storage-s3-bucket/index.js +131 -0
  165. package/dist/subnet/index.d.ts +346 -0
  166. package/dist/subnet/index.js +751 -0
  167. package/dist/useractions-subscription-amqp/index.d.ts +87 -0
  168. package/dist/useractions-subscription-amqp/index.js +180 -0
  169. package/dist/useractions-subscription-log/index.d.ts +74 -0
  170. package/dist/useractions-subscription-log/index.js +151 -0
  171. package/dist/volume/index.d.ts +208 -0
  172. package/dist/volume/index.js +424 -0
  173. package/package.json +51 -0
@@ -0,0 +1,1244 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_v2
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function instanceV2BootVolumesToTerraform(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
+ attachment_tag: cdktf.stringToTerraform(struct.attachmentTag),
13
+ boot_index: cdktf.numberToTerraform(struct.bootIndex),
14
+ volume_id: cdktf.stringToTerraform(struct.volumeId),
15
+ };
16
+ }
17
+ export function instanceV2BootVolumesToHclTerraform(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
+ attachment_tag: {
26
+ value: cdktf.stringToHclTerraform(struct.attachmentTag),
27
+ isBlock: false,
28
+ type: "simple",
29
+ storageClassType: "string",
30
+ },
31
+ boot_index: {
32
+ value: cdktf.numberToHclTerraform(struct.bootIndex),
33
+ isBlock: false,
34
+ type: "simple",
35
+ storageClassType: "number",
36
+ },
37
+ volume_id: {
38
+ value: cdktf.stringToHclTerraform(struct.volumeId),
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 InstanceV2BootVolumesOutputReference 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
+ * @param complexObjectIndex the index of this item in the list
54
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
55
+ */
56
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
57
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
58
+ }
59
+ get internalValue() {
60
+ if (this.resolvableValue) {
61
+ return this.resolvableValue;
62
+ }
63
+ let hasAnyValues = this.isEmptyObject;
64
+ const internalValueResult = {};
65
+ if (this._attachmentTag !== undefined) {
66
+ hasAnyValues = true;
67
+ internalValueResult.attachmentTag = this._attachmentTag;
68
+ }
69
+ if (this._bootIndex !== undefined) {
70
+ hasAnyValues = true;
71
+ internalValueResult.bootIndex = this._bootIndex;
72
+ }
73
+ if (this._volumeId !== undefined) {
74
+ hasAnyValues = true;
75
+ internalValueResult.volumeId = this._volumeId;
76
+ }
77
+ return hasAnyValues ? internalValueResult : undefined;
78
+ }
79
+ set internalValue(value) {
80
+ if (value === undefined) {
81
+ this.isEmptyObject = false;
82
+ this.resolvableValue = undefined;
83
+ this._attachmentTag = undefined;
84
+ this._bootIndex = undefined;
85
+ this._volumeId = undefined;
86
+ }
87
+ else if (cdktf.Tokenization.isResolvable(value)) {
88
+ this.isEmptyObject = false;
89
+ this.resolvableValue = value;
90
+ }
91
+ else {
92
+ this.isEmptyObject = Object.keys(value).length === 0;
93
+ this.resolvableValue = undefined;
94
+ this._attachmentTag = value.attachmentTag;
95
+ this._bootIndex = value.bootIndex;
96
+ this._volumeId = value.volumeId;
97
+ }
98
+ }
99
+ // attachment_tag - computed: false, optional: true, required: false
100
+ _attachmentTag;
101
+ get attachmentTag() {
102
+ return this.getStringAttribute('attachment_tag');
103
+ }
104
+ set attachmentTag(value) {
105
+ this._attachmentTag = value;
106
+ }
107
+ resetAttachmentTag() {
108
+ this._attachmentTag = undefined;
109
+ }
110
+ // Temporarily expose input value. Use with caution.
111
+ get attachmentTagInput() {
112
+ return this._attachmentTag;
113
+ }
114
+ // boot_index - computed: false, optional: false, required: true
115
+ _bootIndex;
116
+ get bootIndex() {
117
+ return this.getNumberAttribute('boot_index');
118
+ }
119
+ set bootIndex(value) {
120
+ this._bootIndex = value;
121
+ }
122
+ // Temporarily expose input value. Use with caution.
123
+ get bootIndexInput() {
124
+ return this._bootIndex;
125
+ }
126
+ // name - computed: true, optional: false, required: false
127
+ get name() {
128
+ return this.getStringAttribute('name');
129
+ }
130
+ // size - computed: true, optional: false, required: false
131
+ get size() {
132
+ return this.getNumberAttribute('size');
133
+ }
134
+ // type_name - computed: true, optional: false, required: false
135
+ get typeName() {
136
+ return this.getStringAttribute('type_name');
137
+ }
138
+ // volume_id - computed: false, optional: false, required: true
139
+ _volumeId;
140
+ get volumeId() {
141
+ return this.getStringAttribute('volume_id');
142
+ }
143
+ set volumeId(value) {
144
+ this._volumeId = value;
145
+ }
146
+ // Temporarily expose input value. Use with caution.
147
+ get volumeIdInput() {
148
+ return this._volumeId;
149
+ }
150
+ }
151
+ export class InstanceV2BootVolumesList extends cdktf.ComplexList {
152
+ terraformResource;
153
+ terraformAttribute;
154
+ wrapsSet;
155
+ internalValue;
156
+ /**
157
+ * @param terraformResource The parent resource
158
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
159
+ * @param wrapsSet 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, wrapsSet) {
162
+ super(terraformResource, terraformAttribute, wrapsSet);
163
+ this.terraformResource = terraformResource;
164
+ this.terraformAttribute = terraformAttribute;
165
+ this.wrapsSet = wrapsSet;
166
+ }
167
+ /**
168
+ * @param index the index of the item to return
169
+ */
170
+ get(index) {
171
+ return new InstanceV2BootVolumesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
172
+ }
173
+ }
174
+ export function instanceV2ConfigurationToTerraform(struct) {
175
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
176
+ return struct;
177
+ }
178
+ if (cdktf.isComplexElement(struct)) {
179
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
180
+ }
181
+ return {
182
+ key: cdktf.stringToTerraform(struct.key),
183
+ value: cdktf.stringToTerraform(struct.value),
184
+ };
185
+ }
186
+ export function instanceV2ConfigurationToHclTerraform(struct) {
187
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
188
+ return struct;
189
+ }
190
+ if (cdktf.isComplexElement(struct)) {
191
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
192
+ }
193
+ const attrs = {
194
+ key: {
195
+ value: cdktf.stringToHclTerraform(struct.key),
196
+ isBlock: false,
197
+ type: "simple",
198
+ storageClassType: "string",
199
+ },
200
+ value: {
201
+ value: cdktf.stringToHclTerraform(struct.value),
202
+ isBlock: false,
203
+ type: "simple",
204
+ storageClassType: "string",
205
+ },
206
+ };
207
+ // remove undefined attributes
208
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
209
+ }
210
+ export class InstanceV2ConfigurationOutputReference extends cdktf.ComplexObject {
211
+ isEmptyObject = false;
212
+ resolvableValue;
213
+ /**
214
+ * @param terraformResource The parent resource
215
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
216
+ * @param complexObjectIndex the index of this item in the list
217
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
218
+ */
219
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
220
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
221
+ }
222
+ get internalValue() {
223
+ if (this.resolvableValue) {
224
+ return this.resolvableValue;
225
+ }
226
+ let hasAnyValues = this.isEmptyObject;
227
+ const internalValueResult = {};
228
+ if (this._key !== undefined) {
229
+ hasAnyValues = true;
230
+ internalValueResult.key = this._key;
231
+ }
232
+ if (this._value !== undefined) {
233
+ hasAnyValues = true;
234
+ internalValueResult.value = this._value;
235
+ }
236
+ return hasAnyValues ? internalValueResult : undefined;
237
+ }
238
+ set internalValue(value) {
239
+ if (value === undefined) {
240
+ this.isEmptyObject = false;
241
+ this.resolvableValue = undefined;
242
+ this._key = undefined;
243
+ this._value = undefined;
244
+ }
245
+ else if (cdktf.Tokenization.isResolvable(value)) {
246
+ this.isEmptyObject = false;
247
+ this.resolvableValue = value;
248
+ }
249
+ else {
250
+ this.isEmptyObject = Object.keys(value).length === 0;
251
+ this.resolvableValue = undefined;
252
+ this._key = value.key;
253
+ this._value = value.value;
254
+ }
255
+ }
256
+ // key - computed: false, optional: false, required: true
257
+ _key;
258
+ get key() {
259
+ return this.getStringAttribute('key');
260
+ }
261
+ set key(value) {
262
+ this._key = value;
263
+ }
264
+ // Temporarily expose input value. Use with caution.
265
+ get keyInput() {
266
+ return this._key;
267
+ }
268
+ // value - computed: false, optional: false, required: true
269
+ _value;
270
+ get value() {
271
+ return this.getStringAttribute('value');
272
+ }
273
+ set value(value) {
274
+ this._value = value;
275
+ }
276
+ // Temporarily expose input value. Use with caution.
277
+ get valueInput() {
278
+ return this._value;
279
+ }
280
+ }
281
+ export class InstanceV2ConfigurationList extends cdktf.ComplexList {
282
+ terraformResource;
283
+ terraformAttribute;
284
+ wrapsSet;
285
+ internalValue;
286
+ /**
287
+ * @param terraformResource The parent resource
288
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
289
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
290
+ */
291
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
292
+ super(terraformResource, terraformAttribute, wrapsSet);
293
+ this.terraformResource = terraformResource;
294
+ this.terraformAttribute = terraformAttribute;
295
+ this.wrapsSet = wrapsSet;
296
+ }
297
+ /**
298
+ * @param index the index of the item to return
299
+ */
300
+ get(index) {
301
+ return new InstanceV2ConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
302
+ }
303
+ }
304
+ export function instanceV2DataVolumesToTerraform(struct) {
305
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
306
+ return struct;
307
+ }
308
+ if (cdktf.isComplexElement(struct)) {
309
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
310
+ }
311
+ return {
312
+ attachment_tag: cdktf.stringToTerraform(struct.attachmentTag),
313
+ volume_id: cdktf.stringToTerraform(struct.volumeId),
314
+ };
315
+ }
316
+ export function instanceV2DataVolumesToHclTerraform(struct) {
317
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
318
+ return struct;
319
+ }
320
+ if (cdktf.isComplexElement(struct)) {
321
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
322
+ }
323
+ const attrs = {
324
+ attachment_tag: {
325
+ value: cdktf.stringToHclTerraform(struct.attachmentTag),
326
+ isBlock: false,
327
+ type: "simple",
328
+ storageClassType: "string",
329
+ },
330
+ volume_id: {
331
+ value: cdktf.stringToHclTerraform(struct.volumeId),
332
+ isBlock: false,
333
+ type: "simple",
334
+ storageClassType: "string",
335
+ },
336
+ };
337
+ // remove undefined attributes
338
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
339
+ }
340
+ export class InstanceV2DataVolumesOutputReference extends cdktf.ComplexObject {
341
+ isEmptyObject = false;
342
+ resolvableValue;
343
+ /**
344
+ * @param terraformResource The parent resource
345
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
346
+ * @param complexObjectIndex the index of this item in the list
347
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
348
+ */
349
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
350
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
351
+ }
352
+ get internalValue() {
353
+ if (this.resolvableValue) {
354
+ return this.resolvableValue;
355
+ }
356
+ let hasAnyValues = this.isEmptyObject;
357
+ const internalValueResult = {};
358
+ if (this._attachmentTag !== undefined) {
359
+ hasAnyValues = true;
360
+ internalValueResult.attachmentTag = this._attachmentTag;
361
+ }
362
+ if (this._volumeId !== undefined) {
363
+ hasAnyValues = true;
364
+ internalValueResult.volumeId = this._volumeId;
365
+ }
366
+ return hasAnyValues ? internalValueResult : undefined;
367
+ }
368
+ set internalValue(value) {
369
+ if (value === undefined) {
370
+ this.isEmptyObject = false;
371
+ this.resolvableValue = undefined;
372
+ this._attachmentTag = undefined;
373
+ this._volumeId = undefined;
374
+ }
375
+ else if (cdktf.Tokenization.isResolvable(value)) {
376
+ this.isEmptyObject = false;
377
+ this.resolvableValue = value;
378
+ }
379
+ else {
380
+ this.isEmptyObject = Object.keys(value).length === 0;
381
+ this.resolvableValue = undefined;
382
+ this._attachmentTag = value.attachmentTag;
383
+ this._volumeId = value.volumeId;
384
+ }
385
+ }
386
+ // attachment_tag - computed: false, optional: true, required: false
387
+ _attachmentTag;
388
+ get attachmentTag() {
389
+ return this.getStringAttribute('attachment_tag');
390
+ }
391
+ set attachmentTag(value) {
392
+ this._attachmentTag = value;
393
+ }
394
+ resetAttachmentTag() {
395
+ this._attachmentTag = undefined;
396
+ }
397
+ // Temporarily expose input value. Use with caution.
398
+ get attachmentTagInput() {
399
+ return this._attachmentTag;
400
+ }
401
+ // name - computed: true, optional: false, required: false
402
+ get name() {
403
+ return this.getStringAttribute('name');
404
+ }
405
+ // size - computed: true, optional: false, required: false
406
+ get size() {
407
+ return this.getNumberAttribute('size');
408
+ }
409
+ // type_name - computed: true, optional: false, required: false
410
+ get typeName() {
411
+ return this.getStringAttribute('type_name');
412
+ }
413
+ // volume_id - computed: false, optional: false, required: true
414
+ _volumeId;
415
+ get volumeId() {
416
+ return this.getStringAttribute('volume_id');
417
+ }
418
+ set volumeId(value) {
419
+ this._volumeId = value;
420
+ }
421
+ // Temporarily expose input value. Use with caution.
422
+ get volumeIdInput() {
423
+ return this._volumeId;
424
+ }
425
+ }
426
+ export class InstanceV2DataVolumesList extends cdktf.ComplexList {
427
+ terraformResource;
428
+ terraformAttribute;
429
+ wrapsSet;
430
+ internalValue;
431
+ /**
432
+ * @param terraformResource The parent resource
433
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
434
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
435
+ */
436
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
437
+ super(terraformResource, terraformAttribute, wrapsSet);
438
+ this.terraformResource = terraformResource;
439
+ this.terraformAttribute = terraformAttribute;
440
+ this.wrapsSet = wrapsSet;
441
+ }
442
+ /**
443
+ * @param index the index of the item to return
444
+ */
445
+ get(index) {
446
+ return new InstanceV2DataVolumesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
447
+ }
448
+ }
449
+ export function instanceV2InterfacesToTerraform(struct) {
450
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
451
+ return struct;
452
+ }
453
+ if (cdktf.isComplexElement(struct)) {
454
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
455
+ }
456
+ return {
457
+ is_default: cdktf.booleanToTerraform(struct.isDefault),
458
+ network_id: cdktf.stringToTerraform(struct.networkId),
459
+ reserved_fixed_ip_port_id: cdktf.stringToTerraform(struct.reservedFixedIpPortId),
460
+ subnet_id: cdktf.stringToTerraform(struct.subnetId),
461
+ type: cdktf.stringToTerraform(struct.type),
462
+ };
463
+ }
464
+ export function instanceV2InterfacesToHclTerraform(struct) {
465
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
466
+ return struct;
467
+ }
468
+ if (cdktf.isComplexElement(struct)) {
469
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
470
+ }
471
+ const attrs = {
472
+ is_default: {
473
+ value: cdktf.booleanToHclTerraform(struct.isDefault),
474
+ isBlock: false,
475
+ type: "simple",
476
+ storageClassType: "boolean",
477
+ },
478
+ network_id: {
479
+ value: cdktf.stringToHclTerraform(struct.networkId),
480
+ isBlock: false,
481
+ type: "simple",
482
+ storageClassType: "string",
483
+ },
484
+ reserved_fixed_ip_port_id: {
485
+ value: cdktf.stringToHclTerraform(struct.reservedFixedIpPortId),
486
+ isBlock: false,
487
+ type: "simple",
488
+ storageClassType: "string",
489
+ },
490
+ subnet_id: {
491
+ value: cdktf.stringToHclTerraform(struct.subnetId),
492
+ isBlock: false,
493
+ type: "simple",
494
+ storageClassType: "string",
495
+ },
496
+ type: {
497
+ value: cdktf.stringToHclTerraform(struct.type),
498
+ isBlock: false,
499
+ type: "simple",
500
+ storageClassType: "string",
501
+ },
502
+ };
503
+ // remove undefined attributes
504
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
505
+ }
506
+ export class InstanceV2InterfacesOutputReference extends cdktf.ComplexObject {
507
+ isEmptyObject = false;
508
+ resolvableValue;
509
+ /**
510
+ * @param terraformResource The parent resource
511
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
512
+ * @param complexObjectIndex the index of this item in the list
513
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
514
+ */
515
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
516
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
517
+ }
518
+ get internalValue() {
519
+ if (this.resolvableValue) {
520
+ return this.resolvableValue;
521
+ }
522
+ let hasAnyValues = this.isEmptyObject;
523
+ const internalValueResult = {};
524
+ if (this._isDefault !== undefined) {
525
+ hasAnyValues = true;
526
+ internalValueResult.isDefault = this._isDefault;
527
+ }
528
+ if (this._networkId !== undefined) {
529
+ hasAnyValues = true;
530
+ internalValueResult.networkId = this._networkId;
531
+ }
532
+ if (this._reservedFixedIpPortId !== undefined) {
533
+ hasAnyValues = true;
534
+ internalValueResult.reservedFixedIpPortId = this._reservedFixedIpPortId;
535
+ }
536
+ if (this._subnetId !== undefined) {
537
+ hasAnyValues = true;
538
+ internalValueResult.subnetId = this._subnetId;
539
+ }
540
+ if (this._type !== undefined) {
541
+ hasAnyValues = true;
542
+ internalValueResult.type = this._type;
543
+ }
544
+ return hasAnyValues ? internalValueResult : undefined;
545
+ }
546
+ set internalValue(value) {
547
+ if (value === undefined) {
548
+ this.isEmptyObject = false;
549
+ this.resolvableValue = undefined;
550
+ this._isDefault = undefined;
551
+ this._networkId = undefined;
552
+ this._reservedFixedIpPortId = undefined;
553
+ this._subnetId = undefined;
554
+ this._type = undefined;
555
+ }
556
+ else if (cdktf.Tokenization.isResolvable(value)) {
557
+ this.isEmptyObject = false;
558
+ this.resolvableValue = value;
559
+ }
560
+ else {
561
+ this.isEmptyObject = Object.keys(value).length === 0;
562
+ this.resolvableValue = undefined;
563
+ this._isDefault = value.isDefault;
564
+ this._networkId = value.networkId;
565
+ this._reservedFixedIpPortId = value.reservedFixedIpPortId;
566
+ this._subnetId = value.subnetId;
567
+ this._type = value.type;
568
+ }
569
+ }
570
+ // ip_address - computed: true, optional: false, required: false
571
+ get ipAddress() {
572
+ return this.getStringAttribute('ip_address');
573
+ }
574
+ // is_default - computed: false, optional: true, required: false
575
+ _isDefault;
576
+ get isDefault() {
577
+ return this.getBooleanAttribute('is_default');
578
+ }
579
+ set isDefault(value) {
580
+ this._isDefault = value;
581
+ }
582
+ resetIsDefault() {
583
+ this._isDefault = undefined;
584
+ }
585
+ // Temporarily expose input value. Use with caution.
586
+ get isDefaultInput() {
587
+ return this._isDefault;
588
+ }
589
+ // network_id - computed: false, optional: true, required: false
590
+ _networkId;
591
+ get networkId() {
592
+ return this.getStringAttribute('network_id');
593
+ }
594
+ set networkId(value) {
595
+ this._networkId = value;
596
+ }
597
+ resetNetworkId() {
598
+ this._networkId = undefined;
599
+ }
600
+ // Temporarily expose input value. Use with caution.
601
+ get networkIdInput() {
602
+ return this._networkId;
603
+ }
604
+ // network_name - computed: true, optional: false, required: false
605
+ get networkName() {
606
+ return this.getStringAttribute('network_name');
607
+ }
608
+ // port_id - computed: true, optional: false, required: false
609
+ get portId() {
610
+ return this.getStringAttribute('port_id');
611
+ }
612
+ // reserved_fixed_ip_port_id - computed: false, optional: true, required: false
613
+ _reservedFixedIpPortId;
614
+ get reservedFixedIpPortId() {
615
+ return this.getStringAttribute('reserved_fixed_ip_port_id');
616
+ }
617
+ set reservedFixedIpPortId(value) {
618
+ this._reservedFixedIpPortId = value;
619
+ }
620
+ resetReservedFixedIpPortId() {
621
+ this._reservedFixedIpPortId = undefined;
622
+ }
623
+ // Temporarily expose input value. Use with caution.
624
+ get reservedFixedIpPortIdInput() {
625
+ return this._reservedFixedIpPortId;
626
+ }
627
+ // subnet_id - computed: false, optional: true, required: false
628
+ _subnetId;
629
+ get subnetId() {
630
+ return this.getStringAttribute('subnet_id');
631
+ }
632
+ set subnetId(value) {
633
+ this._subnetId = value;
634
+ }
635
+ resetSubnetId() {
636
+ this._subnetId = undefined;
637
+ }
638
+ // Temporarily expose input value. Use with caution.
639
+ get subnetIdInput() {
640
+ return this._subnetId;
641
+ }
642
+ // type - computed: false, optional: false, required: true
643
+ _type;
644
+ get type() {
645
+ return this.getStringAttribute('type');
646
+ }
647
+ set type(value) {
648
+ this._type = value;
649
+ }
650
+ // Temporarily expose input value. Use with caution.
651
+ get typeInput() {
652
+ return this._type;
653
+ }
654
+ }
655
+ export class InstanceV2InterfacesList extends cdktf.ComplexList {
656
+ terraformResource;
657
+ terraformAttribute;
658
+ wrapsSet;
659
+ internalValue;
660
+ /**
661
+ * @param terraformResource The parent resource
662
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
663
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
664
+ */
665
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
666
+ super(terraformResource, terraformAttribute, wrapsSet);
667
+ this.terraformResource = terraformResource;
668
+ this.terraformAttribute = terraformAttribute;
669
+ this.wrapsSet = wrapsSet;
670
+ }
671
+ /**
672
+ * @param index the index of the item to return
673
+ */
674
+ get(index) {
675
+ return new InstanceV2InterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
676
+ }
677
+ }
678
+ /**
679
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_v2 edgecenter_instanceV2}
680
+ */
681
+ export class InstanceV2 extends cdktf.TerraformResource {
682
+ // =================
683
+ // STATIC PROPERTIES
684
+ // =================
685
+ static tfResourceType = "edgecenter_instanceV2";
686
+ // ==============
687
+ // STATIC Methods
688
+ // ==============
689
+ /**
690
+ * Generates CDKTF code for importing a InstanceV2 resource upon running "cdktf plan <stack-name>"
691
+ * @param scope The scope in which to define this construct
692
+ * @param importToId The construct id used in the generated config for the InstanceV2 to import
693
+ * @param importFromId The id of the existing InstanceV2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_v2#import import section} in the documentation of this resource for the id to use
694
+ * @param provider? Optional instance of the provider where the InstanceV2 to import is found
695
+ */
696
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
697
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_instanceV2", importId: importFromId, provider });
698
+ }
699
+ // ===========
700
+ // INITIALIZER
701
+ // ===========
702
+ /**
703
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/instance_v2 edgecenter_instanceV2} Resource
704
+ *
705
+ * @param scope The scope in which to define this construct
706
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
707
+ * @param options InstanceV2Config
708
+ */
709
+ constructor(scope, id, config) {
710
+ super(scope, id, {
711
+ terraformResourceType: 'edgecenter_instanceV2',
712
+ terraformGeneratorMetadata: {
713
+ providerName: 'edgecenter',
714
+ providerVersion: '0.10.4',
715
+ providerVersionConstraint: '0.10.4'
716
+ },
717
+ provider: config.provider,
718
+ dependsOn: config.dependsOn,
719
+ count: config.count,
720
+ lifecycle: config.lifecycle,
721
+ provisioners: config.provisioners,
722
+ connection: config.connection,
723
+ forEach: config.forEach
724
+ });
725
+ this._allowAppPorts = config.allowAppPorts;
726
+ this._availabilityZone = config.availabilityZone;
727
+ this._flavorId = config.flavorId;
728
+ this._id = config.id;
729
+ this._keypairName = config.keypairName;
730
+ this._metadata = config.metadata;
731
+ this._name = config.name;
732
+ this._nameTemplate = config.nameTemplate;
733
+ this._password = config.password;
734
+ this._projectId = config.projectId;
735
+ this._projectName = config.projectName;
736
+ this._regionId = config.regionId;
737
+ this._regionName = config.regionName;
738
+ this._serverGroup = config.serverGroup;
739
+ this._status = config.status;
740
+ this._userData = config.userData;
741
+ this._username = config.username;
742
+ this._vmState = config.vmState;
743
+ this._bootVolumes.internalValue = config.bootVolumes;
744
+ this._configuration.internalValue = config.configuration;
745
+ this._dataVolumes.internalValue = config.dataVolumes;
746
+ this._interfaces.internalValue = config.interfaces;
747
+ }
748
+ // ==========
749
+ // ATTRIBUTES
750
+ // ==========
751
+ // allow_app_ports - computed: false, optional: true, required: false
752
+ _allowAppPorts;
753
+ get allowAppPorts() {
754
+ return this.getBooleanAttribute('allow_app_ports');
755
+ }
756
+ set allowAppPorts(value) {
757
+ this._allowAppPorts = value;
758
+ }
759
+ resetAllowAppPorts() {
760
+ this._allowAppPorts = undefined;
761
+ }
762
+ // Temporarily expose input value. Use with caution.
763
+ get allowAppPortsInput() {
764
+ return this._allowAppPorts;
765
+ }
766
+ // availability_zone - computed: true, optional: true, required: false
767
+ _availabilityZone;
768
+ get availabilityZone() {
769
+ return this.getStringAttribute('availability_zone');
770
+ }
771
+ set availabilityZone(value) {
772
+ this._availabilityZone = value;
773
+ }
774
+ resetAvailabilityZone() {
775
+ this._availabilityZone = undefined;
776
+ }
777
+ // Temporarily expose input value. Use with caution.
778
+ get availabilityZoneInput() {
779
+ return this._availabilityZone;
780
+ }
781
+ // flavor - computed: true, optional: false, required: false
782
+ _flavor = new cdktf.StringMap(this, "flavor");
783
+ get flavor() {
784
+ return this._flavor;
785
+ }
786
+ // flavor_id - computed: false, optional: false, required: true
787
+ _flavorId;
788
+ get flavorId() {
789
+ return this.getStringAttribute('flavor_id');
790
+ }
791
+ set flavorId(value) {
792
+ this._flavorId = value;
793
+ }
794
+ // Temporarily expose input value. Use with caution.
795
+ get flavorIdInput() {
796
+ return this._flavorId;
797
+ }
798
+ // id - computed: true, optional: true, required: false
799
+ _id;
800
+ get id() {
801
+ return this.getStringAttribute('id');
802
+ }
803
+ set id(value) {
804
+ this._id = value;
805
+ }
806
+ resetId() {
807
+ this._id = undefined;
808
+ }
809
+ // Temporarily expose input value. Use with caution.
810
+ get idInput() {
811
+ return this._id;
812
+ }
813
+ // keypair_name - computed: false, optional: true, required: false
814
+ _keypairName;
815
+ get keypairName() {
816
+ return this.getStringAttribute('keypair_name');
817
+ }
818
+ set keypairName(value) {
819
+ this._keypairName = value;
820
+ }
821
+ resetKeypairName() {
822
+ this._keypairName = undefined;
823
+ }
824
+ // Temporarily expose input value. Use with caution.
825
+ get keypairNameInput() {
826
+ return this._keypairName;
827
+ }
828
+ // metadata - computed: false, optional: true, required: false
829
+ _metadata;
830
+ get metadata() {
831
+ return this.getStringMapAttribute('metadata');
832
+ }
833
+ set metadata(value) {
834
+ this._metadata = value;
835
+ }
836
+ resetMetadata() {
837
+ this._metadata = undefined;
838
+ }
839
+ // Temporarily expose input value. Use with caution.
840
+ get metadataInput() {
841
+ return this._metadata;
842
+ }
843
+ // name - computed: true, optional: true, required: false
844
+ _name;
845
+ get name() {
846
+ return this.getStringAttribute('name');
847
+ }
848
+ set name(value) {
849
+ this._name = value;
850
+ }
851
+ resetName() {
852
+ this._name = undefined;
853
+ }
854
+ // Temporarily expose input value. Use with caution.
855
+ get nameInput() {
856
+ return this._name;
857
+ }
858
+ // name_template - computed: false, optional: true, required: false
859
+ _nameTemplate;
860
+ get nameTemplate() {
861
+ return this.getStringAttribute('name_template');
862
+ }
863
+ set nameTemplate(value) {
864
+ this._nameTemplate = value;
865
+ }
866
+ resetNameTemplate() {
867
+ this._nameTemplate = undefined;
868
+ }
869
+ // Temporarily expose input value. Use with caution.
870
+ get nameTemplateInput() {
871
+ return this._nameTemplate;
872
+ }
873
+ // password - computed: false, optional: true, required: false
874
+ _password;
875
+ get password() {
876
+ return this.getStringAttribute('password');
877
+ }
878
+ set password(value) {
879
+ this._password = value;
880
+ }
881
+ resetPassword() {
882
+ this._password = undefined;
883
+ }
884
+ // Temporarily expose input value. Use with caution.
885
+ get passwordInput() {
886
+ return this._password;
887
+ }
888
+ // project_id - computed: true, optional: true, required: false
889
+ _projectId;
890
+ get projectId() {
891
+ return this.getNumberAttribute('project_id');
892
+ }
893
+ set projectId(value) {
894
+ this._projectId = value;
895
+ }
896
+ resetProjectId() {
897
+ this._projectId = undefined;
898
+ }
899
+ // Temporarily expose input value. Use with caution.
900
+ get projectIdInput() {
901
+ return this._projectId;
902
+ }
903
+ // project_name - computed: true, optional: true, required: false
904
+ _projectName;
905
+ get projectName() {
906
+ return this.getStringAttribute('project_name');
907
+ }
908
+ set projectName(value) {
909
+ this._projectName = value;
910
+ }
911
+ resetProjectName() {
912
+ this._projectName = undefined;
913
+ }
914
+ // Temporarily expose input value. Use with caution.
915
+ get projectNameInput() {
916
+ return this._projectName;
917
+ }
918
+ // region_id - computed: true, optional: true, required: false
919
+ _regionId;
920
+ get regionId() {
921
+ return this.getNumberAttribute('region_id');
922
+ }
923
+ set regionId(value) {
924
+ this._regionId = value;
925
+ }
926
+ resetRegionId() {
927
+ this._regionId = undefined;
928
+ }
929
+ // Temporarily expose input value. Use with caution.
930
+ get regionIdInput() {
931
+ return this._regionId;
932
+ }
933
+ // region_name - computed: true, optional: true, required: false
934
+ _regionName;
935
+ get regionName() {
936
+ return this.getStringAttribute('region_name');
937
+ }
938
+ set regionName(value) {
939
+ this._regionName = value;
940
+ }
941
+ resetRegionName() {
942
+ this._regionName = undefined;
943
+ }
944
+ // Temporarily expose input value. Use with caution.
945
+ get regionNameInput() {
946
+ return this._regionName;
947
+ }
948
+ // server_group - computed: false, optional: true, required: false
949
+ _serverGroup;
950
+ get serverGroup() {
951
+ return this.getStringAttribute('server_group');
952
+ }
953
+ set serverGroup(value) {
954
+ this._serverGroup = value;
955
+ }
956
+ resetServerGroup() {
957
+ this._serverGroup = undefined;
958
+ }
959
+ // Temporarily expose input value. Use with caution.
960
+ get serverGroupInput() {
961
+ return this._serverGroup;
962
+ }
963
+ // status - computed: true, optional: true, required: false
964
+ _status;
965
+ get status() {
966
+ return this.getStringAttribute('status');
967
+ }
968
+ set status(value) {
969
+ this._status = value;
970
+ }
971
+ resetStatus() {
972
+ this._status = undefined;
973
+ }
974
+ // Temporarily expose input value. Use with caution.
975
+ get statusInput() {
976
+ return this._status;
977
+ }
978
+ // user_data - computed: false, optional: true, required: false
979
+ _userData;
980
+ get userData() {
981
+ return this.getStringAttribute('user_data');
982
+ }
983
+ set userData(value) {
984
+ this._userData = value;
985
+ }
986
+ resetUserData() {
987
+ this._userData = undefined;
988
+ }
989
+ // Temporarily expose input value. Use with caution.
990
+ get userDataInput() {
991
+ return this._userData;
992
+ }
993
+ // username - computed: false, optional: true, required: false
994
+ _username;
995
+ get username() {
996
+ return this.getStringAttribute('username');
997
+ }
998
+ set username(value) {
999
+ this._username = value;
1000
+ }
1001
+ resetUsername() {
1002
+ this._username = undefined;
1003
+ }
1004
+ // Temporarily expose input value. Use with caution.
1005
+ get usernameInput() {
1006
+ return this._username;
1007
+ }
1008
+ // vm_state - computed: true, optional: true, required: false
1009
+ _vmState;
1010
+ get vmState() {
1011
+ return this.getStringAttribute('vm_state');
1012
+ }
1013
+ set vmState(value) {
1014
+ this._vmState = value;
1015
+ }
1016
+ resetVmState() {
1017
+ this._vmState = undefined;
1018
+ }
1019
+ // Temporarily expose input value. Use with caution.
1020
+ get vmStateInput() {
1021
+ return this._vmState;
1022
+ }
1023
+ // boot_volumes - computed: false, optional: false, required: true
1024
+ _bootVolumes = new InstanceV2BootVolumesList(this, "boot_volumes", true);
1025
+ get bootVolumes() {
1026
+ return this._bootVolumes;
1027
+ }
1028
+ putBootVolumes(value) {
1029
+ this._bootVolumes.internalValue = value;
1030
+ }
1031
+ // Temporarily expose input value. Use with caution.
1032
+ get bootVolumesInput() {
1033
+ return this._bootVolumes.internalValue;
1034
+ }
1035
+ // configuration - computed: false, optional: true, required: false
1036
+ _configuration = new InstanceV2ConfigurationList(this, "configuration", false);
1037
+ get configuration() {
1038
+ return this._configuration;
1039
+ }
1040
+ putConfiguration(value) {
1041
+ this._configuration.internalValue = value;
1042
+ }
1043
+ resetConfiguration() {
1044
+ this._configuration.internalValue = undefined;
1045
+ }
1046
+ // Temporarily expose input value. Use with caution.
1047
+ get configurationInput() {
1048
+ return this._configuration.internalValue;
1049
+ }
1050
+ // data_volumes - computed: false, optional: true, required: false
1051
+ _dataVolumes = new InstanceV2DataVolumesList(this, "data_volumes", true);
1052
+ get dataVolumes() {
1053
+ return this._dataVolumes;
1054
+ }
1055
+ putDataVolumes(value) {
1056
+ this._dataVolumes.internalValue = value;
1057
+ }
1058
+ resetDataVolumes() {
1059
+ this._dataVolumes.internalValue = undefined;
1060
+ }
1061
+ // Temporarily expose input value. Use with caution.
1062
+ get dataVolumesInput() {
1063
+ return this._dataVolumes.internalValue;
1064
+ }
1065
+ // interfaces - computed: false, optional: false, required: true
1066
+ _interfaces = new InstanceV2InterfacesList(this, "interfaces", true);
1067
+ get interfaces() {
1068
+ return this._interfaces;
1069
+ }
1070
+ putInterfaces(value) {
1071
+ this._interfaces.internalValue = value;
1072
+ }
1073
+ // Temporarily expose input value. Use with caution.
1074
+ get interfacesInput() {
1075
+ return this._interfaces.internalValue;
1076
+ }
1077
+ // =========
1078
+ // SYNTHESIS
1079
+ // =========
1080
+ synthesizeAttributes() {
1081
+ return {
1082
+ allow_app_ports: cdktf.booleanToTerraform(this._allowAppPorts),
1083
+ availability_zone: cdktf.stringToTerraform(this._availabilityZone),
1084
+ flavor_id: cdktf.stringToTerraform(this._flavorId),
1085
+ id: cdktf.stringToTerraform(this._id),
1086
+ keypair_name: cdktf.stringToTerraform(this._keypairName),
1087
+ metadata: cdktf.hashMapper(cdktf.stringToTerraform)(this._metadata),
1088
+ name: cdktf.stringToTerraform(this._name),
1089
+ name_template: cdktf.stringToTerraform(this._nameTemplate),
1090
+ password: cdktf.stringToTerraform(this._password),
1091
+ project_id: cdktf.numberToTerraform(this._projectId),
1092
+ project_name: cdktf.stringToTerraform(this._projectName),
1093
+ region_id: cdktf.numberToTerraform(this._regionId),
1094
+ region_name: cdktf.stringToTerraform(this._regionName),
1095
+ server_group: cdktf.stringToTerraform(this._serverGroup),
1096
+ status: cdktf.stringToTerraform(this._status),
1097
+ user_data: cdktf.stringToTerraform(this._userData),
1098
+ username: cdktf.stringToTerraform(this._username),
1099
+ vm_state: cdktf.stringToTerraform(this._vmState),
1100
+ boot_volumes: cdktf.listMapper(instanceV2BootVolumesToTerraform, true)(this._bootVolumes.internalValue),
1101
+ configuration: cdktf.listMapper(instanceV2ConfigurationToTerraform, true)(this._configuration.internalValue),
1102
+ data_volumes: cdktf.listMapper(instanceV2DataVolumesToTerraform, true)(this._dataVolumes.internalValue),
1103
+ interfaces: cdktf.listMapper(instanceV2InterfacesToTerraform, true)(this._interfaces.internalValue),
1104
+ };
1105
+ }
1106
+ synthesizeHclAttributes() {
1107
+ const attrs = {
1108
+ allow_app_ports: {
1109
+ value: cdktf.booleanToHclTerraform(this._allowAppPorts),
1110
+ isBlock: false,
1111
+ type: "simple",
1112
+ storageClassType: "boolean",
1113
+ },
1114
+ availability_zone: {
1115
+ value: cdktf.stringToHclTerraform(this._availabilityZone),
1116
+ isBlock: false,
1117
+ type: "simple",
1118
+ storageClassType: "string",
1119
+ },
1120
+ flavor_id: {
1121
+ value: cdktf.stringToHclTerraform(this._flavorId),
1122
+ isBlock: false,
1123
+ type: "simple",
1124
+ storageClassType: "string",
1125
+ },
1126
+ id: {
1127
+ value: cdktf.stringToHclTerraform(this._id),
1128
+ isBlock: false,
1129
+ type: "simple",
1130
+ storageClassType: "string",
1131
+ },
1132
+ keypair_name: {
1133
+ value: cdktf.stringToHclTerraform(this._keypairName),
1134
+ isBlock: false,
1135
+ type: "simple",
1136
+ storageClassType: "string",
1137
+ },
1138
+ metadata: {
1139
+ value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._metadata),
1140
+ isBlock: false,
1141
+ type: "map",
1142
+ storageClassType: "stringMap",
1143
+ },
1144
+ name: {
1145
+ value: cdktf.stringToHclTerraform(this._name),
1146
+ isBlock: false,
1147
+ type: "simple",
1148
+ storageClassType: "string",
1149
+ },
1150
+ name_template: {
1151
+ value: cdktf.stringToHclTerraform(this._nameTemplate),
1152
+ isBlock: false,
1153
+ type: "simple",
1154
+ storageClassType: "string",
1155
+ },
1156
+ password: {
1157
+ value: cdktf.stringToHclTerraform(this._password),
1158
+ isBlock: false,
1159
+ type: "simple",
1160
+ storageClassType: "string",
1161
+ },
1162
+ project_id: {
1163
+ value: cdktf.numberToHclTerraform(this._projectId),
1164
+ isBlock: false,
1165
+ type: "simple",
1166
+ storageClassType: "number",
1167
+ },
1168
+ project_name: {
1169
+ value: cdktf.stringToHclTerraform(this._projectName),
1170
+ isBlock: false,
1171
+ type: "simple",
1172
+ storageClassType: "string",
1173
+ },
1174
+ region_id: {
1175
+ value: cdktf.numberToHclTerraform(this._regionId),
1176
+ isBlock: false,
1177
+ type: "simple",
1178
+ storageClassType: "number",
1179
+ },
1180
+ region_name: {
1181
+ value: cdktf.stringToHclTerraform(this._regionName),
1182
+ isBlock: false,
1183
+ type: "simple",
1184
+ storageClassType: "string",
1185
+ },
1186
+ server_group: {
1187
+ value: cdktf.stringToHclTerraform(this._serverGroup),
1188
+ isBlock: false,
1189
+ type: "simple",
1190
+ storageClassType: "string",
1191
+ },
1192
+ status: {
1193
+ value: cdktf.stringToHclTerraform(this._status),
1194
+ isBlock: false,
1195
+ type: "simple",
1196
+ storageClassType: "string",
1197
+ },
1198
+ user_data: {
1199
+ value: cdktf.stringToHclTerraform(this._userData),
1200
+ isBlock: false,
1201
+ type: "simple",
1202
+ storageClassType: "string",
1203
+ },
1204
+ username: {
1205
+ value: cdktf.stringToHclTerraform(this._username),
1206
+ isBlock: false,
1207
+ type: "simple",
1208
+ storageClassType: "string",
1209
+ },
1210
+ vm_state: {
1211
+ value: cdktf.stringToHclTerraform(this._vmState),
1212
+ isBlock: false,
1213
+ type: "simple",
1214
+ storageClassType: "string",
1215
+ },
1216
+ boot_volumes: {
1217
+ value: cdktf.listMapperHcl(instanceV2BootVolumesToHclTerraform, true)(this._bootVolumes.internalValue),
1218
+ isBlock: true,
1219
+ type: "set",
1220
+ storageClassType: "InstanceV2BootVolumesList",
1221
+ },
1222
+ configuration: {
1223
+ value: cdktf.listMapperHcl(instanceV2ConfigurationToHclTerraform, true)(this._configuration.internalValue),
1224
+ isBlock: true,
1225
+ type: "list",
1226
+ storageClassType: "InstanceV2ConfigurationList",
1227
+ },
1228
+ data_volumes: {
1229
+ value: cdktf.listMapperHcl(instanceV2DataVolumesToHclTerraform, true)(this._dataVolumes.internalValue),
1230
+ isBlock: true,
1231
+ type: "set",
1232
+ storageClassType: "InstanceV2DataVolumesList",
1233
+ },
1234
+ interfaces: {
1235
+ value: cdktf.listMapperHcl(instanceV2InterfacesToHclTerraform, true)(this._interfaces.internalValue),
1236
+ isBlock: true,
1237
+ type: "set",
1238
+ storageClassType: "InstanceV2InterfacesList",
1239
+ },
1240
+ };
1241
+ // remove undefined attributes
1242
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1243
+ }
1244
+ }