@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,751 @@
1
+ // https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/subnet
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function subnetMetadataReadOnlyToTerraform(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
+ }
13
+ export function subnetMetadataReadOnlyToHclTerraform(struct) {
14
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
15
+ return struct;
16
+ }
17
+ if (cdktf.isComplexElement(struct)) {
18
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
19
+ }
20
+ const attrs = {};
21
+ return attrs;
22
+ }
23
+ export class SubnetMetadataReadOnlyOutputReference extends cdktf.ComplexObject {
24
+ isEmptyObject = false;
25
+ /**
26
+ * @param terraformResource The parent resource
27
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
28
+ * @param complexObjectIndex the index of this item in the list
29
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
30
+ */
31
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
32
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
33
+ }
34
+ get internalValue() {
35
+ let hasAnyValues = this.isEmptyObject;
36
+ const internalValueResult = {};
37
+ return hasAnyValues ? internalValueResult : undefined;
38
+ }
39
+ set internalValue(value) {
40
+ if (value === undefined) {
41
+ this.isEmptyObject = false;
42
+ }
43
+ else {
44
+ this.isEmptyObject = Object.keys(value).length === 0;
45
+ }
46
+ }
47
+ // key - computed: true, optional: false, required: false
48
+ get key() {
49
+ return this.getStringAttribute('key');
50
+ }
51
+ // read_only - computed: true, optional: false, required: false
52
+ get readOnly() {
53
+ return this.getBooleanAttribute('read_only');
54
+ }
55
+ // value - computed: true, optional: false, required: false
56
+ get value() {
57
+ return this.getStringAttribute('value');
58
+ }
59
+ }
60
+ export class SubnetMetadataReadOnlyList extends cdktf.ComplexList {
61
+ terraformResource;
62
+ terraformAttribute;
63
+ wrapsSet;
64
+ /**
65
+ * @param terraformResource The parent resource
66
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
67
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
68
+ */
69
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
70
+ super(terraformResource, terraformAttribute, wrapsSet);
71
+ this.terraformResource = terraformResource;
72
+ this.terraformAttribute = terraformAttribute;
73
+ this.wrapsSet = wrapsSet;
74
+ }
75
+ /**
76
+ * @param index the index of the item to return
77
+ */
78
+ get(index) {
79
+ return new SubnetMetadataReadOnlyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
80
+ }
81
+ }
82
+ export function subnetAllocationPoolsToTerraform(struct) {
83
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
84
+ return struct;
85
+ }
86
+ if (cdktf.isComplexElement(struct)) {
87
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
88
+ }
89
+ return {
90
+ end: cdktf.stringToTerraform(struct.end),
91
+ start: cdktf.stringToTerraform(struct.start),
92
+ };
93
+ }
94
+ export function subnetAllocationPoolsToHclTerraform(struct) {
95
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
96
+ return struct;
97
+ }
98
+ if (cdktf.isComplexElement(struct)) {
99
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
100
+ }
101
+ const attrs = {
102
+ end: {
103
+ value: cdktf.stringToHclTerraform(struct.end),
104
+ isBlock: false,
105
+ type: "simple",
106
+ storageClassType: "string",
107
+ },
108
+ start: {
109
+ value: cdktf.stringToHclTerraform(struct.start),
110
+ isBlock: false,
111
+ type: "simple",
112
+ storageClassType: "string",
113
+ },
114
+ };
115
+ // remove undefined attributes
116
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
117
+ }
118
+ export class SubnetAllocationPoolsOutputReference extends cdktf.ComplexObject {
119
+ isEmptyObject = false;
120
+ resolvableValue;
121
+ /**
122
+ * @param terraformResource The parent resource
123
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
124
+ * @param complexObjectIndex the index of this item in the list
125
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
126
+ */
127
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
128
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
129
+ }
130
+ get internalValue() {
131
+ if (this.resolvableValue) {
132
+ return this.resolvableValue;
133
+ }
134
+ let hasAnyValues = this.isEmptyObject;
135
+ const internalValueResult = {};
136
+ if (this._end !== undefined) {
137
+ hasAnyValues = true;
138
+ internalValueResult.end = this._end;
139
+ }
140
+ if (this._start !== undefined) {
141
+ hasAnyValues = true;
142
+ internalValueResult.start = this._start;
143
+ }
144
+ return hasAnyValues ? internalValueResult : undefined;
145
+ }
146
+ set internalValue(value) {
147
+ if (value === undefined) {
148
+ this.isEmptyObject = false;
149
+ this.resolvableValue = undefined;
150
+ this._end = undefined;
151
+ this._start = undefined;
152
+ }
153
+ else if (cdktf.Tokenization.isResolvable(value)) {
154
+ this.isEmptyObject = false;
155
+ this.resolvableValue = value;
156
+ }
157
+ else {
158
+ this.isEmptyObject = Object.keys(value).length === 0;
159
+ this.resolvableValue = undefined;
160
+ this._end = value.end;
161
+ this._start = value.start;
162
+ }
163
+ }
164
+ // end - computed: false, optional: false, required: true
165
+ _end;
166
+ get end() {
167
+ return this.getStringAttribute('end');
168
+ }
169
+ set end(value) {
170
+ this._end = value;
171
+ }
172
+ // Temporarily expose input value. Use with caution.
173
+ get endInput() {
174
+ return this._end;
175
+ }
176
+ // start - computed: false, optional: false, required: true
177
+ _start;
178
+ get start() {
179
+ return this.getStringAttribute('start');
180
+ }
181
+ set start(value) {
182
+ this._start = value;
183
+ }
184
+ // Temporarily expose input value. Use with caution.
185
+ get startInput() {
186
+ return this._start;
187
+ }
188
+ }
189
+ export class SubnetAllocationPoolsList extends cdktf.ComplexList {
190
+ terraformResource;
191
+ terraformAttribute;
192
+ wrapsSet;
193
+ internalValue;
194
+ /**
195
+ * @param terraformResource The parent resource
196
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
197
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
198
+ */
199
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
200
+ super(terraformResource, terraformAttribute, wrapsSet);
201
+ this.terraformResource = terraformResource;
202
+ this.terraformAttribute = terraformAttribute;
203
+ this.wrapsSet = wrapsSet;
204
+ }
205
+ /**
206
+ * @param index the index of the item to return
207
+ */
208
+ get(index) {
209
+ return new SubnetAllocationPoolsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
210
+ }
211
+ }
212
+ export function subnetHostRoutesToTerraform(struct) {
213
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
214
+ return struct;
215
+ }
216
+ if (cdktf.isComplexElement(struct)) {
217
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
218
+ }
219
+ return {
220
+ destination: cdktf.stringToTerraform(struct.destination),
221
+ nexthop: cdktf.stringToTerraform(struct.nexthop),
222
+ };
223
+ }
224
+ export function subnetHostRoutesToHclTerraform(struct) {
225
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
226
+ return struct;
227
+ }
228
+ if (cdktf.isComplexElement(struct)) {
229
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
230
+ }
231
+ const attrs = {
232
+ destination: {
233
+ value: cdktf.stringToHclTerraform(struct.destination),
234
+ isBlock: false,
235
+ type: "simple",
236
+ storageClassType: "string",
237
+ },
238
+ nexthop: {
239
+ value: cdktf.stringToHclTerraform(struct.nexthop),
240
+ isBlock: false,
241
+ type: "simple",
242
+ storageClassType: "string",
243
+ },
244
+ };
245
+ // remove undefined attributes
246
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
247
+ }
248
+ export class SubnetHostRoutesOutputReference extends cdktf.ComplexObject {
249
+ isEmptyObject = false;
250
+ resolvableValue;
251
+ /**
252
+ * @param terraformResource The parent resource
253
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
254
+ * @param complexObjectIndex the index of this item in the list
255
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
256
+ */
257
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
258
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
259
+ }
260
+ get internalValue() {
261
+ if (this.resolvableValue) {
262
+ return this.resolvableValue;
263
+ }
264
+ let hasAnyValues = this.isEmptyObject;
265
+ const internalValueResult = {};
266
+ if (this._destination !== undefined) {
267
+ hasAnyValues = true;
268
+ internalValueResult.destination = this._destination;
269
+ }
270
+ if (this._nexthop !== undefined) {
271
+ hasAnyValues = true;
272
+ internalValueResult.nexthop = this._nexthop;
273
+ }
274
+ return hasAnyValues ? internalValueResult : undefined;
275
+ }
276
+ set internalValue(value) {
277
+ if (value === undefined) {
278
+ this.isEmptyObject = false;
279
+ this.resolvableValue = undefined;
280
+ this._destination = undefined;
281
+ this._nexthop = undefined;
282
+ }
283
+ else if (cdktf.Tokenization.isResolvable(value)) {
284
+ this.isEmptyObject = false;
285
+ this.resolvableValue = value;
286
+ }
287
+ else {
288
+ this.isEmptyObject = Object.keys(value).length === 0;
289
+ this.resolvableValue = undefined;
290
+ this._destination = value.destination;
291
+ this._nexthop = value.nexthop;
292
+ }
293
+ }
294
+ // destination - computed: false, optional: false, required: true
295
+ _destination;
296
+ get destination() {
297
+ return this.getStringAttribute('destination');
298
+ }
299
+ set destination(value) {
300
+ this._destination = value;
301
+ }
302
+ // Temporarily expose input value. Use with caution.
303
+ get destinationInput() {
304
+ return this._destination;
305
+ }
306
+ // nexthop - computed: false, optional: false, required: true
307
+ _nexthop;
308
+ get nexthop() {
309
+ return this.getStringAttribute('nexthop');
310
+ }
311
+ set nexthop(value) {
312
+ this._nexthop = value;
313
+ }
314
+ // Temporarily expose input value. Use with caution.
315
+ get nexthopInput() {
316
+ return this._nexthop;
317
+ }
318
+ }
319
+ export class SubnetHostRoutesList extends cdktf.ComplexList {
320
+ terraformResource;
321
+ terraformAttribute;
322
+ wrapsSet;
323
+ internalValue;
324
+ /**
325
+ * @param terraformResource The parent resource
326
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
327
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
328
+ */
329
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
330
+ super(terraformResource, terraformAttribute, wrapsSet);
331
+ this.terraformResource = terraformResource;
332
+ this.terraformAttribute = terraformAttribute;
333
+ this.wrapsSet = wrapsSet;
334
+ }
335
+ /**
336
+ * @param index the index of the item to return
337
+ */
338
+ get(index) {
339
+ return new SubnetHostRoutesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
340
+ }
341
+ }
342
+ /**
343
+ * Represents a {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/subnet edgecenter_subnet}
344
+ */
345
+ export class Subnet extends cdktf.TerraformResource {
346
+ // =================
347
+ // STATIC PROPERTIES
348
+ // =================
349
+ static tfResourceType = "edgecenter_subnet";
350
+ // ==============
351
+ // STATIC Methods
352
+ // ==============
353
+ /**
354
+ * Generates CDKTF code for importing a Subnet resource upon running "cdktf plan <stack-name>"
355
+ * @param scope The scope in which to define this construct
356
+ * @param importToId The construct id used in the generated config for the Subnet to import
357
+ * @param importFromId The id of the existing Subnet that should be imported. Refer to the {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/subnet#import import section} in the documentation of this resource for the id to use
358
+ * @param provider? Optional instance of the provider where the Subnet to import is found
359
+ */
360
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
361
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "edgecenter_subnet", importId: importFromId, provider });
362
+ }
363
+ // ===========
364
+ // INITIALIZER
365
+ // ===========
366
+ /**
367
+ * Create a new {@link https://registry.terraform.io/providers/edge-center/edgecenter/0.10.4/docs/resources/subnet edgecenter_subnet} Resource
368
+ *
369
+ * @param scope The scope in which to define this construct
370
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
371
+ * @param options SubnetConfig
372
+ */
373
+ constructor(scope, id, config) {
374
+ super(scope, id, {
375
+ terraformResourceType: 'edgecenter_subnet',
376
+ terraformGeneratorMetadata: {
377
+ providerName: 'edgecenter',
378
+ providerVersion: '0.10.4',
379
+ providerVersionConstraint: '0.10.4'
380
+ },
381
+ provider: config.provider,
382
+ dependsOn: config.dependsOn,
383
+ count: config.count,
384
+ lifecycle: config.lifecycle,
385
+ provisioners: config.provisioners,
386
+ connection: config.connection,
387
+ forEach: config.forEach
388
+ });
389
+ this._cidr = config.cidr;
390
+ this._connectToNetworkRouter = config.connectToNetworkRouter;
391
+ this._dnsNameservers = config.dnsNameservers;
392
+ this._enableDhcp = config.enableDhcp;
393
+ this._gatewayIp = config.gatewayIp;
394
+ this._id = config.id;
395
+ this._metadataMap = config.metadataMap;
396
+ this._name = config.name;
397
+ this._networkId = config.networkId;
398
+ this._projectId = config.projectId;
399
+ this._projectName = config.projectName;
400
+ this._regionId = config.regionId;
401
+ this._regionName = config.regionName;
402
+ this._allocationPools.internalValue = config.allocationPools;
403
+ this._hostRoutes.internalValue = config.hostRoutes;
404
+ }
405
+ // ==========
406
+ // ATTRIBUTES
407
+ // ==========
408
+ // cidr - computed: false, optional: false, required: true
409
+ _cidr;
410
+ get cidr() {
411
+ return this.getStringAttribute('cidr');
412
+ }
413
+ set cidr(value) {
414
+ this._cidr = value;
415
+ }
416
+ // Temporarily expose input value. Use with caution.
417
+ get cidrInput() {
418
+ return this._cidr;
419
+ }
420
+ // connect_to_network_router - computed: false, optional: true, required: false
421
+ _connectToNetworkRouter;
422
+ get connectToNetworkRouter() {
423
+ return this.getBooleanAttribute('connect_to_network_router');
424
+ }
425
+ set connectToNetworkRouter(value) {
426
+ this._connectToNetworkRouter = value;
427
+ }
428
+ resetConnectToNetworkRouter() {
429
+ this._connectToNetworkRouter = undefined;
430
+ }
431
+ // Temporarily expose input value. Use with caution.
432
+ get connectToNetworkRouterInput() {
433
+ return this._connectToNetworkRouter;
434
+ }
435
+ // dns_nameservers - computed: false, optional: true, required: false
436
+ _dnsNameservers;
437
+ get dnsNameservers() {
438
+ return this.getListAttribute('dns_nameservers');
439
+ }
440
+ set dnsNameservers(value) {
441
+ this._dnsNameservers = value;
442
+ }
443
+ resetDnsNameservers() {
444
+ this._dnsNameservers = undefined;
445
+ }
446
+ // Temporarily expose input value. Use with caution.
447
+ get dnsNameserversInput() {
448
+ return this._dnsNameservers;
449
+ }
450
+ // enable_dhcp - computed: false, optional: true, required: false
451
+ _enableDhcp;
452
+ get enableDhcp() {
453
+ return this.getBooleanAttribute('enable_dhcp');
454
+ }
455
+ set enableDhcp(value) {
456
+ this._enableDhcp = value;
457
+ }
458
+ resetEnableDhcp() {
459
+ this._enableDhcp = undefined;
460
+ }
461
+ // Temporarily expose input value. Use with caution.
462
+ get enableDhcpInput() {
463
+ return this._enableDhcp;
464
+ }
465
+ // gateway_ip - computed: false, optional: true, required: false
466
+ _gatewayIp;
467
+ get gatewayIp() {
468
+ return this.getStringAttribute('gateway_ip');
469
+ }
470
+ set gatewayIp(value) {
471
+ this._gatewayIp = value;
472
+ }
473
+ resetGatewayIp() {
474
+ this._gatewayIp = undefined;
475
+ }
476
+ // Temporarily expose input value. Use with caution.
477
+ get gatewayIpInput() {
478
+ return this._gatewayIp;
479
+ }
480
+ // id - computed: true, optional: true, required: false
481
+ _id;
482
+ get id() {
483
+ return this.getStringAttribute('id');
484
+ }
485
+ set id(value) {
486
+ this._id = value;
487
+ }
488
+ resetId() {
489
+ this._id = undefined;
490
+ }
491
+ // Temporarily expose input value. Use with caution.
492
+ get idInput() {
493
+ return this._id;
494
+ }
495
+ // last_updated - computed: true, optional: false, required: false
496
+ get lastUpdated() {
497
+ return this.getStringAttribute('last_updated');
498
+ }
499
+ // metadata_map - computed: false, optional: true, required: false
500
+ _metadataMap;
501
+ get metadataMap() {
502
+ return this.getStringMapAttribute('metadata_map');
503
+ }
504
+ set metadataMap(value) {
505
+ this._metadataMap = value;
506
+ }
507
+ resetMetadataMap() {
508
+ this._metadataMap = undefined;
509
+ }
510
+ // Temporarily expose input value. Use with caution.
511
+ get metadataMapInput() {
512
+ return this._metadataMap;
513
+ }
514
+ // metadata_read_only - computed: true, optional: false, required: false
515
+ _metadataReadOnly = new SubnetMetadataReadOnlyList(this, "metadata_read_only", false);
516
+ get metadataReadOnly() {
517
+ return this._metadataReadOnly;
518
+ }
519
+ // name - computed: false, optional: false, required: true
520
+ _name;
521
+ get name() {
522
+ return this.getStringAttribute('name');
523
+ }
524
+ set name(value) {
525
+ this._name = value;
526
+ }
527
+ // Temporarily expose input value. Use with caution.
528
+ get nameInput() {
529
+ return this._name;
530
+ }
531
+ // network_id - computed: false, optional: false, required: true
532
+ _networkId;
533
+ get networkId() {
534
+ return this.getStringAttribute('network_id');
535
+ }
536
+ set networkId(value) {
537
+ this._networkId = value;
538
+ }
539
+ // Temporarily expose input value. Use with caution.
540
+ get networkIdInput() {
541
+ return this._networkId;
542
+ }
543
+ // project_id - computed: true, optional: true, required: false
544
+ _projectId;
545
+ get projectId() {
546
+ return this.getNumberAttribute('project_id');
547
+ }
548
+ set projectId(value) {
549
+ this._projectId = value;
550
+ }
551
+ resetProjectId() {
552
+ this._projectId = undefined;
553
+ }
554
+ // Temporarily expose input value. Use with caution.
555
+ get projectIdInput() {
556
+ return this._projectId;
557
+ }
558
+ // project_name - computed: true, optional: true, required: false
559
+ _projectName;
560
+ get projectName() {
561
+ return this.getStringAttribute('project_name');
562
+ }
563
+ set projectName(value) {
564
+ this._projectName = value;
565
+ }
566
+ resetProjectName() {
567
+ this._projectName = undefined;
568
+ }
569
+ // Temporarily expose input value. Use with caution.
570
+ get projectNameInput() {
571
+ return this._projectName;
572
+ }
573
+ // region_id - computed: true, optional: true, required: false
574
+ _regionId;
575
+ get regionId() {
576
+ return this.getNumberAttribute('region_id');
577
+ }
578
+ set regionId(value) {
579
+ this._regionId = value;
580
+ }
581
+ resetRegionId() {
582
+ this._regionId = undefined;
583
+ }
584
+ // Temporarily expose input value. Use with caution.
585
+ get regionIdInput() {
586
+ return this._regionId;
587
+ }
588
+ // region_name - computed: true, optional: true, required: false
589
+ _regionName;
590
+ get regionName() {
591
+ return this.getStringAttribute('region_name');
592
+ }
593
+ set regionName(value) {
594
+ this._regionName = value;
595
+ }
596
+ resetRegionName() {
597
+ this._regionName = undefined;
598
+ }
599
+ // Temporarily expose input value. Use with caution.
600
+ get regionNameInput() {
601
+ return this._regionName;
602
+ }
603
+ // allocation_pools - computed: false, optional: true, required: false
604
+ _allocationPools = new SubnetAllocationPoolsList(this, "allocation_pools", true);
605
+ get allocationPools() {
606
+ return this._allocationPools;
607
+ }
608
+ putAllocationPools(value) {
609
+ this._allocationPools.internalValue = value;
610
+ }
611
+ resetAllocationPools() {
612
+ this._allocationPools.internalValue = undefined;
613
+ }
614
+ // Temporarily expose input value. Use with caution.
615
+ get allocationPoolsInput() {
616
+ return this._allocationPools.internalValue;
617
+ }
618
+ // host_routes - computed: false, optional: true, required: false
619
+ _hostRoutes = new SubnetHostRoutesList(this, "host_routes", false);
620
+ get hostRoutes() {
621
+ return this._hostRoutes;
622
+ }
623
+ putHostRoutes(value) {
624
+ this._hostRoutes.internalValue = value;
625
+ }
626
+ resetHostRoutes() {
627
+ this._hostRoutes.internalValue = undefined;
628
+ }
629
+ // Temporarily expose input value. Use with caution.
630
+ get hostRoutesInput() {
631
+ return this._hostRoutes.internalValue;
632
+ }
633
+ // =========
634
+ // SYNTHESIS
635
+ // =========
636
+ synthesizeAttributes() {
637
+ return {
638
+ cidr: cdktf.stringToTerraform(this._cidr),
639
+ connect_to_network_router: cdktf.booleanToTerraform(this._connectToNetworkRouter),
640
+ dns_nameservers: cdktf.listMapper(cdktf.stringToTerraform, false)(this._dnsNameservers),
641
+ enable_dhcp: cdktf.booleanToTerraform(this._enableDhcp),
642
+ gateway_ip: cdktf.stringToTerraform(this._gatewayIp),
643
+ id: cdktf.stringToTerraform(this._id),
644
+ metadata_map: cdktf.hashMapper(cdktf.stringToTerraform)(this._metadataMap),
645
+ name: cdktf.stringToTerraform(this._name),
646
+ network_id: cdktf.stringToTerraform(this._networkId),
647
+ project_id: cdktf.numberToTerraform(this._projectId),
648
+ project_name: cdktf.stringToTerraform(this._projectName),
649
+ region_id: cdktf.numberToTerraform(this._regionId),
650
+ region_name: cdktf.stringToTerraform(this._regionName),
651
+ allocation_pools: cdktf.listMapper(subnetAllocationPoolsToTerraform, true)(this._allocationPools.internalValue),
652
+ host_routes: cdktf.listMapper(subnetHostRoutesToTerraform, true)(this._hostRoutes.internalValue),
653
+ };
654
+ }
655
+ synthesizeHclAttributes() {
656
+ const attrs = {
657
+ cidr: {
658
+ value: cdktf.stringToHclTerraform(this._cidr),
659
+ isBlock: false,
660
+ type: "simple",
661
+ storageClassType: "string",
662
+ },
663
+ connect_to_network_router: {
664
+ value: cdktf.booleanToHclTerraform(this._connectToNetworkRouter),
665
+ isBlock: false,
666
+ type: "simple",
667
+ storageClassType: "boolean",
668
+ },
669
+ dns_nameservers: {
670
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._dnsNameservers),
671
+ isBlock: false,
672
+ type: "list",
673
+ storageClassType: "stringList",
674
+ },
675
+ enable_dhcp: {
676
+ value: cdktf.booleanToHclTerraform(this._enableDhcp),
677
+ isBlock: false,
678
+ type: "simple",
679
+ storageClassType: "boolean",
680
+ },
681
+ gateway_ip: {
682
+ value: cdktf.stringToHclTerraform(this._gatewayIp),
683
+ isBlock: false,
684
+ type: "simple",
685
+ storageClassType: "string",
686
+ },
687
+ id: {
688
+ value: cdktf.stringToHclTerraform(this._id),
689
+ isBlock: false,
690
+ type: "simple",
691
+ storageClassType: "string",
692
+ },
693
+ metadata_map: {
694
+ value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._metadataMap),
695
+ isBlock: false,
696
+ type: "map",
697
+ storageClassType: "stringMap",
698
+ },
699
+ name: {
700
+ value: cdktf.stringToHclTerraform(this._name),
701
+ isBlock: false,
702
+ type: "simple",
703
+ storageClassType: "string",
704
+ },
705
+ network_id: {
706
+ value: cdktf.stringToHclTerraform(this._networkId),
707
+ isBlock: false,
708
+ type: "simple",
709
+ storageClassType: "string",
710
+ },
711
+ project_id: {
712
+ value: cdktf.numberToHclTerraform(this._projectId),
713
+ isBlock: false,
714
+ type: "simple",
715
+ storageClassType: "number",
716
+ },
717
+ project_name: {
718
+ value: cdktf.stringToHclTerraform(this._projectName),
719
+ isBlock: false,
720
+ type: "simple",
721
+ storageClassType: "string",
722
+ },
723
+ region_id: {
724
+ value: cdktf.numberToHclTerraform(this._regionId),
725
+ isBlock: false,
726
+ type: "simple",
727
+ storageClassType: "number",
728
+ },
729
+ region_name: {
730
+ value: cdktf.stringToHclTerraform(this._regionName),
731
+ isBlock: false,
732
+ type: "simple",
733
+ storageClassType: "string",
734
+ },
735
+ allocation_pools: {
736
+ value: cdktf.listMapperHcl(subnetAllocationPoolsToHclTerraform, true)(this._allocationPools.internalValue),
737
+ isBlock: true,
738
+ type: "set",
739
+ storageClassType: "SubnetAllocationPoolsList",
740
+ },
741
+ host_routes: {
742
+ value: cdktf.listMapperHcl(subnetHostRoutesToHclTerraform, true)(this._hostRoutes.internalValue),
743
+ isBlock: true,
744
+ type: "list",
745
+ storageClassType: "SubnetHostRoutesList",
746
+ },
747
+ };
748
+ // remove undefined attributes
749
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
750
+ }
751
+ }